Friday, November 11, 2011

My response to the Gasarch P vs NP poll

A while back GASARCH solicited responses to a P vs NP poll and gave Oct 31 as the deadline. Now that the deadline is passed I post my answers.
  1. Does P=NP? I think P is NOT NP. However, I am not dogmatic on this. When I first saw the Graph Minor Theorem used to get Vertex Cover for fixed k into O(n3) times I thought that a different very-hard-math-thing-that-I-don't-understand might be able to get SAT in P. Also, I am more convinced that separating the two is hard then I am convinced that they are different. Litmus test: If someone told me that the problem had been solved, but not which direction, I would guess P=NP. SIDE NOTE: My wife thinks P is NOT NP since If P=NP then they would have proven it by now. This argument may become more compelling as time goes on.
  2. When do you think it will be resolved? Between 200 and 400 years from now. Jon Katz told me: If its not solved within 200 years its not going to be solved..
  3. What kinds of techniques will be used?
    1. Fermat didn't know about Elliptic Curves. Similarly, we do not know the techniques.
    2. I hope its Ramsey Theory and Logic so I might understand the proof.
    3. If it comes out of Geometric Complexity Theory I will not understand the proof.
    4. We will show that P ≠ NP by showing that FACTORING is not in P. SAT might not be a good candidate for separation. This kind of thing has happened before (once): The proof that AC0 ≠ NC1 was done by showing PARITY not in AC0. PARITY is not complete for NC1 under AC0 reduction. The word problem for S5 is, but was not useful for separation. Factoring may be a better candidate for separation since you can generate instances that seem hard, where for SAT this seems hard to do.
    5. Ryan Williams great result shows that there are still things we can do with what we know now. Is P vs NP one of them? NO.
  4. Will the problem still be relevant given advances in SAT solvers? YES. Sat Solvers are GREAT and can solve lots of things- perhaps more than we had thought. But there are still lots that are not. The 17x17 problems has resisted attempts by SAT solvers to solve it (or so I've been told). The problem is a 4-CNF with 4 × 172 vars (not that many), and roughly 4 × 174clauses (too many).
  5. Feel Free to comment on other things:
    1. Graph Isomorphism: We will show P ≠ NP but still not know the status of GI. OR we could find that GI is in P tomorrow.
    2. As noted above, we will show Factoring is NOT in P.
    3. Quantum Computers will never be practical; however, see next note.
    4. Just as the Prob Method is now a STANDARD thing to know even if you are not working on probability, Quantum methods will be a standard thing to know even if you don't work on quantum computing.
    5. We will show L=RL before I do this poll again.
    6. Within 10 years all supermarkets will have self-checkouts that work nicely and that you are expected to use--- except in New Jersey which will outlaw them to create more jobs (as they do now for self-service gas).

Wednesday, November 09, 2011

Making Money the (Computationally) Hard Way

Digital cash systems have come and gone but Bitcoin seems to be doing okay. By request I am giving a lecture about Bitcoin in my crypto class. Most of the material I find about Bitcoin is either very high level for a typical user or very low-level detail for the implementer. In this post I'll try to hit the middle ground.

Bitcoin tries a different approach to digital case. Their goal is not anonymity but more a cash system that works in a peer-to-peer network without a central authority.

The basics of Bitcoin come from a paper by the mysterious Satoshi Nakamoto. The Bitcoin systems doesn't use encryption but it does make strong use of secure hash functions and digital signatures. A user establishes an account by creating public and private keys for an elliptic-curve based signature scheme. A hash of the public key serves as the account number.

A transaction from person A to B roughly consists of the amount, a link to an earlier transaction where A received bitcoins, B's account number, A's public key and A's signature of all of the above. Transactions are transmitted to everyone. More general transactions are also possible.

Transactions aren't accepted until they appear in a block. A block consists of a hash-tree of transactions, an extra transaction giving 50 bitcoins to the block creator (this will decrease over time), a hash of the previous block, a time stamp and something called a nonce. The nonce is just an extra number chosen so that the hash of the block has a certain number of zeros in the right place.

You create money by creating blocks which requires finding the right nonce, a computationally difficult task. The number of zeros is set so that a new block is created on average every ten minutes. A transaction is accepted when there is a chain of six block starting with the one where the transaction occurs. This prevents double spending as that firmly establishes this chain as the "official" one.

There's a lot more details but the idea is a clever use of computation to mine money like one can mine gold with considerable effort. Or you can get money by trading goods or services (or real currency).

Not clear to me that it could scale for wide-spread use but still quite a clever and so far working system.

Monday, November 07, 2011

The Annual Fall Jobs Post

For these looking for an academic job in computer science next year, best to start on the jobs pages of the CRA and the ACM. Both lists seem long this year, perhaps the job market is finally beginning to pick up.
Also check out the postdoc opportunities on Theory Announcements.

Feel free to list other job opportunities in the comments.

My department has two faculty positions for next year. Neither one specifically in theoretical computer science but we do plan to treat the areas broadly.

My advice: Apply widely, the job market is quite unpredictable. Put real effort into your research statement and be sure your CV is informative yet concise. Most importantly: Choose your letter writers well.

Thursday, November 03, 2011

Journals

What is the purpose of an academic journal? To provide a permanent vetted record of a specific research endeavor.

The ways we communicate scientific research has vastly improved, particularly with the advent of the Internet, but the need for that basic mission will never go away.

Noam Nisan laments that journals do not provide a quick form of dissemination or do the proper amount of vetting. He's correct on both points. Computer scientists need to take journals more seriously to improve the vetting process and the speed to publication. But also journals have never played the role of quick dissemination in computer science. That role has been taken by conferences, departmental technical reports and more recently on-line archives. Journals don't compete with sites like ArXiv, they play different roles.

Tim Gowers suggests a commenting/scoring system for reviewing papers. I'd love to see such a system built into ArXiv and ECCC. But it won't supplant the need for academic journals. Most papers won't get reviewed and most researchers won't review papers. Collaborative projects like Wikipedia, Polymath, Math Overflow (and the TCS descendant) are incredible resources but just a small number of researchers are significantly involved. If you reward people for reviewing papers (through reputation or otherwise) then people can decide not to review guilt free. 

We are moving to a world where we rank research papers not on where they appear but by how many citations they achieve, a statistic the Internet has made easier to measure. One can cite an ArXiv paper just as easily as a JACM paper. The incentives for an author to do more than throw up a paper on an on-line site are going away. We will no longer fulfill the mission of journals and future scientists will struggle understanding the how and why of what we did. Is this the gift we want to leave to the next generation?

Monday, October 31, 2011

The Digital Random Bit Generator

I started this month asking about the nature of randomness and how we generate it for our computers. Let me end the month talking about Intel's clever new digital approach to creating random bits.

Intel chips used to have an analog random bit generator based on noise in the circuits. But improved circuits reduced the noise limiting the effectiveness of these generators.

In the September IEEE Spectrum, Intel Architects Greg Taylor and George Cox give an overview of a digital random bit generator will sit in future Intel chips. The article is a short and fun read.

The heart of the article describe a simple digital circuit.
Initially when both transistors cause full voltage at both Nodes A and B. Intel had to use special inverters (NOT gates) that can withstand not being able to invert at this point. A clock signal slowly turns off the transistors and the inverters go to work reducing A and B to an equilibrium of half voltage each.

The magic now happens. This isn't a stable equilibrium so even the slightest noise quickly drives one of the nodes to full voltage and the other to no voltage. Which node goes to one depends on the direction of the noise and that's how you get your random bit.

Taylor and Cox find an idea that they might have sketched on a napkin and yet gives an incredible simple and elegant solution to an important problem. This is why I love computer science.

Tuesday, October 25, 2011

John McCarthy (1927-2011)

First Steve and then Dennis and now we have the death of a third computing pioneer this month. John McCarthy passed away earlier this week at the age of 84.

McCarthy was one of the founders and early promoters of Artificial Intelligence and gave the field its name. He developed Lisp for the same reason Newton invented calculus, he needed a system to do his research so he created his own. Lisp, built on Church's λ-calculus, was the first popular example of a functional programming language, an entirely different way to think about programming than the more structured languages. McCarthy received the ACM Turing Award in 1971.

McCarthy truly believed a computer could capture human intelligence and his pioneering work may yet help make that happen.

Monday, October 24, 2011

It's Open Access Week

Open Access Week starts today. Interestingly a number of traditional journal publishers, like Springer, are sponsors as they try to figure out how to modify their business model in a changing publication environment.

We'd love all our papers to be as widely available as possible but no journals are truly free. They either need a revenue stream whether that comes from authors, readers, libraries or some other outside source, or require a considerable amount of volunteer effort and coordination beyond just editing and reviewing.

I found out about Open Access Week from the ACM as they are promoting their Author-ize service that lets authors give a link on their home pages that allows their readers to freely download the ACM version of their papers. I consider ACM one of the good publishers, reasonably priced, and they've already allowed us to publish our own papers on their website and use them in other publications. David Rosenthal has other opinions.

There is a pledge Research Without Walls going around to "assist in the peer review process (as a reviewer, board/committee member, chair, editor, etc.) only for conferences, journals, and other publication venues that make all accepted publications available to the public for free via the web." Are you signers willing to forgo serving on a STOC or FOCS PC?

I heard a great (though hard to parse) quote second hand from an economist about the ethics of illegally downloading music.
If if I had to pay for it I would pay for it then I will pay for it.
The iTunes model addressed this concern by pricing music so cheaply that one would feel better paying for it than not. Academic publishers should learn this lesson and also price downloads of research papers at $0.99.

My biggest fear of the open access movement is that without a strong alternative model it will just lead to even less CS papers getting published in journals. Even open access won't give access to a paper never written.

Friday, October 21, 2011

The Cup Holder Principle


The story goes that when Toyota engineers started to design the first cup holders in the 80's, they went to a local 7-11 and got every different cup 7-11 had to make sure their design would work on all the cups in current use. These days the cup designers have to make sure their cups will work in today's cup holders.

This is one of the starkest examples of initial Technology for A being driven by B and now the technology for A drives the technology for B.

How much does this happen in theoretical computer science? Do we design algorithms to use an already established data structure? Do we modify our definitions of some object to make it group or a field? Do we create a cryptographic protocol so that some "standard assumption" makes it secure?

Are these good or bad things? Sometimes it is really useful to make square pegs fit into round holes and other times we miss new opportunities.

Wednesday, October 19, 2011

Theorems that are impressive at first but then....

Mission Impossible was my favorite show as a kid. As an adult it would not make my top 20, and I wonder why I liked it so much as a kid. (Actually I do know- at the beginning they are given a well defined problem and they solve it, which is how Math works.)

This inspired this post: Is there some theorem that you were initially impressed with but are now far less impressed? I list things I have heard of for this category. I request that you submit your own examples.
  1. Every number is the sum of 4 squares. This is impressive and still is. Number theorist must use this all the time! Alas, aside from its use in Hilbert's 10th problem, and maybe a few few other places, I has never seen it used and is now less impressed. However, this may be unwarranted. Some theorems in math are impressive for the achievement, others for their use later. This one IS impressive for its achievement. But, as far as I can tell (and I could be wrong), not for its uses.
  2. Every group is a group of permutations. Group Theorists must use this all the time! Alas the proof makes you realize its more of a tautology. Rarely used by Group Theorists. It is used in some of the proofs of Sylow's theorem. I do not know of any others uses. And this one is not impressive for its achievement.
  3. The Prime Number Theorem. Since results that are very very close to it can be gotten with much much much less effort, getting the actual constant down to 1 seems like too much sugar for a cent. (For more on PNT and a link to an easy proof of a weaker version see an old post of mine here.) However, this one is an achievement certainly. And it inspired other great mathematics.
  4. Poincare's Conjecture says that if something looks, feels, and smells like a sphere, then its a sphere. Is that really worth $1,000,000? Perhaps Perelman didn't think so either.

Monday, October 17, 2011

Teaching PCPs to Undergrads

The last few times I've taught undergraduate theory I cover the PCP theorem. It's not complicated if you state it the right way:

PCP Theorem: For any constant α > 7/8, there is a polynomial-time computable function f mapping 3-CNFs to 3-CNFs such that for all formula φ,
  • If φ is satisfiable then f(φ) is satisfiable.
  • If φ is not satisfiable then every assignment to f(φ) satisfies at most an α-fraction of the clauses.
I point out to the class you can satisfy 7/8 of the clauses by just choosing a random assignment.

Also I show how the PCP theorem gives some (weak) approximation bounds for Clique. For each variable in each clause of f(φ) create a node of a graph and connect two nodes as long as they aren't in the same clause or connect a node representing a variable with one representing its negation. That gets you an 8/7-ε approximation lower bound for clique. I give showing a constant approximation lower bound for Vertex cover as a homework assignment.

I don't even try to give an idea of the proof of the PCP theorem. I just say it would take an entire graduate class to cover the proof in its full detail. That's probably a lie, one of our ten-week quarter-long classes is not enough time to prove the very strong version of the PCP theorem stated above. 

Thursday, October 13, 2011

Dennis Ritchie (1941-2011)

We lost another computing pioneer of a very different kind. Dennis Ritchie, who developed C and co-developed Unix, passed away last weekend. Ritchie and Ken Thompson received the 1983 Turing Award for their development of Unix.

In the early 80's I programmed extensively in assembly language on the Apple II and IBM 370. In both cases we needed speed a high-level language couldn't get us. C and Unix let us take advantage of high-level constructs and abstraction and yet retain the full power of the underlying machine. Ritchie changed the way we did computing.

If there is a moment that captures both Jobs and Ritchie, it was in 2002 when the Mac moved to the Unix-based OS X from which also the Apple iOS was later derived. As you play with the new iOS 5, you can't help but think of these great pioneers that made it possible.

Wednesday, October 12, 2011

If Bill Tweeted what would he tweet (Steve Jobs Edition)

  1. A more nuanced view of Steve Jobs: here.
  2. A less nuanced view of Steve Jobs: here.
  3. The next Steve Jobs: here
  4. A very nice NON-Steve Jobs post here.
  5. Is this an appropriate use of logarithms? From Andrew Sullivan's Blog (the boldface is mine):
    In some ways, the emergence of a Republican candidate (Rick Perry) who takes every single aspect of George W. Bush's political persona and adds a logarithm, is a healthy sign. I'd rather have a candidate who is explicitly saying that his politics is based on religion and his political rallies are actually spiritual rallies, than one whose theocratically-driven conservatism is on the downlow.
  6. A type of Math Anxiety
  7. Should people learn math?
  8. The president invokes math: here
  9. A bad idea for a TV series: The intuitionist defense attorney: Just because you proved that A OR B did the crime, and then you showed NOT(A did it), does not mean that you have proven B did it.

Monday, October 10, 2011

More than East and West

The Obama Campaign is creating a Campaign Analytics Team.
Love Data, Predictive Analytics, Social Media and Politics? The Analytics team for the Obama Campaign is hiring full-time analytics engineers and scientists at our headquarters in Chicago!
To find out more, come meet us at the Stanford campus ...
To find good computer scientists, the Obama campaign feels the need to look 1850 miles away. A stark  reminder that especially in the tech world, people often forget that there is an America between Oakland and Philadelphia. Google, IBM, Microsoft and Yahoo have research labs around the globe but generally ignore middle America. Chicago is often considered at best a place to change planes.

Chicago has amazing arts, music, food, sports and architecture, everything you'd want in a city and considerably cheaper than the coasts. We know we have great universities and a strong intellectual core. How many cities have a battle for the minds between the Chicago Ideas Week starting today and the Chicago Humanities Festival beginning next week?

Chicago isn't as well known for its high tech. Computer science in Chicago is good but not yet as strong as it should be. We do have some very strong CS departments nearby at Illinois, Wisconsin, Michigan and Purdue. Chicago has had its successful startups most notably Groupon. Chicago should be a major high tech hub but we need to sell ourselves better.

Next time you are stranded at O'Hare, take the El to the Loop and check out our great city. Prepare to be amazed.

Thursday, October 06, 2011

Steve Jobs 1955-2011

It's one of those events. You'll always remember where you were when you heard that Steve Jobs passed away. I was at dinner with several visiting computer scientists, holdovers from the CCC council meeting earlier in the day. Our iPhones started buzzing and the news quickly spread. We gave a toast to the great Mr. Jobs.

Steve Jobs put the algorithm in our pocket. Computation moved from big rooms to the desktop to something we carry with us every waking minute. Jobs make it happen not just for us tech heads but for everyone. Jobs did it without an algorithm that analyzes data to see what the public wants. Jobs realized it takes an inner vision, a true artist to make the power of computation something we all can use.

Wednesday, October 05, 2011

If you find a mistake in someone elses paper you should....

What do you do if you read a paper or book and find mistakes in it? My first impulse is to say: Email the author. Always be polite and admit (which is true) that you may be misunderstanding something. A few thoughts:
  1. If you offer a suggested correction then MAKE SURE IT IS CORRECT. The author may say Oh, I guess that's a mistake, I better make the correction having thought that you read it carefully. While that may well be the authors responsibility, be very careful. The first rule of proofreading is DO NO HARM.
  2. If the paper is a preprint then the author should be VERY GRATEFUL since they will be able to make the correction before it becomes official. But see next point.
  3. If the paper is already in a journal the author might want to correct the version on their own website. I can picture a day when the version on the authors website or arXiv are BETTER than the so-called official version. So the author should be grateful here as well.
  4. For arguments sake, lets say that in Karp's classic paper Reducibility Among Combinatorial Problems, where he proves 21 problems NP-compete, he made a mistake on 0-1 programming. The problem IS NP-complete and the correct proof is in many textbooks (also, anyone reading this blog can probably do it themselves). Is it worth wasting Karp's time with this?
  5. Most authors will be surprised and delighted that someone read their paper.
  6. Some authors won't care. Either they left the field or they don't care about the constant they got wrong or they don't want to be bothered. That is their right; however, what to do? You can't publish an erratum for them.
  7. In High School while studying some Combinatorics I came across the following passage.
    The number of ways to arrange n distinct objects is n × (n-1) × ... × 1. For example, the number of ways to arrange 5 distinct objects is 5!.
    I did not understand why they were so excited about the answer. Using an exclamation point seemed over the top. And CLEARLY there were two mistakes!
    1. The answer of 5 is WRONG. The answer should be 5 × 4 × 3 × 2 × 1 = 120.
    2. There is a spurious period after the exclamation point.
    Unfortunately I did not contact them. The mistakes are still there.

Monday, October 03, 2011

What is Random?

One can get into great philosophical debates on what is randomness. Information that we can't compress. Information that's unpredictable. Information that we are willing to bet on. 

When I define a probabilistic Turing machine I give it a special "coin state" which it enters and magically lands in a special "heads" state and "tails" state uniformly and independently each time. I imagine a computer hooked up to a little box with a coin inside that gets flipped and some sensor or camera determines whether it landed heads or tails.

I have no problems thinking about probabilistic computation just like I have no issues with quantum machines which haven't been built yet or nondeterministic machines which will never exist.

We don't care where those random bits come from as long as they fulfill the right properties. Of course our computers don't have little coin boxes so they generate randomness using pseudorandom generators which don't fulfill all the properties we expect from true randomness. So we developed theories of PRGs and under what assumptions good PRGs exist. Whether we can use them depends on whether we use randomness for searching or hiding.

We can't disprove that BPP = NEXP (everything in nondeterministic exponential time can be solved in probabilistic polynomial time). Then true randomness will give us the secrets of the universe and PRGs won't help much. Random bits would be worth their weight in gold but can we get them? I'd make a fortune selling little coin boxes. 


Friday, September 30, 2011

Bibliographies

Lots of buzz about Princeton's new policy that prevents faculty from giving away the right to publish papers on their own web pages. Never seen faculty so happy to have their rights restricted.

Princeton is behind the game for Computer Science.  All the major publishers I use explicitly give the right to authors to publish their own versions of papers on their web pages including ACM, IEEE, Springer and Elsevier. Even before, publishers rarely went after authors' pages. I have posted FOCS and Complexity papers for years and IEEE just updated their policy last November. Also see this discussion about ACM giving authors links so their visitors can freely download the official ACM versions of their papers.

We have these rights so EXERCISE THEM. No computer scientist has any excuse not to maintain a page of their papers with downloadable versions.

It gets harder to maintain these pages. I have to keep an old bibtex-to-html system running and at some point I should redo the whole page. Sites like DBLP and Google Scholar let people find my papers easily without my intervention. But if I want anyone to see all of my papers I have little choice but to keep the page going.

Wednesday, September 28, 2011

A candidate for a new Millenium Problem

In a prior post I wrote that the Erdos-Turan Conjecture should be a Millennium problem. Today I am going to (1) suggest a generalization of the Erdos-Turan Conjecture should be a Millennium problem instead, and also suggest (2) a far harder problem be another candidate. For some history see here. (This is an excerpt from my still-being-written book on VDW stuff- so if you find a mistake or suggestions please comment or email me.)

Recall the poly VDW theorem:
Let p1,...,pk ∈ Z[x] such that pi(0)=0. Let c ∈ N. There exists W=W(p1,...,p_k;c) such that for any c-coloring of {1,...,W} there exists a,d such that a, a+p1(d), ..., a+pk(d) are all the same color.
Much like VDW's theorem was before Gowers result, (1) there is a proof that gives bounds that are not primitive recursive (Walters proof) (2) there is a density-type theorem that does not give good bounds, (3) there is a proof by Shelah that gives primitive recursive bounds, but they are still quite large.

We make the following conjecture which we hope will lead to better bounds on the poly VDW numbers.
CONJ: Let p1,...,pk ∈ Z[x] such that pi(0)=0. If Σx ∈ A 1/x diverges then there exists a,d such that

a, a+p1(d), ..., a+pk(d) are all in A.
  1. The case where all of the polynomials are linear is often called the Erdos-Turan Conjecture. It is still open.
  2. The following is a subcase that is orthogonal to the Erdos-Turan Conj: If Σx ∈ A 1/x diverges then there exists two elements of A that are a square apart.
  3. Green and Tao showed that the set of primes have arb. large AP's. Then Tao and Ziegler showed the following: Let p1,...,pk ∈ Z[x] such that pi(0)=0. There exists a, d such that

    a, a+p1(d), ..., a+pk(d) are all primes.

    SO the CONJ is true for a particular set of interest.
We also pose a question which is more interesting but likely much harder:
If A is a set then let dA(n) =|A ∩ {1,...,n}|/n. The lim supn → ∞ dA(n) is the upper positive density. We will be interested in the function dA(n).
QUESTION: Let p1,...,pk ∈ Z[x] such that pi(0)=0. Find functions e1(n) and e2(n) (not that far apart) such that e1(n) ≥ e2(n), and the following occurs:
  1. If for almost all n, dA(n) ≥ e1(n) then there exists a,d such that a, p1(d),...,pk(d) ∈ A.
  2. There exists A such that, for almost all n, dA(n) ≥ e2(n), and there is NO a,d such that a, p1(d),...,pk(d) ∈ A.
For the case of 3-AP's the following are known:
  1. If for almost all n dA(n) ≥ (log log n)5/log n then A has a 3-AP. (See this Tom Sanders paper.)
  2. There exists a set A such that, for almost all n dA(n) ≥ 1/n\sqrt(log n) and A has no 3-APs (See Michael Elkin's paper for a slightly better result that I didn't have the energy to typeset.)
These two functions are NOT close together. So even in the case of 3-AP's we do not know the answer. I want to know the e1,e2 for ALL finite sets of polynomials with 0 constant term. We've got our work cut out for us.

It is my hope that progress on the question will lead to better bounds on some poly VDW numbers. A similar question DID lead to better bounds on the VDW numbers.

Monday, September 26, 2011

Moneyball

I saw Moneyball over the weekend. This movie gives a fictionalized account of the how the general manager of the 2002 Oakland A's used the right kind of statistics to build a strong team with a low budget. This article on the GM Billy Beane gives a nice follow-up to the movie.

A bit surprising one can get a good movie about the math in baseball. Moneyball was based on the book by Michael Lewis with a screenplay co-written by Aaron Sorkin who also wrote the screenplay to the Social Network. Sorkin writes nerdy things well.

Moneyball is really a computer science movie. It's not about the computers themselves which play a small role, but its about taking a large amount of data and deriving the conclusions that help make the crucial decisions in developing the team.

You can also see the difference in computer science over the last decade. At the time of Moneyball, people would try many statistical models and test them out. These days via Machine Learning we give the computer the data and the results and the computer determines the right models.

Oddly enough Billy Beane's actions led to an even greater separation between the large and small market teams. The statistical ideas that Beane pushed have been adopted by the other teams. Now we've hit an equilibrium so the teams that spend more win more as well.

Oddly the New York Times ran an editorial piece Not-So-Smart Cities by Greg Lindsey yesterday arguing that cities shouldn't rely on these kinds of statistics for planning because of a failed project from the 60's. Sounds like Lindsey needs to see Moneyball.

Friday, September 23, 2011

Mahaney's Theorem

Bill has a lot of posts where he questions whether to teach Mahaney's theorem in a graduate complexity class. Since it is one of my favorite theorems and most of you young folk won't see a proof in your complexity classes, I'll give it here. This proof is not the original of Mahaney but based on a paper by Ogihara and Watanabe.

Mahaney's Theorem: Let c be a constant and A be set such that for all n, A has at most nc strings of length n. If A is NP-complete then P=NP.

Proof: We define the left-set of SAT as follows: Let B = { (φ,w) | φ has a satisfying assignment a with a ≤ w in lexicographic order}. We'll restrict ourselves to w that are (not necessary satisfying) assignments for Ď†.

Assume φ is satisfiable and let a' be the lexicographically smallest satisfying assignment. We have (φ,w) is in B iff w ≥ a'.

Since B is in NP by assumption B reduces to A via some function f computable in polynomial-time, (φ,w) is in B iff f(φ,w) is in A.

Fix φ and n and let m=nk bound the number of strings in A of any length that f(φ,w) could query. Pick w0 < w1 < w2 < … < wm+1 evenly spaced from each other.

Let zi = f(φ,wi) for each i. Note that if zi is in A then zj is also in A for all j ≥ i.

Case 1: zi = zj for some j > i. We know a' cannot be between wi and wj.

Case 2: All the zi are distinct. There are only m elements in A so z1 is not in A and a' cannot be between w0 and w1.

Either way we have eliminated a 1/(m+1) fraction of the possible assignments.

We repeat the process choosing the wi equally spaced among the remaining possibilities and eliminate another 1/(m+1) fraction of those assignments. We continue O(mn) times until we narrow down to a set S of m+1 possible assignments.

If φ is satisfiable then a' is in S so at least one assignment in S and will satisfy φ. If φ is not satisfiable then none of the assignments in S satisfy φ.

By trying all the assignments of S and seeing if they satisfy φ, we get a polynomial-time algorithm to determine if φ is satisfiable. Since Satisfiability is NP-complete we have P = NP.

Wednesday, September 21, 2011

Where do theorems go to die?

(Joint post by Bill Gasarch and Daniel Apon)

Recently I (Daniel) reviewed Dexter Kozen's Theory of Computation (it was AWESOME). You can find the review here. Many of the topics were standard but some we (Bill and Daniel) suspect are not covered in any complexity class (well... maybe in Dexter's). This DOES NOT detract from the book, however we now raise the question:
Where do Theorems go to die?
In some eras there are some theorems that are taught in EVERY basic grad complexity courses Then all of a sudden, they are NOT taught at all. (Both the EVERY and the NOT are exaggerations.)
  1. The Blum Speedup theorem: In the 1970's EVERY comp sci grad student knew it. In the 1980's EVERY theorist knew it. In the 1990's EVERY complexity theorist knew it. In the 2000's (that sounds like it means 2000-3000) EVERY... Actually NOBODY knew it, except maybe students who took Dexter's class. I doubt Blum teaches it anymore. Blum's speedup theorem was proven before Cook's theorem when people were still trying to get complexity right. Blum has since said Cook got it right! Even so, Blum's Speedup theorem should be in the preface to God's book of algorithms (See here) as a warning that there might not be an optimal algorithm.
  2. The Complexity of Decidable theories (e.g, Presburger, WS1S, S1S, S2S). We all know that by Godel's theorem the theory of (N,+,times) is undecidable. There are some subtheories that are decidable. However, the decision procedures are complete in various rather high up classes (WS1S is provably not primitive recursive). This material I (Bill) learned from Michael Rabin (who himself proved S2S undecidable) in 1981 but my impression is that it is not taught anymore. Was it ever widely? We think that students should know the STATEMENTS of these results, because these are NATURAL problems (Bill did the capitalization) that are complete in classes strictly larger than P. (See the second conversation here for comment on that.) One of us thinks they should also know the proofs.
  3. omega-Automata. This is used to prove S1S decidable and we've heard it is used in fair termination of concurrent programs. Sounds like it should be more well known. But it is rare to find it in a complexity cousre. It may well be taught in other classes. (I (Bill) touch on it in undergrad automata theory.)
  4. Jon Katz is pondering not teaching Ladner's theorem!!! The students should surely know the result (YES, and stop calling me Shirley) however, should they know the proof?
  5. Spare Sets: Bill Blogged about no longer doing Mahaney's Theorem Karp-Lipton is still used A LOT, but Mahaney's theorem is not really used at all. Daniel thinks Mahaney's Theorem is AWESOME, however Daniel is bright eyed and bushy tailed and thinks ALL of this stuff is AWESOME.
  6. Computability Theory: Friedberg-Muchnik, Arithmetic Hierarchy, Analytic hierarchy, Recursion Theorem. This is like Blum Speedup- this material used to be better known to complexity theorists but is hardly taught to them anymore. It IS of course taught in courses in computability theory. But such courses are taken by complexity theorists far less often then they were. When I (Bill) tell someone there are c.e. sets that are not decidable and not complete! they say Oh, just like Ladner's theorem. Its the other way around, Ladner's result came far later.
  7. Part of this is that Complexity theory has changed from Logic-Based to Combinatorics-Based (see post on CCC Call for papers) We don't teach Blum Speedup (and other things) any more because we have better things to teach. However, are there results that the students should know even if the fields they come from are dead? YES, and Ladner's theorem is one of them.


