Monday, July 16, 2018

The Mystical Bond Between Man and Machine

You just can't watch a movie these days without being inundated with trailers. First came Axl, a movie about a boys love for a military robotic dog.


"It's only a robot," says his father. "It's an intelligent robot" replies the kid. Then comes the generic ET-like story of the government coming for the robot.

Next came a trailer for a movie that start off with Hailee Steinfeld discovering a VW bug with the background voice going "The driver don't pick the car. The car picks the driver". I'm thinking it's either a new Herbie movie or Transformers. Spoiler: Transformers.

"There's a mystical bond between man and machine" the voice intones. Followed by action that looks just like Axl.

Movie love for machines is hardly new. You can go back to Her or Short Circuit or even Metropolis in 1927. But in an age that parents worry about their kids being rude to Alexa perhaps this mystical bond is starting to get just a little too real.

Thursday, July 12, 2018

The Six Degrees of VDW

 A long long time ago  a HS student, Justin Kruskal (Clyde's  son)  was working with me on upper bounds on some Poly VDW numbers (see here for a statement of PVDW). His school required that he have an application.  Here is what he ended up doing: rather than argue that PVDW had an application he argued that Ramsey Theory itself had applications, and since this was part of Ramsey Theory it had an application.

How many degrees of separation were there from his work and the so called application.

  1. The best (at the time) Matrix Multiplication algorithm used 3-free sets.
  2. 3-free sets are used to get lower bounds on VDW numbers.
  3. Lower bounds on VDW numbers are related to upper bounds on VDW numbers
  4. Upper bounds on VDW are related to upper bounds on PVDW numbers.
Only 4 degrees!  The people in charge of the HS projects recognized that it was good work and hence gave him a pass on the lack of real applications. Or they didn't quite notice the lack of applications. He DID end up being one of five students who got to give a talk on his project to the entire school.

When you say that your work has applications is it direct? one degree off? two? Are all theorems no more than six degrees away from  an application? Depends on how you define degree and application.

Monday, July 09, 2018

Soliciting answers for THIRD survey about P vs NP

I have done two surveys for SIGACT NEWS Complextiy Column (edited by Lane Hemaspaandra)
on P vs NP and related topics.  Lane has asked me to do a third. I annouced it in my open problems column here For those who don't read SIGACT news

1) You should!

2) Here is where to go to fill out the survey: here

bill g.

P.S. (do people use P.S. anymore? Do young people know that it means Post Script, and that it
does not refer to ps-files?)

A commenter requested I add what the DEADLINE for responding was. I originally thought people would read the post and immediately respond (and I HAVE had a BIG uptick in responses in the last day). I still believe this. BUT there are people who read the blog days, weeks, months, even years after I post it (though the comments we get on very old posts tend to contain clicks for good deals on Tuxedo's (I am serious. Tuxedo's? Not well targeted unless they count my Tuxedo T-shirt).

Okay, enough babbling -- the point is that I should have a deadline for those who read the blog later than now.

DEADLINE: Oct 1, 2018. STRICT!

P.P.S - does anyone use P.P.S anymore?

Thursday, July 05, 2018

Happy 90th Juris!

Juris Hartmanis turns 90 today. Hartmanis with Richard Stearns received the 1993 Turing Award for their seminar work On the Computational Complexity of Algorithms. I've talked about that paper before, after all it started our field and gave the name that we use for the blog. So instead I'll use this blog post to talk about how Hartmanis led me into this wondrous field.

At Cornell in 1983 I was an undergraduate double major in math and CS destined at the time for grad school in math. I took the undergraduate Introduction to Theory course from Hartmanis and immediately got excited about the field. Hartmanis said the top student in the course was typically an undergrad followed by a bunch of graduate students. I was a counterexample coming in second in the course list (back then your grades were posted by ID number). I never found out who came in first.

In that same semester I took Introduction to Linguistics. Chomsky and context-free languages in both classes. Seemed cool at the time.

Based almost solely on that course with Hartmanis I decided to do graduate work in theoretical computer science. In the spring of 1985, while most of my fellow second-semester seniors took Introduction to Wine, I took graduate Complexity Complexity again with Hartmanis. That cemented my career as a complexity theorist. The course started with some basic computability theory (then called recursion theory) and used that as a jumping point to complexity. A large emphasis on the Berman-Hartmanis Isomorphism Conjecture. The conjecture implies P ≠ NP and Hartmanis said anyone who could prove the conjecture, even assuming P ≠ NP, would get an automatic A. The problem remains open but I did years later have a couple of proofs giving an oracle making BH true. That should be good enough for a B.

My favorite quote from Juris: "We all know that P is different from NP, we just don't know how to prove it." Still true today.

Monday, July 02, 2018

The BREAKTHROUGH on Chromatic Number of the Plane (guest post)

(The new SIGACT News chair wnated me to post a letter he send to all SIGACT members on my blog in case you are not in SIGACT. He thinks you should be. I think so to so next year he won't ask me to do this. Here is his letter: here)

As many of you know there was a BREAKTHROUGH on the problem of the The Chromatic Number of The Plane. There have been fine blog posts on this by Gil Kalai here amd Scott Aaronson here. Rather than blog on it ourselves we have recruited and expert in the field, Alexander Soifer. He has written a book on the history and mathematics of coloring problems (see here for the amazon link to the book and here for my review of the book). The Chromatic Number of the Plane is his favorite problem. Much of the work on it is either by him or inspired by him. Much of the book is on it.

Alexander also is the editor of a journal on problems like this called GEOCOMBINATORICS (oddly enough. Geometric Combinatorics is a different field). See here for that journal- which I recommend!

He wrote an 8-page essay, which is a concise version of an essay that will appear in a Special Issue XXVIII (1) of Geocombinatorica (July 2018, 5-17),  dedicated to 5-chromatic unit distance graphs. The essay includes contributions from Aubrey D.N.J de Grey, Marijn J.H. Heule, and Geoffrey Exoo
and Dan Ismailescu.

What I find remarkable is that even though the result is new, the essay contains NEWER results. The modern world moves fast!

Without further ado, here is that essay: here.

Thursday, June 28, 2018

STOC 50 Part II

On Wednesday, STOC had a great complexity session and the best complexity paper of the conference, Cody Murray and Ryan Williams extending Ryan’s celebrated result separating NEXP from ACC0. Cody and Ryan show there are problems in quasipolynomial time (2poly log(n)) that do not sit in ACC0, a near exponential improvement from Ryan’s original work. The key insight shows that if NP has nk-size circuits then for some j, each accepting input has a witness describable by a nj-size circuit.

By the way everyone now has full access to the STOC Proceedings. Read and enjoy.

Before the business meeting, Moses Charikar led a panel reminiscing over the 50 years of STOC. Panelists Dick Karp, Al Borodin, Ronitt Rubinfeld and Avrim Blum talked over memories of the early conferences and the good old days of transparencies and paper submissions.

Highlights of the business meeting:
  • About 350 attendees, slightly larger than years past though the organizers hoped for a larger crowd given the 50th celebration and the theory fest.
  • 112 accepted papers of 416 submitted. There are now 29 PC members--time to rethink the standard in-person meeting.
  • FOCS 2018 in Paris October 7-9. STOC 2019 as part of FCRC in Pheonix June 22-28. STOC 2020 likely in Copenhagen.
  • New SIGACT executive committee: Samir Khuller (Chair), Eric Allender, Shuchi Chawla, Nicole Immorlica and Bobby Kleinberg.
  • Shuchi Chawla taking over CATCS. Lots of goodies on the website for those applying for funding or looking for jobs.
  • Sandy Irani is leading a new effort to combat harrassment in the theoretical computer science community.
  • Tracy Kimbrel gave NSF report. The NSF recently appointed Rance Cleaveland as head of CCF, the division that includes algorithmic foundations. New rule: You can’t submit to both CRII and CAREER in the same year so pick your poison.

Tuesday, June 26, 2018

STOC 50 Part I

This week I'm in Los Angeles attending the 50th Symposium on the Theory of Computing. Most attendees weren't even born before the first STOC. Many of them weren't even born when I went to my first STOC in 1986 in Berkeley.

Most of the festivities come later but let me mention the best paper winners, both of whose titles give the theorem. A Constant-Factor Approximation Algorithm for the Asymmetric Traveling Salesman Problem by Ola Svensson, Jakub Tarnawski and László Végh won the best paper and An almost-linear time algorithm for uniform random spanning tree generation by Aaron Schild won the Danny Lewin Best Student Paper Award. For those who don't know, Danny Lewin was an MIT grad student and co-founder of Akamai who lost his life on 9/11.

A nice feature of the STOC theory fest, a tradition started last year, are the many invited talks. This morning we saw Stanford statistician Emmanuel Candes talk about irreproducible scientific results. The scientific method typically makes hypotheses, designs experiments to test predictions, updates the hypotheses and repeat. Today with we automatically generate hypotheses from big data using machine learning techniques which often leads to false positive correlations. Candes talked about his approach to mitigating this problem with knockoff variables.

I also enjoy the senior junior lunch which I had today with students Rachit Nimavat, Jiyu Zhang and Zhixian Lei. Great discussions about the theory life.

Friday, June 22, 2018

The Muffin Problem

I've been meaning to post on THE MUFFIN PROBLEM for at least a year. Its a project I've been working on for two years, but every time I wanted to post on it I thought.

I'm in the middle of a new result. I'll wait until I get it!

However, I was sort of forced to finally post on it since Ken Regan (with my blessing) posted on it. In fact its better this way- you can goto his post for the math and I get to just tell you other stuff.

The problem was first defined by Alan Frank in a math email list in 2009.

I'll  define the problem, though for more math details goto Ken's post:  here.

You have m muffins and s students. You want to give each student m/s piece and
divide the muffins to maximize the min piece. Let f(m,s) be the size of the min piece
in an optimal divide-and-distribute procedure.

Go and READ his post, or skim it, and then come back.

Okay, you're back. Some informal comments now that you know the problem and the math

1) I saw the problem in a pamplet at the 12th Gathering for Gardner. Yada Yada Yada I have 8 co-authors and 200 pages, and a paper in FUN with algorihtms You never know when a problem will strike you and be worth working on!
(The 8 coauthors are Guangiqi Cui, John Dickerson, Naveen Dursula, William Gasarch, Erik Metz,
Jacob Prinze, Naveen Raman, Daniel Smolyak, Sung Hyun Yoo. The 200 pages are here. The FUN with algorithms paper, only 20 pages, is here)

