Thursday, April 28, 2016

Claude Shannon (1916-2001)

Claude Shannon was born hundred years ago Saturday. Shannon had an incredible career but we know him best for his 1948 paper A Mathematical Theory of Communication that introduced entropy and information theory to the world. Something I didn't know until looking him up: Shannon was the first to define information-theoretic security and show that one-time pads are the one and basically only code that secure.

Entropy has a formal definition, the minimum expected number of bits to represent the output of a distribution. But I view information as a more abstract concept of which entropy is just one substantiation. When you think of concepts like conditional information, mutual information, symmetry of information, the idea of an underlying distribution tends to fade away and you begin to think of information itself as an entity worth mentioning. And when you look at Kolmogorov Complexity, often called algorithmic information theory, the measure is over strings, not distributions, yet has many of the same concepts and relationships in the entropy setting.

Computational Complexity owes much to Shannon's information. We can use information theory to get lower bounds on communication protocols, circuits, even upper bounds on algorithms. Last spring the Simons Institute for the Theory of Computing had a semester program on Information Theory including including a workshop on Information Theory in Complexity Theory and Combinatorics. Beyond theory, relative entropy, or Kullback–Leibler divergence, plays an important role in measuring the effectiveness of machine learning algorithms.

We live in an age of information, growing dramatically every year. How do we store information, how do we transmit, how do we learn from it, how do we keep it secure and private? Let's celebrate the centenary of the man who gave us the framework to study these questions and so much more.

Sunday, April 24, 2016

Some short bits from the Gathering for Gardner Conference


I attended G4G12 (Gathering for Gardner) a conference that meets every 2 years (though the gap between the first and second was three years) to celebrate the work of Martin Gardner. Most of the talks were on Recreational mathematics, but there were also some on Magic and some are hard to classify.

Martin Gardner had a column in Scientific American called Mathematical Games from 1956 to 1981. His column inspired man people to go into mathematics. Or perhaps people who liked math read his column. The first theorem I ever read outside of a classroom was in his column. It was, in our terminology, a graph is Eulerian iff every vertex has even degree.

For a joint review of six G4G proceedings see here. For a joint review of six books on recreational math including three of Gardner's, see here. For a review of a book that has serious math based on the math he presented in his column see here.

The talks at G4G are usually 6 minutes long so you can learn about a nice problem and then work on it yourself. Their were a large variety of talks and topics. Many of the talks do not have an accompanying paper. Many of them are not on original material. But none of this matters--- the talks were largely interesting and told me stuff I didn't know.

64=64 and Fibonacci, as Studied by Lewis Caroll, by Stuart Moshowitz. This was about a Lewis Caroll puzzle where he put together shapes in one way to get a rectangle of area 65, and another way to get a square of area 64, The following link is NOT to his talk or a paper of Moshowitz, but it is about the problem: here

How Math can Save your life by Susan Marie Frontczak. This was part talk about bricks and weights and then she stood on the desk and sang this song (thats not her signing it).

Twelve ways to trisect and angle by David Richeson. This was NOT a talk about cranks who thought they had trisected and angle with straightedge and compass. It was about people who used ruler, compass, and JUST ONE MORE THING. I asked David later if the people who trisected the angle before it was shown impossible had a research plan to remove the ONE MORE THING and get the real trisection. He said no- people pretty much knew it was impossible even before the proof.

The Sleeping Beauty Paradox Resolved by Pradeep Mutalik. This paradox would take an entire blog post to explains so here is a pointer to the wikipedia entry on it: here. AH, this one DOES have a paper associated to it, so you can read his resolution here

Larger Golomb Rulers by Tomas Rokicki. A Golomb Ruler is a ruler with marks on it so that the all of the distances between marks are distinct. The number of marks is called the order of the ruler. Construction a Golumb ruler is easy (e.g., marks at the 1,2,4,8,... positions I think works). The real question is to get one of shortest length. They had some new results but, alas, I can't find them on the web.

Chemical Pi by John Conway.  There are people who memorize the first x digits of pi. John Conway does something else. He has memorized the digits of pi and the chemical elements in the following way:

HYDROGEN  3.141592653 HELIUM next 10 digits of pi LITHIUM etc