Who decides such things? Textbook writers for one. A Proof Theorist who worked on lower bounds for Resolution told me he hopes that Arora-Barak's book would include this material. He even said If it does not, the field will die. Is this true? If so then Arora and Barak have more power than they realize.

Monday, September 19, 2011

Conferences Again

Lots of conference news and views going around. Let's sort it out.

FOCS early registration deadline is September 29th, fast approaching. Deadline for applying for student support is this Thursday September 22. Apply even if you don't have a paper there and take the opportunity to attend one of theory's most important meetings.

Also the STOC 2012 submission deadline is still November 2. There was a mistaken deadline listed on a theory events site.

The SODA 2012 accepted papers (and links to Arxiv) are out. Program Committee Chair Yuval Rabani explained the PC process. Seems pretty much along the lines of PCs I've been apart of. I wished they did penalize people who had poorly written papers, otherwise there's little incentive to write well. I'm also not a big fan of the "pet paper" idea, people tend to choose papers of their friends and colleagues.

Michael Mitzenmacher posted about the number of good papers not accepted and whether SODA should accept more (an issue at most of our major conferences). In this blog, Sami Khuller guest posted about whether it makes sense to have SODA in Japan. There are a handful of SODA accepts with primarily Japanese and other Asian authors but the vast majority of the authors are US-based.