2) Many of the co-authors are HS students. The problem needs very little advanced mathematics (though Ken thinks it might connect to some advanced math later). This is a PRO (HS students can work on it, people can understand it) and a CON (maybe harder math would get us more unified results)

3) The way the research had gone is a microcosm for math and science progress:

We proved f(m,s) = (m/s)f(s,m)  (already known in 2009) by Erich Friedman in that math email list)

Hence we need only look at m>s.

First theorem: we got a simple function FC such that

f(m,s)  ≤ FC(m,s)

for MANY m,s we got f(m,s) = FC(m,s).

GREAT! - conjecture f(m,s) = FC(m,s)

We found some exceptions, and a way to get better upper bounds called INT.

GREAT! - conjecture f(m,s) = MIN(FC(m,s),INT(m,s))

We found some exceptions, and a way to get better upper bounds called ... We now have


f(m,s) = MIN(FC(m,s), INT(m,s), ERIK(m,s), JACOB(m,s), ERIKPLUS(m,s), BILL(m,s))

and it looks like we still have a few exceptions.

This is how science and math works- you make conjectures which are false but the refutations lead
to better and better results.

Also, we have over time mechanized the theorems, a project called:

Making Erik Obsolete

since Erik is very clever at these problems, but we would like to not have to rely on that.

4) I have worked hard on this problem as is clear from this: picture

Sunday, June 17, 2018

Its good to be mii

When I taught  ugrad  Elementary Theory of Computation (Reg, CFL, P, NP, Dec, c.e.) I made 5% of the grade be MEET THE PROF- come to my office, in groups of 3-6 (though sometimes I got 10) just to talk to me. I ask them what there plans are, why they took the course, and they get to ask ME what they want.

The most common question I got:

              Why is your mii the example of a mii on the Wikipedia entry on mii: here (permalink)

I was originally hesitant  to blog about this because (1) it may go away soon, and (2) I don't know.

But (1) its been there and stable for a while, and (2) I can speculate:

1) A prof in my department (not me) made and posted a Wikipedia page about me.

2) That page used the mii.

3) The powers that be at Wikipedia took down the mii (along with the list of my grad students who got PhD's).  This post is not a rant about this, but I will note that I think they should have allowed the mii since it looks like me. whenever I am going to meet someone at an airport I email them the mii and it always works.

4) Speculation: since it was on my Wikipedia page this mii was in the public domain and they could easily access it. Hence they used it. Is Wikipedia this arbitrary? Yes.

5) My darling thinks is unfair that the mii page can use my mii but my page can't. I just think its odd.

Thursday, June 14, 2018


Thanks to Grigory Yaroslavtsev for taking over the Theory Jobs Spreadsheet. Details on Grigory's blog. Check out who is going where next year.

My office has an awesome view of Midtown Atlanta. Midtown has seen considerable construction over the last decade and I get to see the skyline change before my eyes. NCR opened an impressive glass building for their new world headquarters just a few months ago not coincidentally a short walk from Georgia Tech. A few weeks ago I got a tour of this facility.

Most of the employees in the building do not get their own offices or desks. They have an open floor plan with hoteling. They use an app to reserve a desk up to a few weeks ahead of time. Each desk has a keyboard and two screens that they stick their laptops into. Their cell phones become their main phones. There are many conference rooms of different sizes, even some tiny ones meant for a single person to have a phone call or escape to some quietness.

Would hoteling work in the academic world? Never, you learn quickly that professors will never give up two things: their office or their parking. When we do talk about hoteling, we talk about a shared office for people who have a main office in a different building.

With faculty who often travel at far too many conference, or on some days working out of home or coffee shops and rarely using the books in their office, if they have them at all, why do we stick to the old fashioned offices?

The best academic research require collaboration, between faculty, students, postdocs and other researchers. The best times I've had as a professor is when a student or colleague walks into my office with a question, an idea or sometimes a proof. Better if I have some place to be found and not just a location in an app.

I'd also miss the view. 

Monday, June 11, 2018

How the Villarino-Gasarch-Regan paper came about

(This post overlaps a prior one here. The paper I am blogging about was also blogged about by Lipton here. The paper itself is on arxiv here. My slides for a talk I will be giving on this material are here)'

Todays post is on how the paper came about. A later post will be about why someone else didn't do it earlier.

How this paper came about:

Many years ago Bill noticed that while several books on Ramsey theory (see my prior post for quotes) state that the HCL was the first Ramseyian theorem. I think one source mentioned in passing that Hilbert used it to prove the Hilbert Irreducibility theorem (HIT). Bill could not find a modern English exposition of the proof.  So he asked Ken Regan (who not only knows German but can recite The Lewis Carol Poem Jabberwocky in German!) to translate it, and then Bill would put it in modern language, and there would be an exposition. Bill got bogged down in some of the math, and they both got bogged down with other things (For Ken catching chess-cheaters, for Bill mentoring HS students, for both of them, blogging.) Many years passed.

Sometime before 2015 Larry Washington showed me a nice proof that (ignoring mult constants)

∑ 1/p ≤ ln(ln(n)) + O(1) (the sum is over all primes p ≤n )

Read that carefully. There are many proofs in the web that the sum isat least  ≥ ln(lg n) but I could not find any that the sum was ≤ ln(ln n).  Larry Washington told me that the result and
the proof were not new. I told him that, even so, it doesn't seem to be out there. So we agreed to write and and post to arXiv but not publish in a journal. It's here.

This arXiv paper caught the attention of Mark since he had an exposition of Merten's proof  see here that that sum diverges. Mertens proof had explicit bounds which are missing from modern proofs.

I got into an email discussion with Mark about Math and History and I casually mentioned that Ken and I had worked on-and-off on HRL and HIT.  A few weeks later he emailed me a translation of the paper.  WOW! We worked together on polishing it, combining it with what Ken had done, and later brought Ken back into the project. I say without embarasment that we NEEDED Mark to resolve some of the issues we had and push the paper out the door. A Win-Win-Win.

And a lesson here--- Larry Washington was reluctant to publish on arXiv a paper on stuff that was already known. I should have told him

But Larry, if we do that I might find someone to help me finish the Hilbert paper

In a word: Serendipity.

Wednesday, June 06, 2018

I tell my class that P is important because... but is that really true?

When teaching P vs NP  the questions arises (and if not then I bring it up) what if you have algorithm in P that takes n^{100} time?. Or even n^{5} time which might be too long.

I have given the following answers for years; however, I post this and will use your comments as a sanity check. In fact, I suspect I am wrong on some points.

1) IF SAT was in P then something very clever was done. Even if its n^{100} it was very clever. That cleverness will almost surely result in other better algorithms. They may only be better in practice by not in theory (it works in practice- if only we can get it to work in theory :-) ), but it will still work and be a great advance.