that is, he memorized the digits of pi by groups of 10 and separated by the chemical elements in the order they are on the Periodic table. He claims this makes it easier to answer questions like: What is the 87th digits of pi. He also claims it gives a natural stopping point for how many digits of pi you need to memorize (need? maybe want). (ADDED LATER WHEN I CORRECTED HELIUM TO HYDROGEN: here are some mnemonic devices:  here.

This post is getting long so I may report on more of the talks in a later post.






Thursday, April 21, 2016

The Master Algorithm

We see so few popular science books on computer science, particularly outside of crypto and theory. Pedro Domingos' The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake the World, despite the hyped title and prologue, does a nice job giving the landscape of machine learning algorithms and putting them in a common text from their philosophical underpinnings to the models that they build on, all in a mostly non-technical way. I love the diagram he creates:

Working out from the inner ring are the representations of the models, how we measure goodness, the main tool to optimize the model and the philosophies that drove that model. The book hits on other major ML topics including unsupervised and reinforcement learning.

In the bullseye you can see the "Master Equation" or the Master Algorithm, one learning algorithm to rule them all. The quest for such an algorithm drives the book, and Domingos describes his own, admittedly limited attempts, towards reaching that goal.

I diverge from Domingos in whether we can truly have a single Master Algorithm. What model captures all the inner-ring models above: circuits. A Master Algorithm would find a minimum-sized circuit relative to some measure of goodness. You can do that if P = NP and while we don't think circuit-minimization is NP-hard, it would break cryptography and factor numbers. One of Domingos' arguments states "If we invent an algorithm that can learn to solve satisfiability, it would have a good claim to being the Master Algorithm". Good luck with that.

Monday, April 18, 2016

Its hard to tell if a problem is hard. Is this one hard?

Here is a problem I heard about at the Gathering for Gardner. Is it hard? easy? boring? interesting? I don't know.

Let N={1,2,3,...}

PROBLEM: parameters are s (start point) and f (not sure why to call it f). both are in N

Keep in mind the sequence, in order, of operations:

DIVIDE BY f, SUBTRACT f, ADD f, MULTIPLY by f.

form the following sequence of numbers in N

a(0)= s

Assume a(0),...,a(n) are known. Let A = {a(0),...,a(n)}. N-A are the elements in N that are NOT in A.

If a(n)/f is in N-A then a(n+1)=a(n)/f

Else

If a(n)-f is in N-A then a(n+1)=a(n)-f

Else

If a(n)+f is in N-A then a(n+1)=a(n)+f

Else

If a(n)*f is in N-A then a(n+1) = a(n)*f

Else

If none of the above holds then the sequence terminates.

Lets do an example! Let a=14 and f=2

14, 7, 5, 3, 1, 2, 4, 6, 8, 10, 12, 24, 22, 11, 9, 18, 16, 32, 30, 15, 13, 26, 28, 56, 54, 27, 25, 23, 21,

19, 17, 34, 36, 38, 40, 20,  STOP since 10, 18, 22, 40 are all on the list.

Lets do another example! Let a=7, f=2

7, 5, 3, 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 9, 11, 13, 15, 17, ... (keeps going)

If f=2 and you get to an odd number x so that ALL of the odds less than x have already appeared but NONE of the odd numbers larger than x have appeared, then the sequence will go forever
with x, x+2, x+4, ...

QUESTIONS and META QUESTIONS

1) Can one characterize for which (s,f) the sequence stops.

2) Is it decidable to determine for which (s,f) the sequence stops.

3) Both (1) and (2) for either fixed s or fixed f.

4) Are the above questions easy?

5) Are the above questions interesting?

There are four categories:

Easy and Interesting- Hmmm, if its TOO easy (which I doubt) then I supposed can't be interesting.

Easy and boring.

Hard and interesting. This means that some progress can be made and perhaps connections to other mathematics.

Hard and Boring. Can't solve and are not enlightened for the effort.


Thursday, April 14, 2016

Who Controls Machine Learning?

After AlphaGo's victory, the New York Times ran an article The Race Is On to Control Artificial Intelligence, and Tech’s Future.
A platform, in technology, is essentially a piece of software that other companies build on and that consumers cannot do without. Become the platform and huge profits will follow. Microsoft dominated personal computers because its Windows software became the center of the consumer software world. Google has come to dominate the Internet through its ubiquitous search bar. If true believers in A.I. are correct that this long-promised technology is ready for the mainstream, the company that controls A.I. could steer the tech industry for years to come.
I then tweeted "Can a company control AI? More likely to become a commodity." The major machine learning algorithms are public knowledge and one can find a number of open-source implementations including Google's own TensorFlow that powered AlphaGo. What's to stop a start-up from implementing their own machine learning tools on the cloud?

Some of my readers' comments forced me to rethink my hasty tweet. First, Google, Microsoft and Amazon can create ML infrastructure, cloud hardware that optimizes computational power and storage for machine learning algorithms to get a level of data analysis that one couldn't replicate in software alone.

More importantly, Google etc. have access to huge amounts of data. Cloud companies can provide pretrained machine learning algorithms. Google provides image classification, voice transcription and translation. Microsoft offers face and emotion detection and speech and text analysis. One could imagine, in the absence of privacy issues, Google taking your customer data, matching with data that Google already has on the same customers to draw new inferences about how to market to those customers better.