Some of the comments on Khuller's post talked about having a virtual conference. How about this idea: We don't bother meeting and just collect the accepted papers into a single volume. We can give this idea an innovative name like a "journal".

In this month's CACM article, Moshe Vardi complains about the quality of conference talks. (I like the "journal  that meets in a hotel" quote but it didn't originate with me). You see this at STOC and FOCS too, people giving a talk only to other specialists in their field instead of aiming for a general audience.

Most of you readers know my position on conferences, that we need to get conferences out of the ranking business in CS so conferences can instead play their role of bringing community together and escape from the explosion of conferences just to give people who were rejected from another conference a place to submit their papers.

Friday, September 16, 2011

Happy Constitution Day

September 17th officially is known in the United States as "Constitution Day and Citizenship Day" but is celebrated today because the 17th this year falls on a weekend. I  have nothing but love for the our Constitution. Not only does the Constitution and its amendments provide the great freedoms we have in America but it also shows how to balance states of different sizes with a strong central government. The EU could do worse than by following its example.

What bothers me is a law that Robert Byrd snuck into an omnibus spending bill in 2004.
Each educational institution that receives Federal funds for a fiscal year shall hold an educational program on the United States Constitution on September 17 of such year for the students served by the educational institution.
With a few exceptions like the military academies, US universities are either run by the states, municipalities or are private institutions. It defeats the whole point of the Constitution for the Federal government to be dictating to US universities what educational programs must be held when.