2) IF SAT was in P then perhaps we could USE SAT in P to get a better algorithm for SAT in P. This was the theme of a chapter in Lance Fortnow's book The Golden Ticket: P, NP. and the search for the impossible and is also likely behind something I once heard (I think it was from Scott but I can't find it on his blog)  If P=NP then math would be easy and we would have already found a proof that P=NP. Hence P ≠ NP

The two above really can't be WRONG or even RIGHT or even NOT EVEN WRONG since they are speculations. The next few is where I need my sanity checked

3) Whenever a real world natural problem is in P it has a low degree poly algorithm OR there are ideas to make it work in practice, if not in theory. When Lance read a prior version of this post he pointed out that `real world natural problem' is not a well defined term. True. Not sure what to do about that. Even so, is this true? roughly true? Something theorists say to be able to sleep at night?

4) In the real world people say ``OH- the problem is NP-complete. Better look for approx solutions instead''  Or similar things. While this sounds true since I have never worked in the real world I really don't know. Is that what people say? do?

5) If Lance proves P=NP next week then the consequences are enormous for real people working on real computing problems. But what if Lance proves P NE NP? Would that affect people working on real computing problems? A long time Carl Smith told me If P NE NP was proven then the proof would have great insight into computing which would have a real affect on real people working on real computing problems. My Darling (who is a Software Engineer) is skeptical of that. What do you think?

Friday, June 01, 2018

BQP not in the Polynomial-Time Hierarchy in Relativized Worlds

The quantum complexity world is a rocking with the paper released yesterday by Ran Raz and Avishay Tal, Oracle Separation of BQP and PH, resolving a question open since quantum complexity got its start over two decades ago. Scott Aaronson's 2010 paper that sets some of the groundwork for the Raz-Tal result gives a nice overview of the question.

All of you readers should be familiar with the P v NP question. P is the set of problems efficiently solvable by a deterministic computer. NP are the problems for which there exists a witness that we can verify quickly. The polynomial-time hierarchy (PH) is the constant alternation generalization of NP that has played a major role in computational complexity So why don't we talk about the P vs PH question? That's just equivalent to P vs NP.

BQP is the the class of problem efficiently solved by a quantum computer. Since P sits in BQP which sits in PSPACE we can't prove outright any separations for BQP without separating P from PSPACE. We can though get an understanding of complexity by allowing the machines access to the same oracle and seeing what we can separate. We already knew BQP doesn't sit in NP relative to an oracle. Same was true for BPP (efficient probabilistic computation) but BPP is in PH for all oracles as are constant round interactive proofs. So we might expect we can have BQP in PH, BQP solvable with constant alternations, relative to all oracles. Raz and Tal refute that hypothesis.

Raz and Tal's proof builds on the Forrelation concept developed by Aaronson (under the name Fourier Checking) and extended by Aaronson and Ambainis. The oracle isn't complicated: Pick n numbers x1,...,xn each xi chosen from a normal distribution with mean 0 and variance a small ε > 0. Let y=y1,...,yn be the Hadamard transform applied to x1,...,xn. You then probabilistically round the x's and y's to 1 or -1. A quantum machine can distinguish this distribution from uniform using the fact that quantum machines can do Hadamards easily and Raz and Tal use Fourier show that low-depth alternating circuits (that capture PH) can't distinguish so easily. The paper is well-written if you want details.

A few questions for further directions:
  • Can you show a relativized world where P = NP (=PH) but P ≠ BQP? I'd suspect it will be a messy but not too hard generalization of this paper.
  • How far can you push the Raz-Tal result, i.e., for what function f(n) can we show that BQP cannot be solved by f(n)-alternating polynomial-time Turing machines. Can you show f(n) = nΩ(1)?
Also see Scott's personal take on this new result.

Thursday, May 31, 2018

Seventh Grade Math Contest

I stumbled upon an old blog post on the Lesswrong weblog that quotes several famous mathematicians  on the connections, or lack thereof, between mathematics competitions and mathematics research. Let me tell you how a seventh grade math contest altered the course of my life.

In 1975 I attended seventh grade in a middle school in upstate New Jersey. The school divided the students into three tracks, honors, standard and remedial, and I was an unexceptional student in the standard track. We all took a math pretest to determine who would represent the school in a state-wide competition. To everyone's surprise, especially my own, I killed on the test scoring twice as many points as anyone else. The school adjusted my course schedule but because of my not-so-great English skills I became the only student taking honors math and science and standard English and History (with a racist history teacher but that's another story). I think I came in 12th in the state competition.

I never did well in math contests after that, doing okay but not particularly strong in high school competitions. But the experience drove me to what we now call STEM. I got involved in computers and math in high school which led me to study engineering, briefly, at Cornell. I did make the Putnam team as a freshman at Cornell, but scored a zero which pretty much ended my career in math competitions.

Wednesday, May 30, 2018

Why is someone emailing me an offer to apply to be chair?

I recently go the following email (I blocked out identifying information of who send it and what college is involved. I doubt I needed to legally but... you never know.) I include my comments on the email in cap letters.

I am NOT flattered by the email. I have LESS regard for those who send it.

I will say that the school is respectable and I had heard of them. I'm just surprised they heard of me.

(The letter was typeset fine- if there are problems with typesetting below thats on me.)

Dear Dr. Gasarch,

XXX Inc. has been retained to assist XXX University in the search for the
next Chair of the Computer Science and Engineering Department.


Your expertise and accomplishments have come to our attention, and we would appreciate the opportunity to speak with you about this position.




Could you suggest some times over the next week that
might work for your schedule? We will be very respectful of your time.

XXX is located in XXX, XX where the city’s diverse and growing population puts it in the
Top 10 U.S. cities in population and in the Top 5 fastest growing cities. XXX has an endowment of $1.5B and recently completed a $1.3B campaign. The Computer Science and Engineering Department has been targeted for significant advancement and new faculty hires. The next Department Chair will lead and direct this enhancement.

The XXX Metroplex is a dynamic region with leading high-technology companies in the aerospace,
defense, energy, information technology, life sciences, semiconductors, telecommunications,
transportation, and biomedical industries. Some of the top companies and research institutes with a strong presence in the XXX area include LONG LIST OF COMPANIES I HAVE HEARD OF.


Please click here to view a two-minute video in which the President, Provost, and Dean of the
XXX School of Engineering at XXX discuss some of the possibilities for research and growth
that the Chair of Computer Science and Engineering will have the opportunity to develop.
Cybersecurity, particularly, is an identified area for growth and hiring to directly complement the XXX Institute for Cyber Security. A full listing of the qualifications and duties of the position can be found in the profile under “Current Searches” at XXX




So why did they email me? Speculation

1) They meant to email Lance and got confused.

2) They cast a VERY wide net. The UPSIDE of doing that so is that they might find someone
they would have overlooked. The DOWNSIDE of doing that is... thats the problem with
spam- there is absolutely no downside.

3) They emailed every computer science professor who has a wikipedia page? a blog? a book?
Some criteria which I happened to fit.

Thursday, May 24, 2018

Kolmogorov Complexity and Causation

I got an interesting email question.
Suppose I give you a set of points S of the form (x,y). He suggested ideally they would be pairs of a real numbers. Supposing there is a causal relationship between x and y of some kind, we want to know know if it is more likely that the x value causes the y value or the y value causes the x value. One plausible way to decide what the answer should be is by answering the question is the length of the shortest program which maps the x values to their y values shorter than the length of the shortest program which maps the y values to their x values.
So, my intuition says that this is clearly undecidable. I'm actually having a hard time thinking of a proof, so do you happen to know of one or if this problem might actually be decidable?
On a related note, since I'm already writing you about this question, do you happen to know about the complexity of any related questions which involve circuit size instead of program length? 
Let's use notation from Kolmogorov complexity, letting C(x|y) be the size of the smallest program that takes y as input and outputs x. Now suppose it is decidable to determine whether C(x|y) > C(y|x). Then find an x of length n such that for all y of length n/3, C(x|y)>C(y|x). Such x exist: For any random x, C(x|y)>= 2n/3 and C(y|x) <= n/3.

Now I claim C(x)>=n/4 for the x you found. If not we have C(x|y)<=C(x)<n/4 but for some y, C(y|x)>=n/3 since there aren't enough shorter programs to cover all the y's.

Since there is no computable procedure to find x such that C(x)>=n/4, there can't be decidable procedure to determine whether C(x|y) > C(y|x).

But does this question relate to causality. Pick a random x from strings of length n and y at random from strings of length n/3. We have C(x|y) >  C(y|x) even though there is no causality.

Instead you could look at the information of y in x, how many bit of x does y help describe, defined by I(y|x) = C(x)-C(x|y). This measure correlation since I(y|x)=0 iff x and y are independent but symmetry of information gives I(y|x)=I(x|y) so no hope for causation.

In short, Kolmogorov complexity won't give you much on causation--you can't avoid the controlled experiments.

For your last question, there is a notion of Kolmogorov complexity that roughly corresponds to circuit size, KT(x|y) defined as the sum of the program size and running time minimized over all programs p that take y as an input and output x. I'm guessing it's hard to determine if KT(x|y) < KT(y|x) and you could probably show it under some assumption like secure psuedorandom generators. Also symmetry of information isn't believed to hold for KT complexity so maybe there is something there. Interesting questions.

Sunday, May 20, 2018

COMPUTER PROOF vs computer proof- Quadratic VDW theorem

Quad VDW Theorem: For all c there exists W=W(c) such that for all c-colorings of {1,...,W} there exists a,d such that a and a+d2 are the same color.

What is known about W(c)?

The first proof of Quad VDW was nonconstructive.

The second proof was constructive but used VDW's theorem and gave terrible bounds, even for W(2).

EASY: Show W(2)=5

ON A HS MATH COMP: Show that for all 3-colorings of {1,...,2003} there exists two numbers a square apart that are the same color.

One can get a bound less than 100.

With a lot more detailed work one can get W(3)=29.

None of above was done with a computer.

SO- what about W(4)?  There are three proofs that W(4) exists:

a) Prove the QUAD VDW theorem. This gives terrible bounds.

b) I had some students use SAT solvers and they obtained W(4)=58. I am sure they are right and I am glad to know it (especially since it confirms the general mantra that the bounds from proofs in Ramsey theory tend to be much bigger than the reality) but its somehow unsatisfying. I want a HS proof. I wanted to put it on the MD Math Comp for 2017 but wiser people prevailed.

c) I gave the problem to a Grad Student Zach Price and he came up with a HS proof-- sort of.  Look at the following graph: here.  It shows that in any 4-coloring of N which does not have two numbers a square apart the same color:

COL(x) = COL(x+290085289)

from this one can obtain

W(4) ≤ 2900852892  (which is MUCH better than the bound from the proof of Quad VDW) and hence a proof of QVDW that does not need a program, except that to FIND this gadget used a program.  I doubt a HS student could do this on an exam.

Is Zach's proof the HS proof I am looking for?

PRO- once you see it its easy to verify and does not need a program.

CON- coming up with it needed a program.

More to the point: which proof do you like better:

1) The SAT Solver proof.  Not a proof you can see or feel, but gives exact bounds.


2) Zach's gadget proof. Much worse bound but you can see and feel the proof, and verify it after you know the gadget.

I prefer Zach's proof.

Thursday, May 17, 2018

The Complexity of the Firm

In 1937, a year after Turing had his seminal paper, Ronald Coase published a paper The Nature of the Firm to give a framework to why we have companies and how large they become. In a perfect market economy we shouldn't need a firm at all, everyone is just an independent contractor and market pricing will drive efficient use of labor. Coase notes there are costs to creating contracts and one can gain efficiencies by avoiding these contracts by having both parties inside the same organization.

Much of those costs come from complexity, it is impossible to create a contract to cover all possible outcomes and thus contracts are incomplete leading to loopholes and lawsuits.

In the other direction, having the central organization of a firm has its own costs, from inefficiencies from not using markets to balance supply and demand, to the complexity of the organization processes themselves. In Coase's model, a firm grows to a size that balances the organization and contract costs at the margin.

So what happens to the sizes of firms when we reduce complexity, as happens with modern computing, from better communication, optimization and data analytics. We see relatively new companies like Google and Amazon getting larger. We also see a number of startups and small companies with very few workers, sometimes just one.

Computing drops both the cost of central organization and the cost of contracts so the size of a firm depends on circumstance. One can have a tech startup with a small number of workers since they can write apps that run on other people's platforms (like web browsers and on phones) and have the processing done on the cloud where they can scale or not scale as needed. Meanwhile a large company can more easily coordinate and connect using modern technology making it cost efficient to expand.

As we enter a new age of machine learning and automation, how will that affect the very nature of companies in the future? How about universities, a special kind of firm in itself? How can we harness the tools and ideas from computational complexity to help understand these and other societal changes.

Monday, May 14, 2018

What does it mean for a student to guess an answer?

On my final in Aut Theory I wanted to ask a TRUE/FALSE/UNKNOWN TO SCIENCE
question but did not want them to guess. Hence I had +4 for a right answer, -3 for a wrong answer.
Here is the question:

For each of the following say if its TRUE, FALSE, or UNKNOWN TO SCIENCE. No Proof Required BUT you get +4 for every right answer and -3 for every wrong answer and 0 for an answer left blank. So

                DO NOT GUESS!!!!!!!!!!!!!!!!!!!!!!!!!!!

a) If A is regular and F is a finite set then A UNION F is regular.

b) If A is in P and F is a finite set then A UNION F is in P.

c) If A is in NP and F is a finite set then A UNION F is in NP.

d) If A is decidable and F is a finite set then A UNION F is decidable.

e) If A is undecidable and F is a finite set then A UNION F is undecidable

Note that they are all TRUE. A student who (as many did) answered T-T-T-T-F had the following conversation with me:

BILL: You guessed! I told you DO NOT GUESS!!!!!!!!!!!!

STUDENT: No. I REASONED that you would not make them all T, so by this reasoning the last one had to be F. I now see that my reasoning is wrong--- you would make them all T, but it was not guessing, it was reasoning.

                I claim the student was guessing, he claims he was not. What do you think?

Having said that, the following IS a rational strategy:

If I don't know the answer but it has nothing to with P vs NP then it has to be T or F. In this case guess since exp val is positive.  If the answer has to do with P vs NP then do not guess.

This also raises a question- if they honestly thought (say) e was F I want to just give them 0,  whereas if they are guessing or using reasoning about `Bill wouldn't ...' I want to give them -3. But alas, we cannot read their minds or souls.