With almost all our computing heading to the cloud, cloud computing providers will continue to compete, and provide continuing better tools in machine learning and beyond. Eventually will one company "control AI"? That would surprise me but we may still end up with an AI oligarchy.

Sunday, April 10, 2016

What Rock Band Name would you choose?


I looked up my colleague Dave Mount on Wikipedia and found  that he was a drummer for the glam rock band Mud. He informed me that (a) on Wikipedia he is David Mount and (b) if he had a rock band it would be named Fried Purple Ellipsoids.

This  set off an email discussion where people said what their rock band name would be. I noticed that many ideas for names had variants. For example, my favorite for Ramsey Theorists: The Red Cliques could be

The Red Cliques

Red Clique

Bill Gasarch and the Red Cliques!

Clique!

So below I list one variant of each name but keep in mind that there are others.

 The Hidden Subgroups

 Amplitudes with Attitude 

 Schrodinger's cat (I wonder if this IS a rock band already)

 The Red Cliques

 Fried purple ellipsoids

 Fried green ellipsoids

 BIG A-G-T

 The Biconnected Sets

 PRAM!

BPP!  (I wonder if any complexity class would work.)

SAT (I wonder if other one-word problems would work. TSP!)

Karp and the reductions

Avi and the derandomizers 

 Aravind and the  Expanders

(Could replace Karp, Avi, and Aravind with others, but these are the first that
came to mind. Plus THE EXPANDERS was Aravind Srinivasan's idea.)

The MIT Logarhythms (This is a real acapella group see here.)

The Discrete Logarhythms

RSA!

The Oracles

The Interactive Proofs

The Natural Proofs

Fried Green Proofs

If we expand to include math we get lots more, so I'll just mention one real one: The Klein Four, an acapella group.

SO- what would YOUR rock band name be?




Thursday, April 07, 2016

It's All About the Jobs

In the April CACM Moshe Vardi asks Are We Headed toward Another Global Tech Bust? I agree with some of Vardi’s points, mostly that VC money chasing after unicorns (potential billion-dollar start-ups) will not continue at its heavy pace and we’re already seeing a slow down. But I disagree with Vardi’s assessment that “we should brace ourselves for another global tech and enrollment bust” in computer science. I suspect we’ll see more of a reality check, but that reality looks extremely strong.

Vardi claims that “It is the dream of joining a unicorn that probably attracts many students to study computing”. It’s not just the unicorns bringing students to computer science, but essentially a 100% employment rate for CS graduates looking for a job in the field, many receiving six-figure starting salaries. Few, if any, other disciplines can claim full employment after the bachelor’s degree. Industry is desperate to hire computing professionals in machine learning, cloud computing, cybersecurity, mobile computing, automation, robotics and data science, among others. Not just the computing companies but every industry that deals with data, which is pretty much every industry. Unicorns may become rarer but we won’t see a decline in demand for computer science students until we automate ourselves out of a job.

Take a look at this chart from Ed Lazowska's Where The Jobs Are – 2016 Edition. Those CS jobs won't fill themselves.



Tuesday, April 05, 2016

Are Perfect Numbers Bigger than Six initial sums of odd cubes (answered)


(NONE of this is my work. In fact some of it is on Wikipedia.)

In my last blog I noticed that

28 = 13  + 33

496= 13 + 33 + 53 + 73

noting that 28 and 496 are the 2nd and 3rd perfect numbers.

I asked if 8128, the next perfect number is also an initial sum of odd cubes. It is!

8128 = 13 + 33 + ... + 153

I also asked if there was something interesting going on .The answer is YES but not that interesting.

All of the math with proofs are  here. I sketch below.

Known Theorem  1: n is an even perfect number iff n is of the form (2p-1)(2p- 1) where 2p-1 is prime.

Known Theorem  2: 13 + 33 + 53 + ... + (2(m-1)+1)3 = m2(2m2-1).

Interesting theorem: if n is an even perfect number larger than 6 and p is the p from Known Theorem 1 then n is the sum of the first  2(p-1)/2 odd cubes.

Why this is less interesting: The proof does not use that n is perfect. It holds for any number of the form 2p-1(2p-1) where p is odd.

So the theorem has nothing to do with perfect numbers. Oh well.




Monday, April 04, 2016

Are perfect numbers bigger than 6 initial sums of odd cubes?


I pose two questions today (Monday April 4).

I will post the answers tomorrow (Tuesday April 5).

Feel free to comment about the answers. If you don't want clues look at the comments.
If I need to clarify something I will do it in the main post So, to reiterate- feel free to leave spoilers but if you want to avoid reading them, don't read the comments.

Note:

The first four perfect numbers are 6, 28, 496, 8128

28 = 13 + 33

496 = 13 + 33 + 53 + 73

Is 8128 the sum of the first six odd cubes? No, and that is not one of my questions.

Questions:

1) Is there a k such that 8128  is the sum of the first k odd cubes?