Most universities do the minimum. Northwestern just points students to a website with Constitution related information and videos.

To help all of you celebrate Constitution Day here is the great preamble as I learned it as a kid.



Wednesday, September 14, 2011

Conventions in Math- just to make the rules work or more?

  1. Why is
    a1/2 = sqrt(a)?
    true? To make the rule
    ax+y=ax a y
    work out.
  2. Why is
    (∀ x ∈ ∅)[P(x)]
    true? To make the rule
    (∀ x ∈ A ∪ B)[P(x)] iff (∀ x ∈ A)[P(x)] AND (∀ x ∈ B)[P(x)]
    work out.
  3. Why is the sum over an empty index set equal to 0 and the product over an empty index set equal to 1? Same reason- it makes various math laws work out.
For the second and third item on the above list I would say its not JUST to make some rule work out, it also makes sense. But the first item, that a1/2 = sqrt(a), seems to only make sense in terms of making a rule work out and not for any other reason. I have no objection to the rule; however, if you have a REASON other than it makes the rules work for this convention, please leave a comment.

Monday, September 12, 2011

Imagine

Looking back, it's pretty amazing how new technologies like Google, cell phones, Facebook and Twitter have changed society in completely unexpected ways. Let's play a game with an up and coming technology that will surely change society but it is not clear yet how.

We already have the technology for autonomous cars, cars that can drive themselves with no needed changes to roads or other cars. By 2020, this technology will be cheap enough to be built into most new cars.

  1. When will society and laws be accepting of autonomous driving? Will we ever be able to get rid of the drivers seat?
  2. What will cars look like when there is no driving seat?
  3. Will there be a major elimination of jobs of taxi and truck drivers? Is this a bad thing?
  4. Will we still need parking right near our destination? Will driveways disappear?
  5. Once most cars are autonomous will they be networked for better coordination? Will we see the elimination of now unneeded street lights and signs? Will there be privacy concerns?
  6. These cars will stop or serve around obstacles. How do we stop pedestrians from just walking out in front of cars knowing they will stop?
  7. Will people mostly own cars or just rent one that happens to be close by?
  8. Suburbia exists because of the automobile. Will an autonomous car change the nature of suburban life?
  9. Most importantly, what is the big societal change that will occur that we can't imagine right now.

Friday, September 09, 2011

Guest Post on Conference Locations

(Samir Khuller Guest Post.)

On Conference Locations:

I recently looked at Orbitz for fares to Japan for SODA 2012 in Jan. The round trip fare from DC to Tokyo is close to $1700. Together with the train to Kyoto, we are looking at a $2000 travel cost to attend SODA for 3-4 days. Together with the registration and hotel, I am sure the cost will exceed $3000. I wonder how many people will be able to attend this conference? In times of declining budgets, we should make these decisions after careful thought since our travel budgets are only shrinking. In 2012, all conferences are likely to be expensive to attend -- SODA in Kyoto, CATS in Melbourne, STACS in Paris, Complexity in Porto, ESA in Slovenia, ISMP in Berlin, ICALP in UK, SWAT in Finland, LATIN in Peru, SIGMETRICS in UK, FST&TCS in India, not to mention all those exciting Bertinoro and Dagstuhl meetings. At least STOC is in NYC!

I am sure that the same dilemma is faced by people in the far east when we hold conferences in the US. However, I will be curious to know what the numbers look like. Are we going to reduce costs for 25 students who otherwise might not be able to attend SODA because its not in Japan (I hope this NOT the case, and the numbers look much better)? However, at the same time we might be making the cost prohibitively high for 100 students who could have attended the conference, but are not going due to the high cost. Wait, we did this once. We had FOCS in Rome! According to this blogpost it looks like only 172 people registered for FOCS 2004. Given that most likely 100 of the attendees were authors, the drop in attendance of non-authors is by a factor of 50% since FOCS most likely gets close to 230 attendees.

I am for the argument that once in a while its not bad to move a conference around to help people attend who normally might not; but we could explore other ways of helping such people attend. Once we move a conference to a place where not much local population will attend, its a problem (FOCS 1991 in Puerto Rico). SODA in Israel or Germany makes more sense to me since a large part of the algorithms community is from those places. One way to help defray the costs is to use part of the conference funds to help provide travel support for people whose cost to attend would be too high. Co-locating meetings might benefit us more (FCRC, ICALP-STOC 2001 in Crete). If we want to maximize interaction among people we should aim to have one large meeting as opposed to lots of small ones - the ISMB and ISMP conferences do this very well. More edges in a clique of 1000 nodes than 10 cliques of 100 nodes each. ALGO in Saarbrucken makes sense to me. High density of researchers, several meetings are combined into one along with ESA. Frankfurt is easy to get to from a lot of places in the world (except for the folks in Australia, NZ and Hawaii), and there is great train service from the airport to Saarbrucken.

One of the cheapest conferences I attended was the SIAM Conf. on Discrete Math at the University of Toronto campus. Very low registration cost and we could stay on campus in the dorms for $20/day. Having looked into (and having organized) conferences recently, I know that the dinner can cost $100/person, and the coffee break $20/person. Do we really need to have academic conferences at such large hotels and hard to reach places? Why not have a conference that encourages participation, as opposed to one that discourages it? Even I would not mind a conference in space, lets see if NSF would approve "foreign travel" for that one.

I am going to have to start a new US "regional" conference, that I can afford to send my students to! It will be held on a university campus and the reg fee will be $100/student; and it will be cheap to get to. At least for the years when SODA is not in the US, such a meeting might be a success.

NOTE: I have nothing against Kyoto and Rome, they are among my favorite places in world.

Wednesday, September 07, 2011

Next in the sequence

When I posted on sequence problems here some people said that they did not have unique answers. Many problems FORMALLY do not have a unique answer, but common sense and simplicity lead to a unique answer. This recently happened on Jeopardy. The topic was Next In The Series. I'll give the questions here and pointers to the answers (actually the answers here and pointers to the questions since Jeopardy is an answer-and-question game.) Do you think some of these have non-unique solutions? If so, what are the other solutions? Are those problems unfair? As always I ask nonrhetorically. (my spell checker wanted me to put a space between non and rhetorically. I disagree.)
  1. FA, SOL, ... NEXT
  2. In the US Army: First Lt, Captain, ... NEXT
  3. XXXVIII, XXXIX,... NEXT
  4. FEDERAL HOLIDAYS: Memorial Day, Independence Day, ... NEXT
  5. Orange, Yellow, (Wavelength around 510 nanometers)... NEXT

Tuesday, September 06, 2011

Knowing some History is a good thing- Why?

(FOCS registration is open: here. Note that there are tutorials on Sat Oct 22 and the conference talks are Sun Oct 23-Tues Oct 25.)

(Guest post by By Jeffery D. Stein, Chairman, IT History Society (info@ithistory.org), but first a related post by me.)

POST BY ME:

  1. Often you find that the origin of your field is from a different field. Ramsey's paper where he proved (what is now called) Ramsey's theorem was actually a paper in logic, though he did say that his combinatorial lemma may be of independent interest. Knowing what he was working on expands your horizons.
  2. If you study some history and then look around at the present world you will see some things in a different light. For example, if you study the history of Group Theory you realize that they didn't just write down some axioms and see where they led- they had actual applications in mind (e.g., showing the quintic had no solution in radicals). The axiomatic approach is fairly recent.
  3. When teaching (say) cardinality it is good to know that this concept was once controversial and some mathematicians disagreed with it. Hence be patient with your students. I tell them that this concept was troubling and some of the controversy around it.
  4. You can pick up some factoids of interest (and if you learn more about them they can become facts). I read an interview with Sheila Greibach (early Formal Lang Theorist) and, in passing, she mentions that any r.e. set can be written as the intersection of two context free languages. I never knew that! The other direction- the intersection of two context free Languages is an r.e. set is easy, but good to know for a HW or Exam question. (NOTE ADDED LATER- a commenter pointed out, correctly, that this cannot be correct. I will check what she actually wrote later.)
  5. The items above are actually about the history of the IDEAS and not the people. Knowing something about the people can be interesting, but is likely less useful for research and teaching. If you disagree I would love to hear a respectful counterargument.
SO, how can we LEARN history? Today's GUEST POST is about some resources for this for the history of IT.

GUEST POST: Introducing an IT Teaching and Research Resource

Guest Post by Jeffery D. Stein, Chairman, IT History Society (info@ithistory.org)

In 2007, the IT History Society was formed. The Society is dedicated to informing IT companies about the value in preserving their history, helping archivists to be more effective in their work in preserving IT history, and most importantly being a reference point for the many international places of computing history information.

The Society wants to assist educators, students of information technology, and researchers in learning more about the history and background of the information technology industry, an industry that has had a significant effect on mankind in the past seven decades. It has nearly 700 international institutional and individual members (no charge to be a member). Institutional members include IBM, HP, Intel, the Smithsonian Institution, Computer History Museum, Charles Babbage Institute, MIT, Caltech, Hans Nixdorf Museum, British Library, Stanford Silicon Valley Museum, Deutsches Museum, IEEE History Center, UK National Archive, Hagley Museum, and more. Individual members include historians, computer scientists, and people who have worked in the industry from various countries. Currently the Society has many online databases; but, two in particular may be of great value for teaching information technology and research:
  1. IT Historical Resource Sites Database. over 400 and growing every day, sites that have historical information about the information industry.  This entire database is completely indexed and searchable, which can be a beneficial aid in targeted search and research.
  2. IT Honor Roll is database of over 800 names and growing, discussing individuals who have made a noteworthy contribution to the information technology industry.
Other information technology resources from the IT History Society are:
  1. Calender of upcoming IT Historical and Archival events
  2. Research links and tools to aid in the preservation of IT history
  3. Over 1,000 Technology Quotes
  4. An active Blog with discussions about historical IT events and the people behind them
  5. A Social Network of IT history professionals, archivists, and hobbyists.
The Society is also in the process of creating three more databases about: (1) All information technology companies both past and present (2) All information technology software created, both past and present (3) All information technology hardware created, both past and present

The Society feels that these valuable resources can be of great benefit to information technology professors, teachers, assistants, researchers, and students. All databases are works in progress and each database has links for the IT community to add and grow the entries of each database. The Society is a non-profit educational and research organization.  It does not charge for membership or the use of its information.  The IT community supports our operations through donations to our 501 (c) (3) non-profit foundation. Please visit this link for further information.

Friday, September 02, 2011

The Anti-Privacy Generation

A physicist I knew refused to fly on small commuter planes. He knew what could go wrong and he was sure they weren't safe. In fact flying even on small planes is statistically safer than driving a car.

I thought about this story while I was reading Blown to Bits by Hal Abelson, Ken Ledeen and Bill's advisor Harry Lewis. The book is all about how the information revolution has put all our personal stuff out there. Knowing how computers and the Internet work can make one paranoid about information and this is why privacy is always a big issue among computer scientists and tech workers. But then I finally gave up on the book when I realized they gave very few examples of people who actually came to any harm from losing their privacy.

I've seen many a crypto talk talk about a situation where someone's personal information comes back to haunt them when they run for public office. But we live in a society that values openness. Obama didn't hide his illegal drug use, he talked about it in his autobiography and it didn't hurt his campaign. Anthony Weiner resigned from Congress not because he tweeted an inappropriate picture, but because he lied about it. Bill Clinton was impeached and Nixon resigned not for their actions but for their coverups.