Friday, May 11, 2018

Richard Feynman (1918-1988)

When I took cryptography from Manuel Blum, he handed out copies of the chapter "Safecracker Meets Safecracker" from Richard Feynman's book Surely You're Joking Mr. Feynman. Feynman, the Nobel Prize winning physicist who was born a hundred years ago today, wrote this book not about physics but just a series of stories from different times in his life. This chapter described how Feynman learned how to open locked safes in Los Alamos during the Manhattan Project.

We all have interesting stories to tell but Feynman finds a way to keep things compelling in a way most scientists could not--even if he sometimes comes off being a bit of a jerk, hence the title. This book inspired me to tell my own stories which occasionally show up in this blog.

His most important stories form The Feynman Lectures on Physics (free to read online), an amazing explanation of deep physical concepts.

Richard Feynman's biggest contribution to theoretical computer science comes from a 1981 keynote address.
What kind of computer are we going to use to simulate physics? The full description of quantum mechanics for a large system cannot be simulated with a normal computer. And therefore, the problem is, how can we simulate the quantum mechanics? Can you do it with a new kind of computer—a quantum computer?
which begat a proof-of-concept paper by David Deutsch and Richard Jozsa which begat Daniel Simon's exponential separation which begat Peter Shor's factoring algorithm which begat billions of research dollars and considerable expectations, real and imagined, for Feynman's vision.

Wednesday, May 09, 2018

Second of N posts on G4G13. Maybe