2) Is there something interesting going on here?

Friday, April 01, 2016

The Machine Learning Turk

Google's AlphaGo took the world by storm when it won its match with Lee Sedol but Demis Hassabis now acknowledges the dark truth. Google wanted to promote its cloud computing division as Amazon AWS and Microsoft Azure have quite the head start. Google needed a killer app that would bring users to Google Cloud and decided they could win if they had the best machine learning tools. They bought Deepmind, run by Hassabis, and needed a showcase event and decided to focus on Go, a game yet to be conquered by computers. Hassabis and his team used clever machine learning techniques on top of Monte Carlo Tree Search but only made mild improvements to the game. Google was growing desperate so a plan was hatched.

Using a modern version of the mechanical turk, an 18th century chess playing automaton that secretly hid a human inside playing the game, Hassabis enlisted Japanese Go player Yuta Iyama to secretly choose the moves for AlphaGo. Iyama, who worked with Google when they agreed to remove Iyama's embarrassing Karaoke videos from YouTube, didn't have to physically be in the machine but relayed the moves by a method Hassabis wouldn't reveal. AlphaGo, secretly getting its moves from Iyama, easily dispatched the European champion in October.

Hannabis and his team wrote up their failed algorithms and found it shockingly easy to fool the Nature editors and reviewers. Yann LeCun of Facebook looked at the Google's team's Nature paper and didn't see that much different from what Facebook had tried. "I just figured Google had chosen better parameters to make their program successful. At the time I should have realized what Google was up to."

Google took a risk challenging Lee Sedol but Sedol, not realizing he was really facing Iyama, played the wrong style of game and lost the match four games to one.

Will this revelation hurt the future of AI? "Machine learning continues to change society, but when it comes to Go," said LeCun, "Alpha fools".

Monday, March 28, 2016

MohammadTaghi HajiAghayi on David Johnson

More than a week ago, I heard the very sad news that David Johnson has passed away after one year fight with cancer. I felt that I should write a memorial note for him. Indeed I have done the same for Mihai Pătraşcu in the same blog and both Mihai and David were very similar to me from several aspects: both were my colleagues at AT&T and more importantly my dear friends, both they got their Ph.D. from MIT (the same place that I got my Ph.D. as well), they both were extraordinary researchers, and both passed away due to cancer after almost a year-long fight with it (and I was closely aware of their situations in that year). Indeed David read my memo for Mihai and he told me that he liked it. In addition, there is another reason that I feel respect for David; he was just a bit older than my father who also passed away very recently. So here I would like to put my thoughts into words for David (and this took me more time in this case since I wanted to mention some new thoughts given the comments already in this blog). To do so, I would like to mention some of David’s personal characteristics that I appreciated a lot and give some examples on them from my interactions with him. Indeed I have even mentioned some of these to him when he was alive and told him because of these (and other reasons), I am always proud to mention that I have him as my boss at some point in my career.

First of all, David was very humble and modest especially given his extraordinary CV: he won several awards especially Knuth prize, he is the co-author of one of the top most-cited books in CS, he was fellows of almost every community that he was involved with (e.g., ACM, SIAM, AT&T), he was a member and the chair of several prestigious award committees (like Gödel, Knuth, ACM Kanellakis, ACM Thesis Award) and indeed he was a founder of some of them (e.g., Kanellakis), and he was the founder of SODA, the best algorithms conference, among others. Despite all this he was a very humble and modest man and I think lots of people who interacted with him will fully agree on this. Just to give an example, in 1998, while I was still a second-year undergrad at Sharif University, I sent him an email asking whether he was aware of any book similar to Garey & Johnson but for parallel computing (indeed this was my first remote interaction with him); I was shocked how fast he answered my email just in a couple of hours with a relevant reference. This was especially very exciting and encouraging for me, since several other people never answered my emails at that time. More interestingly, later in 2012, I told him personally that I admired him for answering that email. He told me just wait a second and in a couple of minutes, he could find the exact same email from 1998 that I sent him; then we even discussed some English improvements for the email text as well.