Being open has its positive effects, it allows search engines, recommender systems and even people to tailor their behavior to your needs. We can imagine easily, as computer scientists, scenarios where loss of privacy has disastrous effects.  But your chances of running into such problems are about as high as being in a plane crash.

Wednesday, August 31, 2011

Do we use Technology before its perfected? Should we?

During Hurricane Irene I lost power for about 18 hours. I was actually pleased how short this was. PEPCO (my power company) did not tell us when power would be restored at any point. Why? Possibly because of this story that happened a few years ago.

On July 25, 2009 there was a power outage. I called PEPCO and was told
Your power will be restored by Sept 17 7:00AM.
I was glad to hear that since Sept 17 I was having company over at 7:00PM so I would have 12 hours to clean up and make dinner. PEPCO later had a spokesman that explained why they claimed it would take about 2 months to get my power back.. What they said (in our terms) is that they have a formula for how long it will take based on how many people lost power. The formula is (I am guessing) something like
Number of days = (number of people out of power)/1000.
This was a massive power outage- around 300,000 lost power. For those values the formula (we hope) is not correct. Power was restored to the entire region in about 5 days.

We are still learning how to automate things and sometimes we get absurd results. In a prior post I noted that a phone number gave automated info that was 2 years out of date. I've called airports at 2:00PM to find out when my lost luggage would be returned and found out that it will returned by 11:00AM (the same day three hours earlier).

I AM NOT complaining about PEPCO (I got my power back), The Airport (I got my luggage), or The Hallmark Channel (I missed a TV show I wanted to watch- not important). I AM raising an issue: Do we use technology before its perfected? Sometimes YES. Is this a bad thing? Is this a better way to beta-test things? Not sure- some errors only come up in extreme cases that were not thought about in the testing phase. The particulars of my examples are not important- is this a general problem? All of my examples are American- how is it in other countries?

Monday, August 29, 2011

Patrick Fischer (1935-2011)

Patrick Fischer, founder of STOC and SIGACT, passed away Friday at the age of 75. Fischer's research spanned from studying the relative power of different machine models in the early days of theoretical computer science to database theory later in his career.

In the late 1960's Fischer, realizing the growth of theoretical computer science, established the ACM Special Interest Committee on Automata Theory and Computability (SIGACT, now the Special Interest Group on Algorithms and Computation Theory) and served as its first chair. Fischer also served as conference chair for the first five Symposia on the Theory of Computing (STOC).

Fischer taught at Harvard, Cornell, Waterloo, Penn State and Vanderbilt.  In 1982, he was a target of the Unabomber. Fischer was away at the time but his secretary was seriously injured.

Fischer leaves behind his wife, Charlotte Froese Fischer, and brother Michael Fischer, both famous computer scientists in their own right. He also leaves a daughter Carolyn. A full obituary can be found here.

Update 8/31: New York Times Obituary

Thursday, August 25, 2011

The Not-So-Simple Path

This post was inspired by the simple functions discussion on Bill's post and this question on unique paths.

A path is just a way from getting from point A to point B. A simple path is a path that doesn't cross itself. Some people use "path" to mean simple path and "walk" to mean a general path (like in random walk) but lets not quibble on notation.

To find a path you just keep going until you get there. To follow a simple path you need bread crumbs, some way of remembering where you've been. Often it doesn't matter. There is a path from A to B if and only if there is a simple path. The shortest path from A to B on a graph of positive edge weights is always simple. Ah but it isn't always so simple.

The randomized and deterministic log-space algorithms for undirected connectivity don't give anything close to a simple path. Counting the number of paths is easy, just take powers of the adjacency matrix. Counting the number of simple paths is #P-complete. The longest path is either infinite or easy to find. The longest simple path (Hamiltonian path) is NP-complete. Playing Go with players requiring to follow a simple path (no repeating a board position) is EXP-complete despite being played on a poly-size board. Making paths simple make them much more complex.

In our lives we need the ability to go back, to learn from our mistakes and try other possibilities. There is no where you can go without following a simple path but to follow one requires omniscience and trying to stay on a simple path will limit your choices. Life is not a simple path.

Tuesday, August 23, 2011

What inspired you to work on... whatever you work on?

Grad students often wonder how people get ideas of things to work on. The usual advice I give is (1) go to talks, (2) read papers, (3) talk to people, (4) follow through on all of the above. That's fine advice as far as it goes; however, I ask my readers to give examples, and I do the same.