(Don't forget to vote for SIGACT posistions:here  9th workshop on Flexible network design, May 22-25 at College Park, here.)

My first poston G4G13 is arguably here. To see why its debatable, see that post.


In a Foxtrot cartoon (see here) Foxtrot has a glass which looks like it is half-full (or half-empty)
and asks people if its half-full or half empty. But the jokes on them!
The class is slightly angled so its actually 5/12 full (or 7/12 empty)
Given the area of the top and bottom What is the angle?
Generalize to other dimensions.

HEX PRIMES by Spandan Bandyopadhyay

Here is an alternative definition of primes that
lends itself to a generalization.

A number x is PRIME if when there is a rectangle with
integer sides and area x, one of the sides is 1.

Lets generalize this!

A number x is TRIPRIME if when there is a triangle with
integer sides of area x, one of the sides is 1.

Rather than use these prefixes we will go with

A number x is n-PRIME if when there is a convex n-gon with
integer sides and area x, one of the sides is 1.

HEXPRIMES are of course 6-primes.

The problem with 5-minute talks (maybe it should have been 6 minutes)
is that the concept is intersting but I didn't get to hear much
about them. And I could not find a paper on line. Note that this
conference has many non-academics for whome PAPERS are not the
basic currency so things are more informal. This is GOOD in that
its more of a free-for-all, but bad for follow up.
ALL of G4G12's are on You-Tube, so when that happens for G4G13,
I can follow up on this.

One thing I did manage to write down- 7 is the first HEX-composite.

Thursday, May 03, 2018

Broader Impacts Redefined

The ACM Future of Computing Academy suggests that "peer reviewers should require that papers and proposals rigorously consider all reasonable broader impacts, both positive and negative." Here is the broader impacts section of a future imagined grant proposal.

My latest cryptocurrency paper will allow people to sell all sorts of paraphernalia, illegal, immoral and fattening, while avoiding paying taxes. Dr. Evil and his minions can move money around the world anonymously to more easily implement their dastardly plans. With this new work bitcoin will increase in value, causing far more mining setups that will deplete the energy resources of the world.

Since I already own bitcoin, I will get filthy rich, increasing the gap between the one-percenters and the middle-class. I'll buy a fancy car and reprogram the auto-pilot to run over people who get in my way. And all those pesky bicyclists clogging the roads. That would be a positive impact.

For the rest of humanity my new quantum gravitation algorithm will put all those people out of work. But their misery will be short lived because if anyone tries to run the algorithm, it may cause a small black hole that devours the earth.

My proposed generic oracle separation would seem to have no impact whatsoever. But what happens if an alien race threatens to destroy the planet unless we find such a separation. I will have saved the earth, a very positive broader impact. Of course a different alien race could visit the earth and deem it mostly harmless until they discover my oracle, realized we have advanced too far and then blow us up before we become a threat.

In other broader impacts, I will train graduate student to be just like me. Whether this is a positive or negative impact I leave to the reviewers.

Monday, April 30, 2018

Gathering for Gardner 13 - the first or third of many posts

I attended G4G13 (Gathering for Gardner- meeting 13).  Martin Gardner was the Scientific American Mathematical Recreations columnist from 1956 until 1981.  He had a great influence on many math-people of my generation.

Most of the talks were 5 minutes so they could tell you a problem or thought of interest but not much more. This is GOOD in that I UNDERSTOOD most of the talks!  There were also some talks on Magic and on science literacy (or perhaps science illiteracy) which were also interests of Martin Gardner.

I posted on one problem and its solution so this is either my first or third post on G4G13.

Withouth further ado, here are my descriptions of some of the talks.  OR you could just go here

My descriptions are long- I may have lots of posts on G4G13!


(paper on arxiv here)

In 2014 Taneja proposed the following math problem:

Take the digits 1,2,3,4,5,6,7,8,9.

You can put any of +, -, *, /, and powers you want between the digits, or erase the comma to get (for example) 34. Use parenthesis freely.  Which natural numbers can you produce?

Here are some examples:

1 = 1 + (2 - 3) - (4 - 5) - (6 - 7) + (8 - 9)

30 = 1 + 2^3     -  4*5    +  6*7    + (8-9)

Which numbers can you get?

Taneja got all the numbers between 0 and 11,111 EXCEPT 10958.

(Is 10958 possible? The talk didn't say.)

Using other operations- square roots and factorials- you can get 10958. The talk was about adding more operations and getting all numbers between 0 and 111,111

THIRTEEN BOUNCES by Gary Antonick.

Since this was G4G13 there were several talks about the number 13. The hotel did not have a 13th floor, and no room was of the form X13 (I was in room 515 and sometimes overshot my room since I assumed it would go 511-513-515, not 511-515). Martin Gardner would have OBJECTED to the lack of a 13th floor and would have condemned triskaidekaphobia (fear of  the number 13 and the longest word I ever spelled correctly) as irrational. And he would be right. But I am preaching to the converted (also known as preaching to the choir).

The talk was about firing a cannoball at a perfect reflector.  If  the cannon is positioned just right the ball will go back into the cannon. Can you make it do this after taking 13 bounces?  What if you an only use a compass and straightedge for your calculations?


(For more on the Curling Conjecture Google "Curling Number Conjecture"-- I was going to give a list of papers but there are just too many.  There is no wikipedia entry on it, though I did learn about the sport of Curling!)

Take any finite sequence of integers (we will just use natural numbers) for example

2 3 2 3

Write it as X Y Y Y ... Y with as many Y's as possible.

for example

(2 3)2

The number 2 is the Curling Number of the sequence. Append it to the sequence

2 3 2 3 2

Now take the Curling number of this sequence. It is 2 since the sequence is

2 (3 2)2

Append it to the sequence:

2 3 2 3 2 2

Now the Curlng number of this sequence is 1 and we stop.

The conjecture is that if you start with any sequence you will eventually get to 1.

The talk relates the conjecture to aperiodic grammars.

Thursday, April 26, 2018

The 8 digit number I asked for

(On June 29th, co-located with STOC, there will be a workshop to celebrate Vijay Vazarani's 60th birthday. See here. As computer scientists shouldn't we use 64 as the milestone?)

At Gathering for Gardner 13 Peter Winkler gave a great talk entitled

Problems that Solve Themselves.

(The title kind-of gives away how to solve it. And its just the kind of thing Peter Winkler would talk about. Hence I omitted the title and author when I first posted about it)

I blogged about one of them, asking for the answer. I repeat the problem and answer it:

Find an 8-digit number

d_7 d_6 d_5 d_4 d_3 d_2 d_1 d_0

such that

d_0 is the number of 0's in the number

d_1 is the number of 1's in the number

d_2 is the number of 2's in the number


d_6 is the number of 6's in the number


d_7 is NOT necc the number of 7's

d_7 is the number of DISTINCT DIGITS in d_7 d_6 d_5 d_4 d_3 d_2 d_1 d_0

WRONG APPROACH: Work out algebra for the digits, try to force it Actually, I had thought this was the wrong approach but some of the comments on my last blog DID do this.

RIGHT APPROACH:  Take an aribtrary number like

1 1 1 1 1 1 1 1

NOW- look at it and count the number of 0's, 1's, ... 6'ls and the number of distinct numbers
For the new number let

d_0 be the number of 0's in the old number


d_6 be the number of 6's in the old number

d_7 be the number of distinct digits

To get

1 0 0 0 0 0 8 0

iterate the process to get

3 0 0 0 0 0 0 6

3 1 0 0 0 0 0 6

4 1 0 0 1 0 1 5

4 0 1 1 0 0 2 3

5 0 0 1 1 1 2 2

4 0 1 0 0 2 3 2

5 0 0 1 1 2 1 2

4 0 1 0 0 2 3 2

5 0 0 1 1 2 1 3

5 0 1 0 1 1 3 2

5 0 1 0 1 1 3 2

AH- this number works!

Peter Winkle claims that if you start with any 8 digits number this process will converge to a solution within at most 15 steps. I do not think he proved this. But the key here is that by NOT being clever you can easily find the answer. The problem, as the title of the talk says, solves itself!

How many such numbers are there? Proving the process works? Getting statistics on how long it will take on average? I leave all of this to the reader. (I do not know the answers.) And one can ask all of this for other bases and other condidtions on the digits (though calling them digits is odd since that smacks of base 10- what to use instead of ``digits'' when in another base?)

Monday, April 23, 2018

Find an 8-digits number such that ....

(June 29th, co-located with STOC, will be a workshop to celebrate  Vijay Vazarani's 60th birthday. As computer scientists shouldn't we use 64 as the milestone? See here for details about the workshop, not about 60 vs 64.)

I will likely post a lot about Gathering For Gardner 13, but for now I will just give one problem I saw there. I will not say the speaker or the title of the talk as that might be a clue. I'll give the answer in my next post which will be this week

Find an 8-digit number

d_7 d_6 d_5 d_4 d_3 d_2 d_1 d_0

such that

d_0 is the number of 0's in the number

d_1 is the number of 1's in the number

d_2 is the number of 2's in the number


d_6 is the number of 6's in the number


d_7 is NOT necc the number of 7's

d_7 is the number of DISTINCT DIGITS in d_7 d_6 d_5 d_4 d_3 d_2 d_1 d_0

You could prob find such a number by computer search- but don't.

Feel free to comment. I will not block comments (except those we usually block- usually spam)  but by the same token, if you don't want hints, don't read the comments.

Thursday, April 19, 2018

Memory is Hot

A good number of the faculty candidates interviewing at Georgia Tech have a common theme: Memory. Memory connected to databases, to programming languages, to architecture, to operating systems, to networks and in security. Why all the interest in memory?

I started asking the candidates. The short answer: We no longer get faster performance from the CPU but new memory technologies can make a large difference.

Intel and Micron developed a new memory technology they call 3D XPoint ("3D Cross-Point") as diagrammed above, with the memory, in yellow, addressable by choosing the adjacent horizontal and vertical bars. 3D XPoint gives fully bit addressable high-density high-speed non-volatile memory without transistors or electrons. Non-volatile means the memory does not disappear when the power goes off, like a "flash" drive. Intel has announced a 3D XPoint main memory card under the Optane brand available this fall. One could use this memory as a full replacement or in conjunction with traditional DRAM in a heterogeneous system.

What's the big deal? The non-volatility means we can reduce power needed for memory, power being perhaps the biggest bottleneck in computing today. We can have large-scale databases in memory, fast performance with quick crash recovery since the memory isn't lost. 3D XPoint can enable edge or fog computing that brings the power of the cloud closer to the user for applications like virtual reality or self-driving cars where the time to reach a data center can cause unacceptable lag. Like most transformative technologies it will bring opportunities and challenges we can't even imagine now.

As theorists we need to take a leading role. How can we model 3D XPoint-like memories so we can properly develop algorithms and analyze complexity to understand what these memories can or cannot enable? Theoretical Computer Science can play a large role in adapting to new technologies if it is willing to get into the game.

Monday, April 16, 2018

Is DTIME(n) closed under concat? star? of course not but...

(STOC 2018 will offer child care for the first time. I was emailed the following and asked to
pass it on:

We are pleased to announce that we will provide pooled, subsidized
child care at STOC 2018. The cost will be $40 per day per child for
regular conference attendees, and $20 per day per child for students.
For more detailed information, including how to register for STOC 2018
childcare, see

Ilias Diakonikolas and David Kempe (local arrangements chairs)

I tell my class that poly time is nice mathematically since its closed under lots of operations including
concat and *.  That is:

L1 , L2  ∈ P  implies L1 L2 ∈ P.

unlike DTIME(n) which, as you can see, is NOT closed under concat! After all, the proof that P is closed under concat uses that if p(n) is a poly then np(n) is a poly which does not hold for linear time. If p(n) is O(n) then np(n) is NOT necc O(n).

But--- thats not a proof that DTIME(n) is not closed under concat! Thats just the observation that the argument for P being closed under concat does not extend to DTIME(n). Perhaps some other argument does.

I do not believe that. I believe there exists L1 , L2  ∈ DTIME(n) such that  L1 L2 is not in DTIME(n).

I have not been able to prove this. In fact, the question I pose is not well defined since I need to specify a machine model.

I pose the following question which may well be known - if so then please leave a comment:

Find a reasonable machine model (RAM? k-tape TM?) such that DTIME(n) on that model is NOT closed under concat.  (Prob use DTIME(O(n))).

Similar for *

These are likely hard questions since if L is in DTIME(n) then L* is in NTIME(n), (similar for concat),
so I would be separating DTIME(n) from NTIME(n), which HAS been done, but not with nice natural problems of the type that I seek.

Friday, April 13, 2018

Lance and Bill Gather for Gardner

Every two years in Atlanta, recreational mathematicians gather to honor Martin Gardner, whose Scientific American column Mathematical Games through the 60's and the 70's. Those columns inspired budding mathematicians of a certain age including Bill and I.

Bill came down to this years Gathering for Gardner 13. Talks are only six minutes long. Bill talked on the Muffin Problem right after an 8-year old and right before Stephan Wolfram.

We also did a short vidcast from the exhibition room.

Monday, April 09, 2018

Whan a deep theorem of your Uncles becomes standard should you be sad?

(An exposition of Nash-Williams's proof of  the Kruskal Tree Theorem is here)

Andrew Vazsonyi (the mathematician, see here, not the folklorist, see here for that folklorist's wife) conjectured that the set of trees, under the minor ordering, is a well quasi order. I do not know when he made the conjecture, but he was born in 1916 and the conjecture was solved in 1960, so you can take a guess based on that. We only know he conjectured it since when Joe Kruskal proved it, he credits Vazsonyi and calls it `Vazonyi's conjecture' I do not know if anyone else ever called it that.
After a conjecture is solved it's usually called by the solvers name, not the poser's name, so it's hard to find out anything about Vazsonyi's conjecture when it was a conjecture.

Joe Kruskal's proof was quite hard and quite deep (are they necc the same? Prob not). See here for that paper. Nash-Williams three years later, in 1963, provided a much easier, though still deep proof.  (I could not find a free online copy to point to- if you know of one please email me or comment.) Nash-Williams prove is in my writeup.

Joe Kruskal is Clyde Kruskal's uncle (Joe is also known in our circles for MST).  I told Clyde that I made his Uncle's Theorem a problem on my TAKE HOME midterm in graduate Ramsey Theory. He PONDERED- is it sad that this once great theorem is now merely a problem in a course?

I asked  some random students from both my Ramsey Theory class and my Aut theory class for their take on this. Here are the responses.

Dolapo: (Aut Student) Clyde should stop worrying about his Uncle's legacy and start building his own!

Ben:   (Ramsey Student) Bill proved in class that SUBSEQUENCE is a wqo. GIVEN that, the problem wasn't that hard. Had he not given it to us the problem would be impossible.

Clyde: Bill, next time you teach the course give them the problem cold- without any prior theorems about wqo.

Bill: I'd rather not

Nishant:(Ramsey Student) Clyde should be happy, and know it, and clap his hands! People are still talking about his Uncle's Theorem!

Bill: If you're happy and you know it clap your hands! Alice is not clapping here hands. Bob is. What can you deduce about Alice and Bob? Never mind, that will be a different post.

Bill:  If I gave the problem on an in-class exam in a grad course or a take-home exam in an ugrad course THEN you should be sad. But take-home exam in grad-course. That's just right.

Ben: (Ramsey Student) When are you going to do a post about this?

Bill: Since my post will include a pointer to a proof of the Kruskal Tree Theorem, I won't post until after you all hand in your take-home midterms.

Nishant and Ben together: Darn!

Joshua (TA for Aut Theory): I heard the grad students complaining about the problem being too hard is a  sign of a great mathematician. If your  grad students complain then  kudos to Joe Kruskal!

Bill: They Didn't comlain

Clyde: Darn!

Ajeet (Ramsey Student) It's much harder to CREATE new math then to LEARN new math. I feel our working out this problem, given what you already gave us, was more a LEARNING thing rather than a CREATE thing. Like P vs NP: easier to verify then generate.

Katherine (Ramsey Student and Clydes Algorithms TA): A bigger problem for Joe Kruskal's legacy is that people in the algorithms class refer to The Kruskal MST algorithm as Clyde's Algorithm.

Saddiq (Aut Theory Student) If Clyde can test on Kruskal MST on his final (which he did) then you can test on Krusakl Tree theorem on your midterm (which you did).

Anyway, one lesson here is that fame is fleeting. Very few people are remembered 100 years after their death. So Clyde - I am helping keep your Uncle's memory alive!

Clyde: Oh Joy

SO- what do you think? Should Clyde be happy that his Uncle's theorem is on my take him midterm? Should he know it? Should he clap his hands?

Thursday, April 05, 2018

Challenge about NFA for {a^y : y\ne 1000} answered.

Recall that in a prior post I asked

Is there an NFA for  { ay : y ≠ 1000 } with substantially less than 1000 states.

I will now show that any NFA for this set requires 999 states, so essntially 1000. The proof uses Ramsey Theory. I will tell you the little bit of Ramsey Theory that you need.

NO- the above is false.

There is an NFA with 60 states.  I have a complete exposition here and I have a paper (with coauthors) on cofinite unary languages and NFA's here). Generally if you want to only avoid
an the NFA an be done in sqrt(n) + O(\log n) states, but requires sqrt(n) states.

I sketch the ideas here for the 1000.

Convention- `reject 988' would mean rejecting a988.

It is easy show the following:
For all n \ge 992 there exists x,y\in N such that n = 32x +33y

For all x,y  32x+ 33y is NOT = 991.

If you have  an NFA with a 33-loop and a shortcut so you can also to 32 and back to the start
state, this NFA

accepts all y ≥ 992

rejects 991

we have no comment on anything else.

So if you prepend 9 states to that NFA you will have an NFA that

accepts all y ≥ 1001

rejects 1000

How to get all the numbers < 1000?

Use mod 3, mod 5, mod 7, mod 11 loops that only accept if the number is NOT equiv to 1000
mod 3, 5, 7, 11, Since 3*5*7*11 > 1000 we have

if y is rejected then y ≤ 1000, but y \equiv 1000 mod 3*5*7*11, so must have y=1000.

so 1000 is the only reject.

Number of states: 1 + 33 + 3 + 5 + 7 + 11 = 60 states.

I think you can do this in 58, but what is the BEST you can do?
My paper has lower bounds of sqrt(n) so in this case 32.

This is a GREAT theorem to teach to students in a course that covers regular langs and also P vs NP since the students THINK that an NFA cannot do better - AH BUT IT CAN! - so it gives a concrete example of

lower bounds are hard since someone may come along with a very clever trick you didn't think of

This semester when I had the class VOTE on whether or not there was a small NFA

48 thought that ANY NFA would require around 1000 states

One of the best students proved this! or perhaps ``proved'' this

Only 2 students knew that it could be done with MUCH LESS than 1000 states- and those two are exceptions- one is co-author on the paper (and he tells me that he originally thought it required 1000 when I first showed him the problem) and one is someone who often goes to my old course websites looking for more information and problems to work on (I like that ambition!) and came across material on this. 

I tell them `you thought this was the last lecture on reg langs. It was not. it was the first lecture on P vs NP'

Tuesday, April 03, 2018

Challenge: Is there a small NFA for { a^i : i\ne 1000} ?

(Added later- a reader left a comment pointing to a paper with the answer and saying that the problem is not original. My apologies-  upon rereading I can see why one would think I was claiming it was my problem. It is not. I had heard the result was folklore but now I have a source! So I thank the commenter and re-iterate that I am NOT claiming it is my problem.)

Consider the language

{L =  ai   : i ≠ 1000 }

There is a DFA for L of size 1002 and one can prove that there is no smaller DFA.

What about an NFA?  Either:

a) Show that any NFA for L requires roughly 1000 states


b) Show that there is a small NFA for L, say less than 500 states


c) State that you think the question is unknown to science.

I will reveal the answer in my next post, though its possible that (c) is the answer and the comments will convert it to either (a) or (b).

Feel free to leave comments with your answers. if you want to work on it without other information then do not read the comments.

Thursday, March 29, 2018

Almost Famous Quantum Polynomial Time

I have been playing with a new complexity class AFQP, defined in a yet-to-be-published manuscript by Alagna and Fleming. A language L is in AFQP if there is a polynomial-time quantum Turing machine Q such that for all inputs x,
  • If x is in L, then Q(x) accepts with high probability.
  • If x is not in L, then Q(x) rejects with high probability.
  • Q(x) only has O(log |x|) quantumly entangled bits as well as a polynomial amount of "deterministic" memory. 
AFQP is meant to capture the state of the art of current quantum technology.

AFQP has several nice properties, capturing the complexity of many open problems.
  1. If BQP is in AFQP then factoring is in BPP.
  2. If one can solve satisfiability in AFQP then the polynomial-time hierarchy collapses.
  3. AFQP is contained in the fifth level of the polynomial-time hierarchy.
  4. If AFQP is in log-space then matching has a deterministic NC algorithm.
  5. Graph isomorphism is in a quasi-polynomial time version of AFQP.
  6. AFQP = PPAD iff Nash Equilibrium has solutions we can find in polynomial time.
The proofs use a clever combination of Fourier analysis and semidefinite programming. 

Where does the name AFQP come from? The authors claim that they didn't name the class after themselves, and instead say it stands for "Almost Famous Quantum Polynomial Time" as it won't get the fame of BQP. More likely it is because it's April the first and I'm feeling a bit Foolish making up a new complexity class that is just P in disguise. 

A Reduced Turing Award

A Turing machine has an extremely simple instruction set: Move left, move right, read and write. If you want to do real programming, you need something a bit more powerful. So computer architects created chips with more and more operations. As an undergrad at Cornell in the early 80's I worked on coding an email system written in IBM 370 assembly language. As I wrote in a 2011 post,
IBM Assembly language was quite bloated with instructions. There was a command called "Edit and Mark" that went through a range data making modifications based on some other data. This was a single assembly language instruction. We used to joke that there was a single instruction to do your taxes.
After Cornell I spent one year at Berkeley for graduate school where I heard about this new idea: Let's move in the other direction and have a "reduced instruction set computer". Make the chip as simple as possible to simplify the design, save power and increase performance. Fast forward to last week and ACM tapped RISC pioneers John Hennessey and David Patterson for the Turing Award, the highest honor in computer science. They won an award named after the man who created the simplest instruction set of them all.

RISC didn't take over--Intel never really embraced the concept and kept adding new features from real-number operations to AES encryption/decryption built into the processor. GPUs added vector operations and Tensor Processing Units can do machine learning instructions. Added complexity has its complications such as the famous 1994 division bug.

RISC processors do play a role in mobile devices which need to have low power, one can find ARM (Advanced Risc Machines) processors in many mobile phones and tablets. Based on quantity alone there are far many more RISC processors than CISC (C = complex).

These days the lines between the processor and the operating systems blur and we are programming chips. David Patterson continues to work on RISC, with a recent open RISC-V architecture that also supports chip programming. John Hennessey was otherwise occupied--he was president of Stanford from 2000 to 2016.

Monday, March 26, 2018

Why do we give citations? How should we give citations?

Why do we cite past work? There are many reasons and they lead to advice on how we should cite past work

  1. Give credit where credit it due. Some people over cite and that diminishes any one citation. I once saw a paper that had in the first paragraph: ''Similar work in this field has been done by [list of 20 citations].'' One of the papers in that list was extremely relevent, the rest much less so. This is not really helpful. There should be less citations and more about each one.
  2. If you are using a result in a prior paper the user should be able to read that paper. For that reason I try to give the websites of where the paper is. (this might be  less crucial now then it used to be since if a paper is on lnie someplace for free its usually easy to find). Some students ask me if its okay to cite papers on arXiv. Of course it is, especially if it's to guide the reader to a place to read the result. Note also that papers on arXiv are not behind paywalls.
  3. At some point a result is so well known that it does not need a citation. It's not clear when this is. I think people write `by the Cook-Levin theorem' without citing the original source. Nor do people ever cite Ramsey's original paper either. See next item for why this might be a mistake.
  4. A reader might want to know WHEN a result was discovered. For this reason, perhaps people should give references for Cook-Levin or for Ramsey. The original source is often NOT a good place to read a result so I often do  ``by a theorem of Curly [1] (see also Moe's simplification [2] or Larry's survey [3])'' so I give the reader WHO did it first, when they did it, but also an alternative place to read it. However, when does it end? `By the Pythagorean theorem [1] (also see [2])'
  5. A reader should know the context of the result.  Is the problem new? Is the problem related to other problems? Has there been much work in this field? Inquiring minds want to know!

Wednesday, March 14, 2018

Stephen Hawking (1942-2018)

Stephen Hawking passed away earlier this morning in Cambridge, England. As a brilliant theoretical physicist and best-selling author all while dealing with a debilitating disease, Hawking rose to be the best-known scientist of his time. 

I'll leave it to the physics blogs to talk about his research. Hawking inspired me through his 1988 book, A Brief History of Time. Hawking told Time magazine before the magazine's publication "Someone told me that each equation I included in the book would halve the sales. In the end, however, I did put in Einstein’s famous equation E = mc2. I hope that this will not scare off half my potential readers.”

So you read the book and he manages to describe his highly mathematical-based view of the universe without resorting to mathematics, by far the best written popular science book I have read.

A Brief History of Time came out when I was in grad school so it didn't play a role in me becoming an academic but it did make me realize that science has a story to tell. From the preface of my own book.
I took inspiration from Stephen Hawking's A Brief History of Time, which explains physics not through formulas and technicalities but with examples and stories. I attempt to do the same here to explore the spirit and importance of the P versus NP problem.
I am under no illusion that I came even close to Hawking's level of exposition.

A poll taken last year showed most Americans could not name a single living scientist but among the 19% that could, the scientist they named most often was Stephen Hawking. We lost not only a brilliant physicist but one of the great symbols for science of our generation.

Monday, March 12, 2018

Wanted: An Easy Proof of a Weak Theorem in NT so that I can get another VDW--> Primes infinite proof to be really easy.

(All math in this article is here)

A while back I posted about a proof that Van Der Waerden's theorem implies the number of primes
is infinite (see the post here). That post brought up some logical issues.

More recently there is another proof that the primes are infinite that raises (for me at least) some number theory results and proofs. The proof uses the following theorem:

There are no 4-length Arithmetic Progressions consisting of squares.

This is attributed to Fermat. All of the proofs I've seen of it look difficult.

Here is a sketch of the proof of infinite number of primes from VDW and the theorem above.
Assume that {p1,...,pm} are all of the primes.  Let vi(n) be the power of pi in the factorization of n.

We define the following 2m coloring of N

COL(n) = ( v1(n) mod 2, ... vm(n) mod 2)

There exists a monochromatic 4-AP.  We leave it to the reader to show that you can use this to get a 4-AP of squares.

Using Fermats 4-AP theorem is hard!  In the write up I show how to use a stronger VDW theorem and a weaker (at least easier to prove in my opinion) result in Number Theory to get a different proof.

VDWPlus: for all k,c there exists W such that for all c-colorings of [W] there exists a,d such that

a, a+d, a+2d, ..., a+(k-1)d AND d (that's the PLUS part) are all the same color.

Now to prove primes are infinite. Assume not. p1,...,pm are all of the primes.

Let vi(n) be as above

COL(n) = (v1(n) mod 4, ..., vm(n) mod 4)

just apply this to the k=1 case so we have

a, a+d, d all the same color.  Say the color is (b1,...,bm) where bi in {0,1,2,3}

mult all three by p1^{4-b1} ... pm^{4-bm}.

now we have A, A+D, D all four powers. call them x^4, z^4, y^4 and you
contradict the n=4 case of Fermat'ls last theorem (this is the easiest case and was proven by Fermat)

TO DO: find an even easier theorem in Number Theory to use with a perhaps more advanced form of VDW theorem to get a proof that primes are infinite.

Coda: Cute that I replace one theorem by Fermat with another theorem by Fermat.

Friday, March 09, 2018

Data-Driven Programming

Five years ago I posted about Flash Fill, a then new Microsoft Excel feature that would reformat data based on examples. I just checked the latest version of Excel and Flash Fill is still there just working by making suggestions when appropriate. It uses a programming language approach finding the simplest string manipulation program consistent with the examples.

I loved the idea of example-based programming but it did seem pretty limited at the time. With the machine learning revolution we've gone full circle. We solve a number of problems with data and examples alone: voice recognition, face recognition, spam detection, playing Chess and Go from scratch in ways we wouldn't even know how to program.

That's not completely true: Designing a good machine learning program requires programming to get data in a good format and creating the right network structure to learn is still considerably an art. But the real magic does happen when the deep learning process happens creating a neural net that works well in ways we can't fully understand even when we look at the final network produced.

Now "it's all about the data". This hit me when I got an email invitation for the Uber visa card. Unlike other branded cards it gives you no particular discounts or rewards for Uber. Rather it gives you significant cash back for dining and travel, in other words for giving Uber the data about you that can make Uber itself more valuable to you.

Nothing in this post should be new to you readers. But every now and then just take a breadth and realize who much our notions of computing and data have changed over even the past five years.

Programmers aren't going away. Machine learning works well for things humans do well instinctively. But for actual number crunching, simulations and manipulation, even what Flash Fill does, machine learning has much more to do.

Wednesday, March 07, 2018

When the Wrong People raise the issue

On my discrete math final in Spring 2017 I had a question:

Prove that sqrt(2/3) is irrational.

A student emailed me the folloing (I paraphrase and am prob not as elegant or as long as he was)

Dr. Gasarch

I received only 2 points out of 20 on Problem 3 of the final- the one that asked us to prove that sqrt(2/3) is irrational. This was graded rather harshly, and the reason is endemic to the entire course. It was unclear what we could and could not assume in this problem. That has been unclear all semester.

I responded (I leave out the name for privacy)

Mr. Student

Come by my office and we will look over  your final. At the same time, bring by your HWs and Midterms to look at. The deadline for regrading those is up; however, either you are correct and I will learn how to run a better course by looking over your HWs and midterms, or you incorrect and you will be enlightened by us looking over them.

We agreed to meet. The Student came all ready to  argue not just points on the final but also about the course in general. I looked forward to this since either I would learn about how to run the course better OR I would enlighten a student!

STUDENT:  I used the obvious fact that the ratio of two irrationals is irrational. How was I supposed to know I had to prove something so obvious!!!!!!!! And only 2 points!!!!!!! Really!!!!!!

BILL: What is the ratio of \sqrt{8} to \sqrt{2}.

STUDENT:  sqrt(8)/sqrt(2) = sqrt(8/2) = sqrt(4) = 2. Why is that relevant?

BILL: You just showed that the ratio of two irrationals could be rational.


BILL: Lets look over your HW and midterm and see there were times when it was not clear what you could assume OR if not then I can clear up some misconception you had.

STUDENT: Uh, Uh. Nevermind.

BILL: You are here with your HWs and midterms, lets take a look.

He really didn't want to. I think he really just wanted more points on the final But since he phrased it as a philosphical debate about how the course was run, I took him at his word.  Everything he showed me was either clearly wrong or clearly unclear. None of it fell into the category of `not clear what you can assume'.

This disappointed me. I suspect someone could make a case that my course sometimes does not make it clear what you can assume. Other students with a similar story as above claim my course is to pedantic. But the examples they show me of this are usually just wrong, not marked wrong for being to pedantic.

There is a more general problem here. The students who complain about a  course may well have a valid point to make!  But its usually students who are not very good making the complaint, and hence they are not the ones who could make a good argument.  One thing I have done when a student has a complaint about how I run the course is then ask my TAs about it. This has been helpful sometimes but they are on the other end -- the course is easy for them so its hard for them to see the problems.

Having said all of this I will own up to one flaw I've had which the students complained about incoherently  (see here) and my TA pointed out the fair objection.  I had taught ONE type of Pigeon hold argument and tested them on a very closely related but different type -- as a way of testing if they understood pigeon hole and were not just memorizing. It was a fair question BUT my TA said
(correctly) I was more interested in getting a good test question then, you know, TEACHING them the Pigeon hole principle -- so I should in the future (and I have) teach them LOTS of versions, make sure they understand them, and then if on the exam I give them a variant its more fair. But more importantly he pointed out that I (and this is correct, or was) have a QUESTION I really want to put on the midterm and then teach the course so that it makes sense to do so. The question is fair, but this is NOT the point (which is why the students objections were incoherent- the question was fair). I am setting (some of them) up to fail.  I have CHANGED my Teaching style and exam style since them.

But my point is that the students could not possibly have raised that objection-- partly because the students complaining are not very good, but also because they do not see what goes on behind the scenes.

UPSHOT- if your students have an incoherent complaint there may be something to it and you should ask your TAs.

Thursday, March 01, 2018

Me and My Bolt

On Tuesday I got a knock on my car's window. Rolling it down someone asked if I liked my car as he was thinking of buying one himself. Was I driving the latest Tesla? No, the Chevy Bolt, General Motor's newest fully electric car.

On March 31, 2016 me and 180,000 of my closest friends put $1000 down sight unseen on the Tesla 3. As an east coast resident with no prior Tesla I am well down the list even though I made a reservation on the first day. I got disillusioned by early production problems and delays and bait-and-switch emails.
Now that some more details regarding Model 3 came out, I wanted to gauge your interest in coming in for a test drive in a Model S. An incredibly well equipped Model S can be had for under $80k and with the $7500 federal tax credit and $1000 referral code from a current owner, you can get into a Model S for close to $70k, meanwhile a Model 3 can cost up to $60k. Model S is considerably quicker and has an incredible amount of space to seat 5 comfortably. It is our flagship vehicle and has 5 years of manufacturing behind it to perfect the build quality of the car. Not to mention a quick turnaround time on delivery. I would love to host you in our showroom so I can showcase some of the incredible features in the Model S.
Meanwhile a GM executive on the Georgia Tech College of Computing's advisory board suggested I take a look at the Bolt. I was skeptical but he arranged for a local dealer to bring down a car to test drive. I got sold and bought my own Bolt in December.

It's an all electric car with no transmission so quick smooth acceleration. The Bolt has a one pedal driving mode as the "gas" pedal also works as a break which slows down the car by pulling power to the battery. The car doesn't even pretend to be mechanical, a screen boots up when I turn the car on, you can shift into park by pressing a button. The rear view "mirror" is really a camera. When driving slowly there is a simulated view from above. A little freaky but it helps with parking. With Android Auto I basically have Google Assistant and Maps in the car which I prefer to an in-car navigation the Bolt doesn't have.

I get over 200 miles on a full charge and can plug in overnight to get enough power to get to work and back. The car has considerable safety features that warn about cars in blind sports or getting too close to the car in front of you or if you drift from lanes. The Bolt lacks any autonomous features even adaptive cruise control or parking assist. I suspect you could get significant autonomous behavior with a software upgrade but I doubt GM would ever do so.

The car is missing some basic features like power seats and a garage door button. No problem, I rigged up Google Assistant to open the garage door when I say the magic words. Far cooler than pressing a button.

It's not as sleek looking as a Tesla and nobody will shoot it into space but I'm driving the future and it is amazing.