Second he was a perfectionist from several aspects. Here are some examples. He was often the reviewer for P=NP or P!=NP papers for several journals. Probably lots of us even do not look into these papers unless written by a well-known fellow; however he was reading these papers very carefully to find the exact bugs and mention them to the authors. Indeed even when I sent him several referee requests for conferences for which I severed as a PC member, he always spent a lot of time to read the paper very carefully and often came with novel improvements and simplifications, sometime in a extend that authors of the paper under review wanted to have this anonymous referee as a co-author. All these happened despite he was a very busy man; however he still considered the task of refereeing a paper very seriously and respected the authors (and I think this is an example that lots of us can learn from it). He was a very good writer as well and spent a lot of time to improve the presentation of a paper, simplify it, and present it in a perfect way. I am proud to have one paper coauthored with David, a very long paper with several co-authors. On this paper David had the lead and indeed spent all the years that I was with AT&T (and even after than) to prepare the journal version of the paper. Indeed he was sending us the almost final version on Dec 2014 (and asked us for comments) just a month before he was diagnosed with cancer (I hope that still we can send the paper to a journal given the time that David spent on it). Another example of his perfectionism: he attended ALL SODA while he was alive and almost ALL STOC and FOCS (expect 1-2 years that AT&T had travel restrictions). Not only that, anytime that there was any talk in the conference, he attended at least one session. Yet another example: we had group lunches every day at AT&T.  That was David’s habit to ask everyone in the group to see whether they want to join. Now the interesting point was that he came exactly at noon EVERY DAY and you could even set your watch for 12pm when you saw him for lunch.

He was founder of SODA, the best algorithms conference. Indeed lots of us know David because he was the founder of SODA and he was handling SODA business meetings for lots of year as the chair of the steering committee. As a result, I often had lots of discussion with him regarding SODA and its future. We discussed what the protocol for selecting the chair of SODA should be, whether SODA should have an official Rebuttal Phase or not, etc. During discussion even some interesting topics came up which are good to discuss in the community as well. David believed since SODAs (and in general other major TCS conferences) are the main venues for publications but still we need full and correct mathematical proofs for our claims (despite the rest of CS), we should have a five-year period that any major claims and theorems for which the authors do not provide full proofs in a verifiable manner in arxiv or in a journal during these five years should be considered officially open for everyone to grab, prove formally, and get the full credit for that. Another discussion was that ideally SODA (and again other major TCS conferences) should go double-blind like lots of other major CS conferences in other fields. This will help to have much more fair selection in which the name of authors do not give advantage/disadvantage for acceptance (though PC chair still could see the author lists for some extreme cases).

I can probably write pages and pages of other memories on David’s excellent personal characteristics (e.g. he was a marathon runner, he held the annual barbecue for AT&T/Bell-labs theory interns, researchers, and alumni for more than two decades,  he served in Army between his Masters and Ph.D. and kept the same types of spirits and disciplines in the rest of his life, he always emphasized on putting his middle initial “S.” in his name especially due to Airport Security since his name is a very common name, etc), but I think I should stop at this point.

I hope that we have a great memorial event for him in the next SODA (SODA’17) the conference that he founded.

Rest in Peace David,


From Mohammad

Thursday, March 24, 2016

Complexity versus Complexity

For those interested, I've started writing posts for the Predictwise Blog. Predictwise makes predictions of future events such as who will win the Republican Nomination (currently Trump with an 80% probability) based on prediction markets and other betting sites. This has been a fascinating election in terms of predictions, strategies, rules and game theory and I'm happy to try and makes sense out of it over at Predictwise without subjecting my readers here at Computational Complexity with too many political posts.

A reader had asked me to comment on a Slate article The Theory of Everything and Then Some, a book review of John Miller's A Crude Look at the Whole: The Science of Complex Systems in Business, Life, and Society. John Miller is a social scientist who works on the other "complexity theory" that studies that "simple local rules can have complex global implications". Often complex systems work quite well, like the invisible hand of the economy, but sometimes things can go wrong and the article often mentions the "flash crash" of trading programs reacting to each other causing a major drop in stock prices in May of 2010.

Our fields with the similar names are not as different as might appear. Much of what they study are inherently computational-like processes and we also look at emergent behavior from simple operations of Turing machine; read, write and move the tape. What they call non-linear we call computation. We do take very different approaches. The computational complexity theory community proves theorems where we can and helps understand the mathematical challenges of when we can't. The other complexity theorists try to explain by examples, simulations and simplified models.

The two communities often, but not always, seem to have disdain for one another and that's a shame. The tools of computational complexity can help understand the power and limitations of complex systems. These collaborations require them to understand how we can help them and for us to be willing to work on problems that may not yield difficult-to-prove theorems. That's what attracts me to prediction markets, a very simple kind of information aggregation system that still is very difficult to analyze as a computational mechanism.

What's missing from the article is how tools like machine learning can play in helping to predict the outcomes of many complex systems. The big deluge of data that starts off the article may add to the complexity but it almost paradoxically also makes it possible to learn from it.

Sunday, March 20, 2016

Hilary Putnam passed away on March 13


Hilary Putnam passed away on March 13, 2016. Some of the obits say he  was a philosopher, mathematician, logician, and computer scientist.

He is probably best known to readers of this blog for his work on Hilbert's 10 problem and resolution.

HILBERT  TENTH:

Recall H10 stated in current terminology: Find an ALGORITHM that will, given a poly p(x1,,...,,xn) in many variables, with coefficients in the integers, determine if it has a diophantine solution.