Here are examples of how I found things to work on.
  1. In ninth grade when I first heard that the fifth degree equation was not solvable I thought I really want to learn why that is true. I went to college and majored in math to find out. I arranged my courses to take Abstract Algebra as soon as possible and did find out and was happy. I could have dropped out right then; however, I heard that there were problems that could not be solved at all so I decided to stick around and learn about those.
  2. As an undergrad at SUNY Stonybrook, in a combinatorics class taught by Joel Spencer, he said Infinite combinatorics is easier than finite combinatorics because all of those messy constants go away. This later inspired me to look at Bounded Queries in Recursion Theory. The reasoning was that P vs NP is hard, but maybe an infinite version of it would be easier. And in recursion theory you don't have time or space so I looked at number-of-queries as a complexity measure. I got out several papers and a book in this area; however, I never did solve P vs NP. Oh well. (Michael Sipser had far more mature thoughts along the lines of trying to solve an infinitary version of P vs NP. Some of that lead to Furst-Saxe-Sipser paper on parity not in constant depth poly number of gates.)
  3. In grad school I read up on oracles that made P=NP and that made P ≠ NP. I wondered about other classes. Nobody had looked at oracles for NP vs DTIME(2^n). So I worked on that.
  4. In grad school I saw Anil Nerode give a a GREAT talk on Recursive Mathematics. I was particularly impressed that we could take some of the objections of the constructivists and the Intuitionists and turn them into well defined math problems. Rather than say This proof is nonconstructive hence its BAD we now say This proof is nonconstructive, can I prove that it has to be so? How nonconstructive is it? Can some variant of it be constructive? This inspired me to work on recursive combinatorics. Right after the talk I marched to the Library and read two papers on Recursive Graph Theory.
  5. In grad school I saw the Chandra-Furst-Lipton paper on Multiparty Communication Complexity at STOC. It really intrigued me that there was a matching upper and lower bound that was based on a combinatorial quantity that was not known. This talk got me interested in BOTH Ramsey Theory and Communication complexity!
  6. When I got to UMCP in 1985 Carl Smith was working on Inductive Inference. At the time the field did not use much recursion theory beyond the recursion theorem and its variants. Carl knew the field, I knew recursion theory , so we collaborated.
  7. I saw Dan Ullman give a talk on Richman games which inspired me to use Games as a way to motivate math and a good topic for high school and college projects.
  8. At STOC 2000 I saw a talk on PIR's. I was intrigued by the model and read up on the area.
  9. I reviewed Communication Complexity by Kushilevitz and Nisan which inspired me to work in that area.
  10. In 2002 (or so) Jacob Fox (now a professor at MIT working on Combinatorics) emailed me asking about applications of Ramsey Theory. This inspired me to make a website of applications of Ramsey Theory. This forced me to learn some new ones. (I still maintain the website but its getting harder to do so since Ramsey Theory has gotten to be a standard tool that people use without much commentary.)
  11. I read about the Polynomial Van der Warden Theorem, and that it had an elementary proof, on the web. I immediately tracked it down and read it.
  12. Because I maintain the Applications of Ramsey Theory website Jon Katz emailed me a paper that applied Ramsey Theory to Proving that Programs Terminate. At RATLOCC I had heard about the reverse mathematics of the transitive Ramsey Theorem. I wrote an expository article on this application of Ramsey Theory but was also able to add some commentary from what I learned at RATLOCC (and by being in email contact with both the Applications people and the transitive Ramsey People.) NOTE- Once people know that you are interested in XXX they will send you articles on XXX to help you further the interest.
  13. (A non-math example) There was an episode of Babylon 5 with the title A tragedy of telepaths. The authors intent was that this term be like A cast of hawks or A pretension of professors or A wedge of swans. I became fascinated with the question: are these really phrases? They ONLY appear in lists of such words. The phrase a tragedy of telepaths isn't even used in the episode! This inspired me to study the (ill defined) question When is a phrase a phrase? Now whenever I hear a new (to me) word or phrase that intrigues me, I type it into a file (which in LaTeX in alphabetical order), do a Google Search on it, and type in some commentary on its usage. I DO NOT look at word lists- this is a purely personal project.
  14. In Kindergarten the teacher had a PhD in combinatorics (the job market was tough). Once when we were being bad she made us sit at our desks and Color the numbers {1,...,9} with RED and BLUE such that there is no three numbers equally spaced that are the same color. I was not able to do this (in fact, it can't be done) but I found the problem very interesting. Some other kid did manage to do it by using RED and BLUE on the same number to get PURPLE. The teacher asked that kid to try to do it for {1,...,27}. He cried. (I didn't remember any of this until much later when I learned VDW's theorem.)
  15. Help me on my phrase list: Is there a term for a Math Phd in Combinatorics who is teaching Kindergarten and inspires one of her students to study Ramsey Theory?

Thursday, August 18, 2011

The Future of Universities

When AT&T had its monopoly, it could afford Bell Labs, a major research institution that bragged at having more Ph.D.s than any other university. Now very few companies have basic research labs.

The newspaper industry had a high cost of entry. It required a large number of resources from reporters to presses to create a paper that could challenge existing publications. Established newspapers had a high profit margin and could afford a separate mission, to have a news department with high journalistic standards acting independently from the business side of the paper. The Internet effectively eliminated that high cost of entry and great journalism gets harder to find.

Universities, mostly non-profits, have both an education and research mission. Universities get the bulk of their revenue from student tuition and donations from former students. Universities also have a high cost of entry and we have seen very few new major universities, particularly in the US, established since 1900. Universities, while they can't turn a profit, have the freedom to have strong researchers and research facilities.

The Internet, combined with AI and social networks for support and grading, will allow a course to reach a huge number of students. Witness the Stanford AI course with over 85K registered students and the press it has received. The technology isn't quite there yet, but in ten years or so it will be easy to scale up courses with little scaling in personnel. Why would anyone take courses from me when they could get a superior experience from Scott or Luca? How long before a virtual Internet university can provide a better education than any single physical school?

The top universities will likely survive but what will happen to the mid-level schools still stocked with excellent scientists? If fewer universities fund basic research then who will?


Monday, August 15, 2011

An application of Ramsey Theory to Proving Programs Terminate

B. Cook, Podelski, and Rybalchenko have done both practical and theoretical work on proving that programs terminate. They use Ramsey's Theorem (Yeah!). Jon Katz send me their paper. After some emails with them and others I wrote an exposition. Their papers are here (I used Transition Invariants (LICS 2004) and Proving Program Termination (CACM 2011), though there are others on that page that are relevant.) My exposition is here. This post will briefly describe what they do. For more detail see either their papers or my exposition.

If w is a variable in a program and A is a set then
w = input(A);
means that w gets SOME value in A, supplied by the user.

Consider the following program
w = input(N);
x = input(N);
y = input(N);
While w>0 and x>0 and y>0
        control = input(1,2)
        if control = 1 then
                x=input(x+1,x+2,...)
                y=input(y+1,y+2,...)
                w=w-1
        else
        if control = 2 then
                y=input(y+1,y+2,...)
                x=x-1
A Proof that the Program terminates that does NOT use Ramsey's Theorem

How would you prove that it terminates? One way is to (1) find a map f : NxNxN --> L where L is a well founded order, (2) show that in each iteration of the loop f(x,y,z) decreases, (3) show that if f(x,y,z) bottoms out then the program has halted (perhaps earlier than this point).

For this program the key is not the function f, which will just be f(w,x,y)=(w,x,y) but the ordering. We map to the ordering (N x N x N, <lex). In every iteration either (1) w decreases, so (w,x,y) decreases even though x and y may get much larger, or (2) w stays the same and x decreases, so (w,x,y) decreases even though y may get much larger. Hence (w,x,y) decreases. Hence, eventually, one of the components is 0, and then the program halts.

A Proof that the Program Halts that Uses Ramsey's Theorem.

Assume, by way of contradiction, that there is a way the user could supply initial w,x,y and also controls in every iteration, so that the program runs forever. Let the infinite sequence of states of the program be:
(w1,x1,y1), (w2,x2,y2), ..., (wi,xi,yi),..., (wj,xj,yj), ...
Claim: Either wi < wj or xi < xj. If between steps i and j we ever have control=1 then w will decrease. If we only have control=2 then x will decrease.

We now color all (i,j) as follows: if w decreased then color it W, if w did not decrease but x did then color it X. By Ramsey's theorem there is a homogeneous subset.
i1 < i2 < i3 ...
If the color is W then we have
wi1 > wi2 > wi3 > ...
AH-HA- so w must eventually be 0 and the program terminates, contradiction. Similar for if the color is X.

What to make of all of this?
  1. In the first proof we only had to prove things about ONE step of the program (YEAH!) but we had to deal with a complicated well founded ordering (BOO!).
  2. In the Second proof we had to prove things about ANY sequence of steps of the program (BOO!) but only had to deal with a simple well founded ordering (YEAH).
  3. There are examples in my exposition and in their papers where the Ramsey approach really does give an easier proof.
  4. We didn't use the full strength of Ramsey's theorem (Henceforth RT). Note that the coloring is transitive: if i < j < k and (i,j) is RED and (j,k) is RED then (i,k) is RED. We used RT restricted to Transitive colorings. We call this the Transitive Ramsey Theorem or TRT. TRT for 2 colors is actually the Erdos-Szekeres theorem (See here for six or more proofs, article title Variations on the Monotone....) TRT for c colors is a natural (and easy) generalization of the Erdos-Szekeres theorem. (I included the proof of this in my exposition for completeness, however, if someone has a reference please leave a comment.)
  5. Is RT actually stronger than TRT? There are three ways to ask this question, and in all three the answer is yes. See my exposition.

Thursday, August 11, 2011

My Cruise Vacation

Last week, my wife and I took a vacation to the Caribbean on the biggest cruise ship there is. I like cruising, just relaxing, swimming, reading, eating, drinking and not having to think much. There is something cool to zip-lining, boogie boarding and ice skating on a cruise ship. Since, as most of you are thinking, no right-minded academic would ever be caught on a cruise ship, I had no chance of running into another computer scientist. So peaceful.

A cruise used to keep you isolated from the outside world. Not any more. This ship had WiFi and cell phone service throughout the ship. If I was willing to pay the costs, I'd be even more connected on the ship than at home. My wife insisted on getting the large WiFi package so she could check emails from her business. I avoided reading email but did check the news. Too bad as I found out that I lost much more money in the market than the cost of the cruise, we were only days ahead of a potential hurricane and the Yankees swept my White Sox. Better to have been isolated and blissfully happy in the great weather we did have.

Computers are taking over cruise ships in lots of ways. About half the people reading read on e-book readers, usually Kindles. The photo kiosks used facial-recognition software to figure out which photos are yours. We had a single card that served as a room key, tickets to the shows, charge card for drinks, and many other roles. One day my cell phone will do all this in real life. One day.

During a Q&A with the captain, he was asked what happens when someone falls overboard. He gave a surprisingly detailed answer: "Rarely does someone 'fall' overboard, they are either pushed or they jump. If we know about it right away, we have a procedure to stop the ship and have a special rescue boat and trained crew to search. If we don't know about it right away, we have cameras so we can determine when they fell and since we know where we were, we radio for a search boat. If it is a day later...I'd better stop there."

The next step would be to use computer vision techniques to automatically tell when someone "falls" off a boat, so there is no day later.

Monday, August 08, 2011

What is a simple function?

In my discrete Math course I asked the following question:
For each of the following sequences find a simple function a(n) such that the sequence is a(1), a(2), a(3),..

a) 10, -17, 24, -31, 38, -45, 52, ...

b) -1, 1, 5, 13, 29, 61, 125, ...

c) 6, 9, 14, 21, 30, 41, 54, ...

(For the answer see here)
Some students found this problem difficult. Looking back at it they may be right- the pattern is not obvious for students at that level who do not know what to look for. Some noted correctly that the term simple function was not defined in class. I meant a function that does not involving summations or recurrences, though I do not think that quite captures the notion. For example, if a student wrote a poly that interpolated the values given that is not that I wanted. I could ask for the function with the least Kolmogorov complexity to describe but that's not quite right for this sophomore class where they struggle to learn induction.

One of them, in earnest, emailed me this Wikipedia entry on simple functions which defines them as a linear combination of indicator functions of measurable sets. Hmmm- not quite what I had in mind for this class. The student wanted to know if he could use it. I told him no; however, in retrospect, I wonder what he would have come up with.

I had not known that the term simple function had a formal definition. Usually in a class there are concepts that are well enough defined within the class though not quite formal. With Wikipedia (and other web sources) it may be harder to have this kind of classroom-language since terms may have a formal definition that you didn't know.

Wednesday, August 03, 2011

If I was a tweeter (is that a word?)

Since Lance is not tweeting this week, I will take up the slack. So, here is my once-in-a-while post
If I tweeted AND if tweets didn't have to be so short, here is what I would tweet:
  1. Possibly the youngest blogger: a 7-year old has a blog called Life Before The Dinosaurs. It's about... life before the dinosaurs. It's serious. It's not a stunt. His mom types it in for him.
  2. More money in SOLVING problems then showing they are UNSOLVABLE:
    1. Decision Problem: Solvable cases of the Quantificational Formulas costs $80.00 used, on amazon.
    2. Decision Problem: Unsolvable cases of the Quantificational Formulas costs $9.00 used, on amazon.
  3. Math on TV: On NCIS, the episode Red Cell McGee and Abby argue over whether the math they are looking at is homology or cohomology. I couldn't tell who was right.
  4. Other blog (not this one of course) have a problem with nasty comments. Why? See here for a possibly explanation.
  5. The new Minister at my church has a math degree. I'll ask him if Jesus used the Banach-Tarski Paradox to perform the the miracle of the five loaves and two fish.
  6. A use of Banach-Tarski in Norse mythology: here.
  7. A play with some math themes called Completeness. Sounds interesting but I'm not going to pay $70.00 to find out.
  8. There were identical twins in my Discrete Math class. GREAT for You have n people. Two are identical twins that you cannot tell apart. How many different ways can they appear to line up? TERRIBLE for If I was to ask everyone in this room their birthday what is the probability that two of them have the same one?