Martin Davis, Hilary  Putnam, and Julia Robinson showed that if you also allow exponentation then the problem is  undecidable in the early 1960s. Yuri Matijasevich in 1970 showed how to express exps in terms of polynomials to complete the proof. The solution to Hilbert's 10th problem is often credited to all four of them which seems right to me.

One consequence of there proof: for any c.e. set A there is a poly p such that

A = { x | exists x1,...,xn p(x,x1,...,xn)=0}

Later work got the polynomial down to 13 variables.



RESOLUTION:

John Robinson (but see comments)  and later papers by  Davis-Putnam aad later Davis-Logemann-Loveland devised resolution theorem proven which is an early SAT-solver algorithm. Many modern algorithms are based on it. (Note- earlier version of this post had mistakes in it. I thank Paul Beame's comments below for clarifying the history.)

HOW TO CLASSIFY HIM:

 I suspect that Hilary Putnam would call himself a philosopher since that was his MOTIVATION.  That may be the best way to classify people (if we are inclined to do that), don't look at WHAT they do look at WHY they do it.

PHIL OF MATH- one problem with Philosophy, even Phil of Math, is that its hard to have well defined questions and therefore hard to answer them. I am NOT criticizing the field, just saying why I would have a hard time working in it.




Thursday, March 17, 2016

The Value of Shapley

Nobel laureate Lloyd Shapley passed away Saturday. We best know Shapley for his stable matching algorithm with David Gale. Nicole Immorlica guest posted on stable matching shortly after Gale's passing in 2008.

I'd like to talk about another great innovation, the Shapley Value, a solution concept for cooperative games. For example, suppose no candidate has a majority of candidates heading into the Republican convention and there is no winner on the first ballot. Now we have many delegates that might group themselves into coalitions, and a union of coalitions that have enough delegates can determine the nominee. Larger coalitions have more power than smaller ones but even a single delegate coalition could tip the election. The Shapley value gives weights to the coalitions that measures their relative power with some nice linear and symmetric properties. In this scenario, the Shapley value of a coalition is the probability that adding that coalition will tip the election when coalitions are added in a random order.

Game Theorist Robert Aumann, another Nobel laureate, used the Shapley value to predict winning coalitions in Israeli elections.

The main challenge of the Shapley value is computational, in general it is #P-complete to compute but it can be approximated efficiently.

Monday, March 14, 2016

On Phillip Rogaway's The Moral Character of Cryptographic Work.

Some people have emailed me asking me to blog about the paper The Moral Character of Cryptographic Work by Phillip Rogaway  I urge you to read it, even if you disagree with it. Especially if you disagree with it. (Hmm- how will you know if you don't read it!)

There are so many issues raised in this paper that it could be (and might be) the topic of many blog posts. The first three paragraphs are today's topic:

Preamble. Most academic cryptographers seem to think that our field is a fun, deep, and politically neutral game—a set of puzzles involving communicating parties and notional adversaries. This vision of who we are animates a field whose work is intellectually impressive and rapidly produced, but also quite inbred and divorced from real-world concerns. Is this what cryptography should be like? Is it how we should expend the bulk of our intellectual capital? 

For me, these questions came to a head with the Snowden disclosures of 2013. If cryptography’s most basic aim is to enable secure communications, how could it not be a colossal failure of our field when ordinary people lack even a modicum of communication privacy when interacting electronically? Yet I soon realized that most cryptographers didn’t see it this way. Most seemed to feel that the disclosures didn’t even implicate us cryptographers. 

I think that they do. So I want to talk about the moral obligations of cryptographers, and my community as a whole. This is not a topic cryptographers routinely discuss. In this post-Snowden era, I think it needs to be. 

My thoughts:

1) I would add that the Target Breaking, the SONY hack, and the OPM breakin might also show that crypto has been a failure. He doesn't seem to mention those but I think they strengthen his case.

2) Might it be Security that is a colossal failure? Of course, crypto and security go together so it may be hard to disentangle whose failure it is.

3) Might it be that good crypto research has been done but is not being used- the tech transfer problem. He later claims that this would be relevant if crypto worked on the right problems in the
first place.

4) I tend to think he's right. Rather than me telling you why I think he's right, just read his paper.


Wednesday, March 09, 2016

David Johnson (1945-2016)

David Johnson, a leader and advocate for algorithms and all of theoretical computer science, passed away yesterday at the age of 70. A truly sad day for us all.