Monday, August 01, 2011

Does STOC/FOCS take simple-nice-ideas papers? A one-element case study

WRITTEN AUG 1,2011: It has been said that simple innovative ideas to not get into STOC/FOCS and only hard technical improvements do. This is one of the motivations for the INNOVATIONS conference. But is it true? People mostly toss out anecdotal stories and, alas, I will do the same. But with one difference. The next few paragraphs were were written in September 2010, BEFORE the STOC decisions came out.

WRITTEN IN SEP 2010: Dave Mount gave a brilliant talk at today's internal UMCP theory day on a joint paper he wrote with Sunil Arya and Guilherme da Fonseca. I actually understood it! It is a perfect example of something that is so simple, clever, obvious-after-you-see-it, and useful that it might not get into STOC. Dave thought it would not get in for this reason. I am less sure. However, Dave Mount and I agree that when the decision is made I will blog about it. If the paper gets in it will be an anecdote that counters the only-complicated-papers-get-into-STOC notion. If the paper does not get in then it will be an anecdote that supports this notion. Either way I get a post out of it and Dave, Sunil, and Guilherme get publicity for their results (either in anger or in joy).

Here is the problem of interest and their variant on it.
  1. Given a set S of n points in d-dim space create a data structure so that the question: given point q, find the point p in S that is closest to q. We want low space and quick time. This seems hard to achieve.
  2. Given a set S of n points in d-dim space, and a parameter ε, create a data structure so that the question: given point q, find the point p in S that is at worst (1+ε)OPT away from q. This is called Approx Nearest Neighbor. We call it ANN.


Here is what was known: In Space-Time Tradeoffs for approximate nearest neighbor searching, by Arya, Malamatos, Mount, they showed a very complicated algorithm that did the following. View d as being constant. S is a set of n points in d-dim space. ε is also an input.
  1. Let γ be a tradeoff parameter with 2 ≤ γ ≤ 1/ε. There is a data structure for ANN with
    1. space O(n γd-1log(1/ε)), and
    2. query time O(log(nγ) + 1/(ε γ)(d-1)/2).
  2. If γ=2 then space O(nlog(1/ε)) and query time O(log n + 1/ε(d-1)/2).


The new result was an improvement and was easy to code and use. I won't state it since it is not easy to typeset (AH HA- maybe being hard to typeset will give them an edge) but here is the paper: Approximate Polytope Membership Queries, (CONFESSION: that very last link was revised in July 2011, but the rest was written in SEPT 2010.)

WRITTEN IN FEB 2011: CONGRATS to Dave, Sunil, and Guil. Their paper got in. That's one anecdote against the notion that STOC does not nice simple ideas. If YOU (the reader) have some other ones, please leave them as comments.

WRITTEN IN JUNE 2011: The STOC talk was EXCELLENT. Here are the slides.

Thursday, July 28, 2011

The Problems of LaTeX

By request a post that may create the biggest backlash since I declared myself Unix free.

\begin{rant}
LaTeX is a great system for mathematical documents...for the 1980s. But the computing world changed dramatically and LaTeX didn't keep up. Unlike Unix I can't give it up. I write papers with other computer scientists and mathematicians and since they use LaTeX so do I. LaTeX still has the best mathematics formulas but in almost every other aspect it lags behind modern document systems.

WSYWIG: I love seeing the final document as I write it. There are front ends to LaTeX that approximate this but they produce LaTeX code that make it near impossible to collaborate unless everyone uses the same editor and we don't. "Code" is the right word, I have to compile a LaTeX document then start a separate program to see it.

Collaboration: The very reason I'm stuck with LaTeX is its greatest weakness. We all have different macros, style files and bibtex formats (and some don't use bibtex at all). We all have to agree in the beginning which of our homegrown stuff we want to use and merging already written documents is a bear. How often does some one send you a LaTeX document and you have to email back that they forgot some style file?

LaTeX documents are saved as text files which have different formats on different machines. I hate seeing ^M at the end of every line. Some people to break up LaTeX lines at reasonable places, other people don't messing up my editor and trying to figure out what my co-author has changed.. At least email attachments avoid the old ¿From problem.

Microsoft Word has a great system for tracking revisions. Google Docs lets people edit at the same time. Nothing close to either for LaTeX.

User Friendly: LaTeX is not user friendly. Try opening a text editor and (without looking at an old LaTeX document) write a LaTeX document to say "Hello World!" that will compile on the first try. Now go to Google Docs, create a new document and type "Hello World!". See the difference. Don't even get me started on creating a table.

Backward Compatibility: In the early 90's, LaTeX went through a major upgrade. There was a compatibility mode that claimed to be fully backward compatible. Not even close. Then they changed the font system, rendering my old documents unreadable. Luckily LaTeX hasn't changed significantly since then.

It's not difficult to convert between Word, Docs and most other document systems but nearly impossible to move to/from LaTeX.

I don't use LaTeX when I don't need to. I usually use Word or Docs for recommendation letters and other documents without much formulas and references including my upcoming P/NP book.

What we need is a way out of LaTeX, add-ons to Google Doc that make it as nice for math as LaTeX, and the ability to import old LaTeX documents, style files and bibtex files. Not holding my breath.
\end{rant}

Monday, July 25, 2011

Why did 1+1=2 take Russell and Whitehead 300 pages?

In my post about the myth that Logicians are crazy I mentioned in passing that Whitehead and Russell spend 300 pages proving 1+1=2 (but were both sane). Two people privately emailed me:
Are you sure Russell and Whitehead weren't a few axioms short of a complete set? How could they take 300 pages to prove 1+1=2. Isn't it... to obvious to be worth proving?
I responded by saying that they had to define 1, +, =, and 2 rigorously. One of them responded Are you a few limit points short of Banach space? That aside, there are some questions the 1+1=2 proof brings up:
  1. How did they spend 300 pages proving 1+1=2?
  2. Is it easier in ZFC?
  3. How important is or was Principia Mathematica? Wikipedia says PM is widely considered by specialists in the subject to be one of the most important and seminal works in mathematical logic and philosophy since Aristotle's Organon. The Modern Library places it 23rd in a list of the top 100 English-Language nonfiction books of the twentieth century. Here is the list they are referring to. The other books look... readable.
  4. I had thought that nobody reads PM anymore; however, its entry on amazon says it has a rank of roughly 294,000. This is far better than a book that truly nobody reads. For example this book has an Amazon rank roughly 5,300,000.
  5. While more people are buying it than I thought, are people actually reading it? Did they ever? My guess is no and no, but I really don't know.
  6. Can a book be influential if few people read it? Yes if they are the right people. Godel read it and I think it inspired him. (Its mentioned in the title of his Incompleteness paper.)
  7. PM was an early attempt to formalize all of math from the ground up. This may be one of those tasks that you are almost destined to do in a clunky way before doing it smoothly.
  8. I am talking in a vacuum here, having never read it. If any of my readers have actually read it and want to comment on what it was really like, you are more than invited to do so.

Thursday, July 21, 2011

Delay for a Postdoc

Suppose you have a tenure track offer at the University of Southern North Dakota and a postdoc offer at MIT. Tenure track jobs are hard to get so you want to accept the USND position but before you spend your life in Hoople you'd like some more time in a top research place.

So you ask the CS chair at USND if you can spend the next year as a MIT postdoc before going to USND. The chair needs you to teach algorithms that spring. Also if you don't take the job, he may lose the position to the music department. What are his choices?

  1. Say no, that you have to start this fall or not come at all. This runs the risk that you will not accept the USND position.
  2. Say yes and find someone else to cover algorithms. This has a different risk, that you might find some other job and not come to USND at all.
Is it ethical for you to say you are coming to USND in a year and send out new applications in the fall? What if you don't go outright looking for a job but Michigan asks you to apply? Is it ethical for Michigan to pursue you if it knows about your promise to USND? What if you fall in love with someone in Ann Arbor?

Someone I know (not CS) turned down an academic job she had promised to take. The school sent her a bill for $12,000 to cover the expenses of finding someone else to cover the classes. She didn't pay.

One economic solution: The chair agrees to the postdoc but requires you to pony up $12,000 now which you will get with interest when you start at USND. Trouble is most grad students don't have $12,000 to pony up and probably would walk away from a school making this offer.

This would be much easier if universities worked like baseball teams. In order to get you, Michigan could offer USND Seth Pettie and a grad student to be named later.