David's 1979 book with Michael Garey, Computers and Intractability: A Guide to the Theory of NP-Completeness, is still the best reference on the topic and perhaps the single most important resource in any computer scientist's library. David Johnson also wrote the NP-completeness column for the Journal on Algorithms and later the ACM Transactions on Algorithms, as well as "A Catalog of Complexity Classes" for the 1990 Handbook of Theoretical Computer Science. David founded the Symposium on Discrete Algorithms (SODA), a conference that is now often mentioned with STOC and FOCS as a top theory venue. He created the DIMACS algorithms challenges. He led SIGACT from 1987-1991, really transforming that organization, and served as its face for many years thereafter. I'm only scratching the surface of what he's done for the community, and can think of no one who put more effort into making the theoretical computer science as strong as it is.

Of course David was a great researchers as well, working on NP-completeness and approximation algorithms.

He received an ACM Fellow in 1995, the first SIGACT Distinguished Service prize in 1997 and the Knuth Prize in 2010. He used his Knuth prize lecture to push for practical applications for our algorithms. Just last month he was elected into the National Academy of Engineering.

I worked with David Johnson closely on various SIGACT activities. David never missed a STOC and we always invited him to the SIGACT Executive Committee dinners, not because he had an official role, but because he was David Johnson. I truly respected and admired David and glad I could call him a friend. We'll miss him deeply. STOC and SODA just won't be the same without him.

Monday, March 07, 2016

When do we care about the constants?

I've been reading two books recently: Asymptopia by Joel Spencer (He turns 70 soon!  Workshop for it!. My nephew things that celebrating your bday with a workshop would be... odd) and   The Joy of Factoring by Simon Wagtaff. In terms of content they are on two different topics. In terms of practicality they are different: Asymptopia is clearly a pure math book (there is one chapter on algorithms, but the rest is really pure math) whereas The Joy of Factoring is very practical in that it focuses on real algorithms for the important (for crytography) practical problem of factoring. However, there is one thing the books had in common: They both often care about multiplicative constants.

Example from Asymptopia: They gave better and better lower bounds on Ramsey numbers:

(1) R(k)  ≥  (1+o(1))(k/e sqrt(2)) 2k/2  roughly (1+o(1))(0.26)2k/2

(2) R(k)  ≥  (1+o(1))(k/e) 2k/2 roughly (1+o(1))(1+o(1))(0.37)k/2

(3) R(k)  ≥  (1+o(1))(k/sqrt(2)) 2k/2 roughly (1+o(1))(0.71)k/2

(It may be hard to read so I will clarify- the o(1) is little-o, a term that goes to 0 as k gets large.)

The first lower bound uses the prob method and you the reader has prob seen it or could prob derive it yourself. Prob. The second lower bound uses prob and a  clever way of coloring and then tossing out some vertices. The third lower bound uses the Local Lovasz Lemma.

Note that for this problem Joel Spencer cared about the constant.

Example from The Joy of Factoring: Since many (but not all!) factoring algorithms do not have rigorously proven run times (Number Theory is Hard!) it's harder to give clean examples here. The book often refers to tricks to get constants down and the notion that constants matters permeates the book. Here is one rigorous example of caring about constants:

Fermat's difference-of-squares algorithm goes as follows: We want to factor N. Let x=floor(sqrt(N)). Test each of the following numbers for being a square and stop when you get a square: x2-N, (x+1)2-N, (x+2)2 - N, etc. When you find an r such that (x+r)2-N=y2  then you have (x+r-y)(x+u+y)=N. Almost surely this is a nontrivial factorization of N. (This algorithm is worse than the trivial sqrt(N) algorithm in some cases; however, it has some of the ideas needed for more sophisticated algorithms including the Quadratic Sieve.) Of course, one might be looking for the right r a long time. How long:

Let a be the largest divisor of N that is ≤ \sqrt(N). Let k=a/sqrt(N). Then the search will take

1+ (1-k)2sqrt(N)/(2k)

Again note that there are no hidden multiplicative constants.

So when do we care about constants and why?

1) If you are working on an algorithm for a problem people really want to solve then you need the constants to be small.

2) If you can get good bounds on the exact constants then you should.

3) If you have a technique and try it out you might end up just improving the constant. Even so, you have showed that the technique has merit.

4) Improving the constant may show progress which will later lead to more important improvements.

5) Chicken and Egg:  Here is an example from Asymptopia where he didn't care about the constant: Fix ε. Given three points in the unit square what is the prob that their area will be ≤ ε ?   He showed its Θ(ε).This proof is very nice. Tracking the constants used in his proof looks tedious. In order to care about the constants perhaps we need an interesting proof about them. To look for a proof technique that applies to them perhaps we need to care in the first place. Chicken and Egg?



Wednesday, March 02, 2016

Changing This Ancient Art Into a Science

The ACM announced yesterday that they will award the 2015 Turing Award to Whitfield Diffie and Martin Hellman for contributions to modern cryptography. The Turing award is the highest honor in all of computing. John Markoff in the New York Times also has the story.
Diffie and Hellman are best known for public-key cryptography, the brilliant idea that one could communicate secretly with someone you haven't communicated previously. Without public-key cryptography there would be no e-commerce. Equally important Diffie and Hellman brought computational complexity to bare, moving cryptography into its modern age. I strongly recommend reading their 1976 gem New Directions in Cryptography (PDF) particularly the introduction and chapter 6 where Diffie and Hellman connect cryptography to computational complexity and the P v NP problem itself defined only five years earlier. Here's the first paragraph:
We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware has freed it from the design limitations of mechanical computing and brought the cost of high grade cryptographic devices down to where they can be used in such commercial applications as remote key cash dispensers and computer terminals. In turn, such applications create a need for new types of cryptographic systems which minimize the necessity of secure key distribution channels and supply the equivalent of a written signature. At the same time, theoretical developments in information theory and computer science show promise of providing provably secure cryptosystems, changing this ancient art into a science. 
One question for which I shall offer no opinion: Should Ralph Merkle have been a co-recipient of this award? 

Monday, February 29, 2016

It works in practice, but does it work in theory (Pollard's Factorization algorithm)


Throughout this post I ignore  polylog factors.

It is trivial to factor N in time N1/2.  Pollard's rho-algorithm (see my write up here or Wikipedia Entry) for factoring does bette expected time N1/4. Or does it?  It works well in practice but  has not been proven to work well in theory. (If I missed some paper that DID prove it works well in theory please leave a polite comment.)

Here we state a conjectures that, if true, will show that  Pollard's algorithm is in time (randomized)  N1/4.  Let p be a prime. Let c be in {2,...,p-1}.

Let fc(x)= x2 + c mod p.

x1 will be specified in the conjecture. xi is f(xi-1).

For at least half of the elements x1 in {2,...,p-1} and at least half of the elements c in {2,...,p-1} the sequence x1, x2,... will have a repeat within the first O(p1/2) items.

This is thought to be true since it is thought that the sequence is random-enough so that the birthday paradox will  work. Still... no proof.

When reading some algorithms papers the interest is in getting an algorithm that you can PROVE the run time of.  By contrast, papers on factoring and discrete log and other things that are used to break crypto systems the interest is more in getting something that actually works. I have to learn to stop thinking ``but they haven't proven that!'' and start thinking ``Oh, yes, that would work''. And to be fair, for Pollard's algorithms and others (e.g., quad sieve, number field sieve, which do better in practice than Pollard for large enough numbers) there are REASONS to think they will work well. 

More generally, theoretical and applied work may need different mentalities.

Thursday, February 25, 2016

Primary Game Theory

[Nominations open for the SIGACT Distinguished Service Prize. Deadline: April 1]

The US presidential primaries have not gone as expected as you can see from the crazy shifts in the prediction markets. This year besides the usual democratic/republican split, we have an establishment/non-establishment split in both parties. Back in my day outside candidates like Trump, Cruz and Sanders would have run as independents like Ross Perot and John Anderson.

Despite the split, the establishment candidates focus more on themselves than the establishment. Christie's attack on Rubio in New Hampshire may have handed Trump the election and it certainly didn't save Christie's campaign. Kasich should just drop out now if he cares about keeping the nomination for an establishment candidate--it's just not his year, though maybe he's playing some game theory of his own.

The democratic side does not offer such interesting game theory, since we have a two horse race. Mostly a one horse race because the delegate math doesn't work well for Sanders.

Let's look at the election from the point of view of a hypothetical Georgia voter voting on Super Tuesday next week. Such a voter can choose which primary to vote on in election day.

Clinton will easily win Georgia but as long as Bernie gets at least 15% of the vote (likely), delegates will be allocated proportionally. So a vote in the democratic primary could affect a delegate but less likely to to affect who will be the nominee than on the Republican side. Unless Bernie surprises in South Carolina, the hypothetical voter may opt to vote in the Republican primary instead.

The republican delegate allocation rules most likely mean that the candidates receiving at least 20% of the votes will get a proportional allocation of 31 delegates and the winner in each of the 14 congressional districts gets two delegates while the runner up gets one. Looking at the polls, Trump will easily win the election with Cruz and Rubio hovering about 20%. A single vote could affect 6 delegates (20% of Georgia's at large 31 delegates). A vote for Kasich or Carson would not net Kasich or Carson any delegates but could bolster Trump by pushing Rubio's vote percentage down towards that 20% mark.

This scenario plays out across the Super Tuesday primaries. Trump is favored to win in every state voting that day except Cruz's Texas. If Rubio can get at least 20% of the vote in those states he keeps the race alive and could make up ground in winner-take-all states coming up later. Kasich doesn't draw much voters but enough that by not dropping out he may help close out this election on Tuesday. Game theory indeed.

In an early primary season already full of surprises we may see many more. It would be a lot more fun to watch if the fate of the US and the entire world didn't depend on the outcome.