Cropped from source |
Jeff Skiles was the co-pilot on US Airways Flight 1549 from New York’s LaGuardia Airport headed for Charlotte on January 15, 2009. The Airbus A320 lost power in both engines after striking birds at altitude about 850 meters and famously ditched in the Hudson River with no loss of life. As Skiles’s website relates, he had manual charge of the takeoff but upon his losing his instrument panel when the engines failed,
“Captain Chesley Sullenberger took over flying the plane and tipped the nose down to retain airspeed.”
Skiles helped contact nearby airports for emergency landing permission but within 60 seconds Sullenberger and he determined that the Hudson was the only option. His front page does not say he did anything else.
Today we tell some stories about the technical content of forms of emptiness.
I am teaching Buffalo’s undergraduate theory of computation course again. I like to emphasize early on that an alphabet need not be only a set of letter or digit symbols, even though it will be or or similar in nearly all instances. The textbook by Mike Sipser helps by having examples where tokens like “REAR” or “<RESET>” denoting actions are treated as single symbols. An alphabet can be the set of atomic actions from an aircraft or video game console. Some controls such as joysticks may be analog, but their output can be transmitted digitally. What’s important is that any sequence of actions is represented by a string over an appropriately chosen alphabet.
I go on to say that strings over any alphabet can be re-coded over . Or over ASCII or UTF-8 or UNICODE, but those in turn are encoded in 8-bit or 16-bit binary anyway. I say all this justifies flexible thinking in that we can regard as “the” alphabet for theory but can speak in terms of a generic char type for practice. Then in terms of the C++ standard library I write alphabet = set<char>, string = list<char>, language = set<string>, and class = set<language>. I go on to say how “” abbreviates object-oriented class notation in which set<State;> Q; and alphabet Sigma; and State start; and set<State> finalStates; are fields and delta can be variously a map or a function pointer or a set of tuples regarded as instructions.
In the course I’m glad to go into examples of DFAs and NFAs and regular expressions right away, but reaching the last is high time to say more on formal language theory. I’ve earlier connected and to Boolean or and and, but concatenation of languages needs explaining as a kind of “and then.” One point needing reinforcement is that the concatenation of a language with itself, written or , equals , not . The most confusion and error I see, however, arises from the empty language versus the empty string (or in other sources).
I explain the analogy between multiplication and concatenation although the latter is not commutative, and that the operation between languages naturally “lifts” the definition of for strings. I then say that behaves like and behaves like under this analogy, but I don’t know how well that catches on with the broad range of students. So not always but a few times when lecture prep and execution has left 6–10 minutes in the period, I wrap a story into an example:
Let denote the alphabet of controls on a typical twin-engine Cessna business jet. I will define two languages over this alphabet—you tell me what they are:
After carefully writing this on board or slide, I say, “you have enough information to answer this; it could be a pop quiz.” I let 15–20 seconds go by to see if someone raises a hand amid bewildered looks in silence, and then I say, “OK—I’ll tell a real-life story.”
My father Robert Regan was a financial reporter specializing in aluminum and magnesium. Once in the 1970s he covered a meeting of aluminum company executives in North Carolina. One of the executives failed to show for the first evening, and the news of why was not conveyed until he appeared in splint and bandages at breakfast the next morning.
He told how his twin-engine crew-of-two jet had lost all power immediately after takeoff. With no time or room for turning back, the pilot spotted the flat roof of a nearby bowling alley and steered for it as little he could. The jet pancaked on the roof and bounced into the mercifully empty parking lot. Everyone survived and could thank the way the force of impact had been broken into two lesser jolts. The end of the executive’s tale and interaction with my father in the breakfast-room audience went about as follows:
Exec: I have never seen such a great piece of quick thinking and calm control in my lifetime of business, to say nothing of the sheer flying skill. That pilot ought to get a medal.
RR: The co-pilot deserves a medal too.
Exec: Why? He didn’t do anything.
RR: Exactly.
Maybe only then the significance of the words “appropriate for the co-pilot to initiate” in my definitions of and dawns on the class, as well as the Boolean and. The appropriate string is in both cases: the co-pilot should not “initiate” any actions.
As witnessed by the stories above, in the case of there is a good chance even if both engines fail, so the second clause is certainly satisfied. Thus . Perhaps the example of Sullenberger and Skiles at 850 meters makes it too pessimistic for me to say is a goner at 2,000 meters, but the point of the example is that an unsatisfied conjunct in a set definition makes the whole predicate false even if the part depending on is true. Thus the intent is .
There it is: the difference between and can be one of life and death. How much the story helps burnish the difference is hard to quantify, but at least much of the class tends to get a later test question involving this difference right.
Whether I tell the story or not, I next have to convey why turns around and becomes . I say that the convention helps make the power law true for all , but why is this law relevant for ? Why do we need to define anyway, let alone stipulate that it equals ?
If I say it’s like in arithmetic, the students can find various sources saying is a “convention” and “controversial.” So I say it’s like the convention that a for-loop
for (int i = 0; i < n; i++) { ... }
naturally “falls through” when . Even if the loop is checking for conditions that might force your code to terminate—and even if the body is definitely going to kill your program on entry—if the loop executes 0 times then you’re still flying. It’s a no-op represented by rather than a killing , so the whole flow-of-control analysis is
Thus it comes down to the logical requirement that a universally quantified test on an empty domain defaults to true. Not just they but I can feel this requirement better in programming terms.
To go deeper—usually as notes for TAs if time permits in recitations or as a note in the course forum—I connect to logic and relations. I’ve defined a function from a set to a set as a relation that satisfies the test
Now we can ask:
Is the empty relation a function?
There’s an impulse to answer, “of course it isn’t—there aren’t any function values.” But when the test becomes a universally quantified formula over an empty domain, and so it defaults to true. Thus counts as a function regardless of what is, even if too.
Because , the only possible relation on is . So the cardinality of the set of functions from to is . The notation for the set of functions from a set to a set , namely , is motivated by examples like being the set of binary functions on . There are such functions, and in general
With all this gives . Thus and are needed for the universe of mathematics based on sets and logic to come out right.
The same analysis shows that an empty relation on a nonempty domain is not a function. This means that even when stuff is empty, the type signature of the stuff matters too. One student in my course told me last week that the realization that “empty” could come with a type helped him figure things out.
Real advances in mathematics have come from structure channeling content even when the content is degenerate or empty. There are more hints of deeper structure even in basic formal language theory. I generally encourage the notation for regular expressions over Sipser’s in order to leverage the analogy between concatenation and multiplication, even though equals not any notion of “.” The property does not hold over any field, except for the possibility of the “field of one element” which we discussed some time back.
Now consider the suggestive analogy
What substance does it have beyond optics? The latter equation holds provided even over the complex numbers, and also holds in a sense for . The analogy , works in both equations to yield and . We then find it disturbing, however, that substituting , fails because which is not infinite.
Does it really fail? Perhaps it succeeds in some structure that embraces both equations—perhaps involving ? Our earlier post and its links noted that has an awful lot of structure and connections to other parts of mathematics despite its quasi-empty content.
We know several ways to build a universe on emptiness. In them the supporting cast of structure rather than is the real lead. The new actor in town, Homotopy Type Theory, aims to find the right stuff directly in terms of types and the identity relation and a key notion and axiom of univalence. As related in a recent survey by Álvaro Pelayo and Martin Warren in the AMS Bulletin, the object is to make and other sets emerge from the framework rather than form its base.
Does handling and right take care of everything?
]]>
Plus updated links to our Knuth and TED talks
Ada Lovelace was nuts. Some have used this to minimize her contributions to the stalled development of Charles Babbage’s “Analytical Engine” in the 1840s. Judging from her famously over-the-top “Notes” to her translation of the only scientific paper (known as the “Sketch”) published on Babbage’s work in his lifetime, we think the opposite. It took nuttily-driven intensity to carry work initiated by Babbage several square meters of print beyond what he evidently bargained for.
This month we have been enjoying Walter Isaacson’s new book The Innovators, which leads with her example, and have some observations to add.
Martin Campbell-Kelly and William Aspray, in their 2013 book Computer: A History of the Information Machine with Nathan Ensmenger and Jeffrey Yost, represent a consensus scholarly view:
“One should note, however that the extent of Lovelace’s intellectual contribution to the Sketch has been much exaggerated. … Later scholarship has shown that most of the technical content and all of the programs in the Sketch were Babbage’s work. But even if the Sketch were based almost entirely on Babbage’s ideas, there is no question that Ada Lovelace provided its voice. Her role as the prime expositor of the Analytical Engine was of enormous importance to Babbage…”
We agree with much of this but feel the intellectual aspect of amplification given by her notes is being missed and needs its special due.
Babbage was a polymath and rose to the Lucasian Professorship at Cambridge in the line of Isaac Newton and Paul Dirac and Stephen Hawking, but he never gave a lecture there while making many forays into politics and polemics and industrial practice and theology. He held weekly public gatherings in London all through the 1830s which Lovelace frequented. They included a prototype of his “Difference Engine,” which the British government had funded for the creation of error-free military and scientific tables to the tune of over ten million dollars in our money, but which he abandoned on perceiving the loftier idea of universal computation. In 1837 he wrote a long manuscript on the design of his “Analytical Engine” and its mechanics for the four basic arithmetical operations plus root-extraction. He dated it finished on his forty-sixth birthday 12/26/37, but did not publish it in any form. In 1840 he gave invited lectures on the engine at the University of Turin. They were scribed by a military mathematician and later politician named Luigi Menabrea who produced a paper in French two years later.
Lovelace was also friends with the electrical pioneers Charles Wheatstone and Michael Faraday. Wheatstone prompted her to translate Menabrea’s paper, which Babbage encouraged further by suggesting she add her own notes to it. Her translation was dutiful, but her seven “Notes” labeled A–G swelled to almost triple the length.
Her Note G mainly concerned the steps for calculating the th Bernoulli number (using notation rather than today’s or ). The technical parts included the following:
This was worked out in lengthy correspondence with Babbage and then, as Isaacson details, a month of “crunch time” for Lovelace in July 1843 before the printer deadline. Babbage wrote the following in his autobiography two decades later:
“[I] suggested that she add some notes to Menabrea’s memoir, an idea which was immediately adopted. We discussed together the various illustrations that might be introduced: I suggested several but the selection was entirely her own. So also was the algebraic working out of the different problems, except, indeed, that relating to the numbers of Bernoulli, which I had offered to do to save Lady Lovelace the trouble. This she sent back to me for an amendment, having detected a grave mistake which I had made in the process.”
There is debate on whether “algebraic working out” refers to the first part of Note G or the whole, but Lovelace asked for “the necessary … formulae” in a letter, so it seems clear to us that only the run-up to formula (8) is referred to. The identity of the “grave mistake” is not known, but it seems like an error of derivation not programming.
Menabrea’s paper has a brief mention of Bernoulli numbers toward the end, which points toward Babbage having raised but not elaborated their computation in his Turin lectures. What we don’t know is how far Babbage had worked out the programming details before and after 1840. What we do see is evidence of layers of stepwise refinement from spec to program over time.
Per Babbage’s account, Lovelace worked out at least the bottom layer of all her examples. The examples in her notes B–F have stronger ties to Menabrea’s coverage. Despite Babbage’s crediting her also for their initial-layer algebraic work it is plausible that he had already digested all details. The start of Note A seems to indulge algebraic whimsy in how it styles the Difference Engine’s limitation to polynomials of degree six. She says the “particular function whose integral it was constructed to tabulate” is
thus reducing it in a sense to nothingness. She puns on six applications of being “the whole sum and object of that engine,” trashing it by comparison to the Analytical Engine. Babbage tried to add a preface inveighing against the government’s refusal to fund the Analytical Engine in a way that would have come from her in print; her principled refusal may have surprised him into asking to scrap the whole paper before he saw sense and relented. In any event we can understand those who limit her credit in sections A–F to exposition and programming.
In the Bernoulli section, however, her impact in all layers comes out strong. There is a curious brief passage on why she omitted filling in plus or minus signs. Its stated deliberateness could be covering a gap in command, but in any event represents deferring a non-crucial step. The table and programming parts involve details of procedure and semantics at levels beyond what is evident from Babbage’s 1837 manuscript.
Hence we feel that, translated into today’s terms, her “Notes” make at least a great Master’s project. The question is, would it be more? Our analogy means to factor out niceties like all this happening a cool 100 years before Turing-complete computers began to be built and programmed. We’re trying to map it fairly onto graduate work in computer systems today. So which is it, master’s or doctorate?
We see several seeds of a PhD. In a long paragraph early in Note A and again later she expands on the semantic categories of the machine, which Allan Bromley toward the end of his 1982 paper opines had not been “clearly resolved” by Babbage. Unlike Babbage she keeps this development completely apart from the hardware. This includes her perceptive distinction:
“First, the symbols of operation are frequently also the symbols of the results of operations.”
Between Notes B and E she grapples with the numerics of real-number division and a hint of the idea of dividing by a series and achieving better approximation through iteration. Also in Note E, she develops the structural difference between nested and single iterations. In Note G there is hint of care about variables being free versus bound in logical sequences. Riding atop all this are her philosophical conclusions and prognostications, some of which Dick discussed and which Alan Turing answered at peer level in his 1950 paper “Computing Machinery and Intelligence.” They may be airy but all except perhaps the negative one on originality were right, and in our book that counts for a lot. As does the non-nutty overall precision of her work.
It is not unusual for a systems PhD to be “based on” and stay within the domain of equipment and topics by which the advisor applied for funding. The criterion for impact should be, did the student amplify the advisor’s vision? Did he—or she—find solutions that were not charted in advance? Does the student’s work enlarge the advisor’s prospects? Could he/she continue to develop the applications? That she and Babbage didn’t is most ascribable to lack of external funding and to engineering challenges that are still proving tough today for a project to build the Analytical Engine.
Isaacson’s book goes on to cover intricacies faced by female programmers of the ENIAC that were evidently less appreciated by the men on the hardware side. The end of Menabrea’s paper reflects the same mode of emphasizing the operations in hardware as Babbage’s 1837 manuscript. Even as Babbage helped with the complexities of the Bernoulli application in their correspondence, the point is that he did not pre-digest them—and as Isaacson sums up, it’s her initials that are on the paper. Isaacson does not say “amplifier,” but Maria Popova does in writing about his chapter:
“But Ada’s most important contribution came from her role as both a vocal champion of Babbage’s ideas, at a time when society questioned them as ludicrous, and as an amplifier of their potential beyond what Babbage himself had imagined.”
Hence to those who say that calling her the world’s first programmer is “nonsense” we reply “nuts.” Along with Autodesk co-founder John Walker, whose Fourmilab website hosts the definitively formatted Web copy of the “Sketch” and much else on the engine, we feel reading her paper is evidence enough that she was the first to face a wide array of the vicissitudes and significances of programming.
We note that last month polished recordings of our talks from last October became available:
We also note a long update by Gil Kalai of multiple developments “pro” and “con” on the feasibility of quantum computing—to cite a remark by Dick in our private conversations about this post, “if only Babbage and Lovelace had been able to show how the Analytical Engine could break cryptosystems…”
How do you regard our “advisor-student” terms for assessing Ada Lovelace’s contributions?
[clarified in the intro that Isaacson leads with Lovelace; added “much else” for Walker; added update on Kalai (as originally intended); “three weeks” –> “a month” in July 1843; added note about her treatment of division as one of “some”->”several” seeds of a PhD; other minor edits]
Cynthia Dwork, Frank McSherry, Kobbi Nissim, and Adam Smith are the inventors of differential privacy, as formulated in their 2006 paper “Calibrating Noise to Sensitivity in Private Data Analysis,” in the proceedings of the 2006 Theory of Cryptography Conference.
Today Ken and I want to talk about differential privacy again.
Our last discussion was on differential privacy (DP). We stand by our statements that it is a brilliant idea, has direct societal relevance, and is important in theory because it now is being used to prove theorems that do not seem to directly be about privacy. But we messed up in giving the main credit for the framing of the idea to Dwork. For this we apologize.
The paper by Dwork that we featured was an invited presentation to ICALP 2006 that opens the proceedings volume. We referenced its acknowledgments but did not bring the names to top level. In addition to McSherry, Nissim, and Smith, her paper names Moni Naor as joint author of the proof of impossibility of semantic security in that context.
We have since been apprised by them and others of the longer history of both the concept and its fulfillment by the mechanism of careful perturbations of database query responses. Among several precursors cited in their work are two PODS 2003 papers, one by Nissim with Irit Dinur titled “Revealing Information While Preserving Privacy” and the other by Alexandre Evfimievski, Johannes Gehrke, and Ramakrishnan Srikant titled “Limiting Privacy Breaches in Privacy Preserving Data Mining,” a 2000 SIGMOD paper “Privacy Preserving Data Mining” by Srikant with Rakesh Agrawal, and then a Crypto 2004 paper by Dwork and Nissim and a 2005 SIGMOD paper on “Practical Privacy: The SuLQ Framework” adding McSherry and Avrim Blum.
There are now many followup papers and surveys on DP. Three followup papers are “Mechanism Design via Differential Privacy” by McSherry with Kunal Talwar (FOCS 2007 version), “Smooth Sensitivity and Sampling in Private Data Analysis” by Nissim and Smith with Sofya Raskhodnikova (STOC 2007 version), and “What Can We Learn Privately?” by N-R-S plus Shiva Prasad Kasiviswanathan and Homin Lee (FOCS 2008; 2013 version). We also note a paper by Jaewoo Lee and Chris Clifton in the 2011 Information Security conference titled “How Much is Enough?: Choosing for Differential Privacy,” which speaks to us the technical delicacy of the mechanism; Lee and Clifton have gone on to vary the concepts. Of course there is also the new book by Dwork and Aaron Roth. If you are interested in the full history of DP and the progress from its roots to its current applications, we suggest to see these sources.
We apologize again. We retract any statement that suggested an inaccurate history of the invention of DP. We do not retract our opinions regarding its importance.
[referenced a second PODS 2003 paper]
Taekwondo source |
Cynthia Dwork is a computer scientist who is a Distinguished Scientist at Microsoft Research. She has done great work in many areas of theory, including security and privacy.
Today Ken and I wish to talk about the notion of differential privacy and Dwork’s untiring advocacy of it.
This concept is brilliant. It is, in our opinions, one of the greatest definitions of this century. Okay the century is just fifteen years old, but it is a terrific notion. The formulation was introduced in her paper with Frank McSherry, Kobbi Nissim, and Adam Smith at the 2006 Theory of Cryptography Conference. The name “differential privacy” was suggested by Michael Schroeder also with Dwork and McSherry at Microsoft, and appears first in her ICALP 2006 invited paper. Her expositions of the concept’s motivations and significance in that paper are a breath of fresh air and also animate her 2014 book joint with Aaron Roth. (Corrected—note also our followup.)
Dwork’s late father, Bernard Dwork, proved the first part of the famous Weil conjectures: the rationality of the zeta-function of a variety over a finite field. Ken had the rare privilege of doing an undergraduate seminar with him at Princeton in 1980 on ‘the’ zeta function—through Norman Levinson’s 1974 theorem placing at least one-third of the zeroes on the critical line—without being aware of the generalizations. Later Alexander Grothendieck and Pierre Deligne completed the rest of André Weil’s conjectures. The last part, due to Deligne, is usually considered the most difficult—of course the last step is always the hardest, an old saying I first heard from Ron Graham.
It is interesting to note that the actual proof by Deligne was not to Grothendieck’s liking. There are some who say that Grothendieck never even read it, since it did not use the deep tools he had developed to attack the conjectures. The last part of Deligne’s proof uses an estimation trick that Grothendieck certainly would not have liked: actually one that we use often in theory.
Roughly the argument goes like this: First one proves that
Then by a tensor-like trick one gets that
As this is true for arbitrarily large even , this implies that
Finally Poincaré duality then implies that
Clearly Bernard Dwork’s paper was important. It used deep methods to prove the first leg of the three parts of the Weil conjectures. Even if the later steps were harder, this step was still very deep, very hard, and very important. For this beautiful work, Dwork senior received, together with Kenkichi Iwasawa, the Cole Prize in 1962. This prize is given for outstanding work in number theory, and is one of the top prizes in the world.
This is one way to make a paper important: solve an open problem using whatever methods are available. Certainly a paper that solves an outstanding open problem is a likely candidate for being an important paper. For example, Andrew Wiles won the Cole Prize in 1997 for his essential finishing leg on Fermat’s Last Theorem.
Yet there is another way to write an important paper. Write a paper that changes mathematics or theory without solving an open problem. In many ways this is sometimes harder. It is hard to create a new concept in mathematics. We just talked about Carl Gauss’s beautiful introduction of the notion of congruence into number theory. One could argue, I believe, that this definition alone would have justified awarding Gauss a Cole Prize had one existed years ago. His definition changed number theory.
We would like to argue that the twin papers on Differential Privacy are among those great papers that may not have solved a deep open problem but that introduced a new and powerful notion.
The first half of her paper does not define the new notion. Instead, it puts a kabosh on a privacy notion that had been articulated as a chief desire as far back as 1977. This notion sought to assure that no breach of privacy—or at worst a negligible chance of breach of privacy—would result from permitted interactions with a statistical database such as getting means and percentiles. It was the analogue of semantic security in cryptosystems: any personal information gained by an adversary as a result of interaction with the database could be gained without it.
This might be achievable in a closed system where there is no information besides what is communicated via queries that the database allows. However, in the real world there are leaks of auxiliary information. The leak plus the database answers can cause a compromise that would not occur from either alone.
Here is a different example from the one involving Terry Gross in her paper—I am Ken writing this and the next section. Say my metro area has two charity drives, “Green Hearts” and “Blue Angels.” Suppose a metro official, thinking to praise me, leaks to someone else that I gave twice as much as the average donor to Blue Angels. That alone is not enough to determine my donation. However, the someone can then interact with Blue Angels to learn its number of participants and total gift. Indeed, charities often publish both figures afterward. Then my exact amount becomes known.
The ICALP paper’s impossibility proof, which was joint work with Moni Naor, shows that for any computationally formalized scheme attempting to achieve semantic security there is an “auxiliary information generator” that can break it by injecting leaks into the environment. Theory mavens can enjoy her proof if only to see how Turing machines that always halt are combined with a new definition of “fuzzy extractor.” If it doesn’t shut the door on the old objective, at least it changes the onus on anyone trying to revive it to find a weakness in her model. Exactly because her formulation is so general, this would be hard to envision.
The punch line to the charity example is that I didn’t give anything to Blue Angels. I gave to Green Hearts. I wasn’t in the Blue Angels database at all, and yet I was compromised when its most basic statistics became known. Or maybe I gave equal amounts to both. Whatever.
Next year comes around, and the drives are on again. Once bitten, twice shy. Should I avoid Blue Angels? Well, Green Hearts publishes the same figures. I could sue the leaker, but that’s beside the main point:
What responsibilities and liabilities can the organizations managing the databases reasonably be expected to bear?
The insight, born of long work in the area and collaboration with the above-mentioned co-authors and others, is to focus on differences that can be isolated to one’s participation in the database. Hence the term differential privacy (DP).
In my example, the compromise did not depend on whether I gave to Blue Angels. Had I done so—had I split my gift between the charities—it would have made only a tiny difference to the Blue Angels’ average (in this case none, in fact).
The 2006 papers prove that the common idea of adding a random amount up to to any returned query value, where is on the order of the difference in query value from including or deleting my record, assures that any adversary can gain only a tiny amount of information between the case where I am in and the case where I stay out. If the database is large enough, then the error in a reported average or percentile value will also be negligible.
The formula in her definition has an interesting technical point. She formulates it in terms that the probability of a damaging disclosure can increase by only a small multiplicative factor. It is natural to say, “a factor.” Now suppose, however, that a group of people are either in or out. Then the factor becomes
The other terms have powers and higher and so are even more strongly negligible, but their presence is annoying for doing rigorous estimates. Hence Dwork writes the factor as instead. Then composing it for people simply changes it to
which makes other estimates easier to do. Her full definition is that a randomized query-return function confers -differential privacy if for all data sets that differ in at most one element, and all subsets of the possible query results,
This definition is completely local to the database mechanism. It is also achieved by schemes in the last part of her paper, which she and her co-workers had already been developing. The wider point on the practical side is that this reinforces the legal view that a database provider should be liable for outcomes that result squarely from a person or persons stepping through their door.
On the theoretical side, the test of a new definition, a new notion, is simple. If the notion generates lots of interesting theorems about it then that is okay—indicative of a good notion. But it really is not indicative of a great notion. The acid test, in our opinion, is if the notion helps prove theorems from outside its own domain.
Translated to DP it means: all the theorems in the world using DP to prove theorems about DP are not sufficient. What is critical is if the DP notion can be used to prove theorems about topics that are not really about privacy. This is the acid test.
Happily DP passes this test. There are now results that use it to prove theorems about topics that seem to be distanced from any obvious connection to privacy. Let’s look at one due to Sampath Kannan, Jamie Morgenstern, Aaron Roth, and Zhiwei Wu—their paper just appeared in SODA 2015 as Approximately Stable, School Optimal, and Student-Truthful Many-to-One Matchings (via Differential Privacy).
We quote their abstract:
We present a mechanism for computing asymptotically stable school optimal matchings, while guaranteeing that it is an asymptotic dominant strategy for every student to report their true preferences to the mechanism. Our main tool in this endeavor is differential privacy: we give an algorithm that coordinates a stable matching using differentially private signals, which lead to our truthfulness guarantee. This is the first setting in which it is known how to achieve nontrivial truthfulness guarantees for students when computing school optimal matchings, assuming worst-case preferences (for schools and students) in large markets.
What other applications are there of this notion? Also are there simple definitions lurking out there that like differential privacy will change the entire field? Try to prove hard theorems, but also look for new definitions. They may—if you are “lucky”—be immensely important.
[Rewrote intro including link to followup correction post; changed ascriptions in later sections; changed possessive to “and a” in title]
Georgia Tech source |
Joseph Ford was a physicist at Georgia Tech. He earned his undergrad degree here in 1952, and after earning his PhD at Johns Hopkins, went to work for two years at Union Carbide in Niagara Falls before joining the University of Miami and then coming back to Tech. He was possibly lured back into academia by considering a paradox studied by Enrico Fermi, John Pasta, Stanislaw Ulam, and Mary Tsingou in the mid-1950s. The paradox is that periodic rather than ergodic motion can often result in complicated systems.
Today we wish to present a simple observation about hard-to-compute functions.
Ford was one of the founders of chaos theory and was instrumental in creating the journal Physica D for nonlinear dynamics. While becoming a Regents’ Professor at Tech in 1978 he was an early adopter of personal computers for his work. This accompanied a progression in his thinking expressed in the entire abstract of his 1983 paper, “How Random is a Coin Toss?”
In examining the differences between orderly and chaotic behavior in the solutions of nonlinear dynamical problems, we are led to explore algorithmic complexity theory, the computability of numbers and the measurability of the continuum.
This paper includes a photo of the coin toss before a National Football League game—something to think about for Sunday’s Super Bowl. For now, though, let’s think about how periodic phenomena might creep into uncomputable functions.
If is uncomputable, can it be possible that is computable modulo for some ? This is especially interesting when might only be uncomputable “because” it grows faster than every computable function.
The answer is quite simple: Yes. Suppose that is hard and consider . Then is always zero modulo , but knowing yields . This trivial answer—yes it can be easy to compute a hard function modulo a —calls to mind an old theory saying:
Too easy an answer to a problem suggests there is a better problem.
Let’s look for a better problem.
The difficulty with the function is that is artificial: we took a nice hard to compute function and changed it so it would be easy to compute modulo . This seems like “cheating”—no? So the better problem is to ask: are there natural hard problems so that they can be computed modulo some ?
A classic hard function is the halting problem, but it is only - valued and so will not be very interesting. The reason, of course, is that computing it modulo any yields the same value. So let’s look at a cousin to the halting problem: the busy beaver function, which we recently discussed.
Define to be the maximum number of 1’s that an -state Turing machine can leave in a halting computation that starts with a blank tape and uses only the characters 1 and blank. The Turing machine has just one head and must move it one cell left or right at each step; the tape is two-way infinite. A variant allows the machine also to stay—that is, not move its head—and this gives rise to a function .
I do not know whether we can compute or modulo any . It seems unlikely, but is not obvious to me. However, we can define a natural quasi-inverse of the busy-beaver function that is likewise uncomputable, but is computable modulo 2:
Definition 1 Define the beaver census function to be the number of n-state Turing machines that when run on blank tape halt with at least k-many 1’s on the tape. is defined similarly for Turing machines with “stay” moves.
If were computable, then we could compute by iterating until . Likewise is uncomputable, and this is interesting because both functions are bounded by the number of -state Turing machines of the respective kinds. These numbers are singly exponential in , so the uncomputability is apart from growth.
There are two “obvious” symmetries of Turing machines that affect the values of . One is that you can permute the state labels. Let us insist that the start state is labeled ; then there are the permutations of the other states. The second is handedness. Since the tape is two-way infinite, we can interchange “left” and “right” moves in every instruction to produce an equivalent machine that runs in mirror image.
Does this make and/or always be multiples of –? One immediate subtlety is that in the latter case when a machine has only “stay” moves, interchanging “left” and “right” does not produce a different code. Such a machine can leave at most one 1 on the tape, so this is immaterial when . For other machines the interchange cannot produce the same code as otherwise the machine would be nondeterministic, having both a “left” and “right” option at some state.
However, what can happen is that the left-right interchange has the same effect as a permutation of the states. Say that such a machine has an “unexpected symmetry.” This is what makes our problem nontrivial:
For which divisors of are and/or computable modulo ?
The only thing we can prove now is that the interchange symmetry is always available.
Theorem 2 and are computable modulo in polynomial time. So are their analogues for the busy-beaver measure that counts the number of steps before halting rather than the number of 1’s left on the tape.
Proof: For the left-right-only case the values are always even. For with , we can exhaustively simulate every machine having only “stay” moves since there is no unbounded interaction with the tape. There are still exponentially many machines to count, so polynomial time is not completely trivial. Every machine with state set is characterized by a graph on nodes. Each node is labeled either or for some state and expresses that the machine is looking at a blank or at a 1, respectively. Letting stand for the start state ( by our convention in the last section), becomes the root node in the graph. An edge represents that the machine has an instruction for state that changes blank to 1 and goes to state . An edge means that the machine in reading 1 leaves it alone and goes to ; the other four kinds of edge are defined similarly.
Thus we have to count the number of graphs of out-degree at most 1 on nodes in which the path beginning at never cycles and ends at a node in . To do so, for each possible length of such a path, we multiply two numbers: the count of such paths, and the number of ways to define irrelevant links (and non-links) from the other nodes. Summing those values over gives . The treatment for the step-counting measure is similar, except that the path need not end in .
Does this idea extend for the other divisors of —? Of course if the functions are computable modulo then they are computable modulo the others. We might expect that machines with an “unexpected symmetry” cannot be among the busiest beavers, so that we can discount them as soon as , perhaps.
What we are more curious to ask, however, is this:
Are there any other symmetries of Turing machines? Perhaps ones that emerge only when is sufficiently large?
Note that for , is the number of Turing machines achieving the busy-beaver bound. Thus our results about apply to the busiest beavers. Hence a way of looking for more symmetries is to see if has any larger divisors than . That is, are there busiest-beaver machines besides those that are equivalent under the “obvious” symmetries? The studies which we cited before seem not to have found any.
Can we find (other) interesting cases of uncomputable functions being computable mod ?
]]>
Gears and rings…
Flickr source: |
Denys Fisher was a British engineer and maker of board games and other toys. In 1965 he invented the Spirograph toy. Some speculate that he was influenced by the designs of the artist, composer, and film animator John Whitney, whose opening sequence for Alfred Hitchcock’s 1958 film “Vertigo” is considered the first use of computer graphics in cinema. The Spirograph toy involves drawing with a pen guided by a gear with m teeth going around inside a ring or around a track or other gear with x teeth. The kind of design you get depends on how x relates to m.
Today Ken and I want to talk about a basic notion of mathematics and theory that is simple to define, very useful, and yet seems to be tough for some students to get.
The notion is:
Often mathematical ideas are not easy to trace: who defined multiplication first, or square roots, or any other basic notion? Often the notion is credited not to the person who invented it, but the one who first used it in some important way.
That is not the case for the notion of congruence. We know who defined it, when they defined it, and what they used it for. The “they” was the 21-year-old Carl Gauss, who in his famous 1798 Disquisitiones Arithmeticae introduced both the concept and the notation.
It is interesting that while Gauss selected a perfect notation for his brilliant notion, others were less excited. Adrien-Marie Legendre wanted to write
,
with the m implicit. Others suggested variations of
Gauss had nailed the right notion and it stuck—thankfully.
Gauss objected to Legendre’s double use; Charles Babbage also said it violated the doctrine of one notation for one thing. What all seem to have had in common was wanting to view it as a relation between two things, but it really involves three: m as well as x and y.
A common expression that something is complex to understand is that it has “gears within gears.” As embodied in Spirograph, congruence is exactly that. Can we make it as easy as a child’s toy?
src |
The definition is, of course, that
if and only if divides .
I know most of you know this cold, but stay with us. We are not trying to advance your knowledge of this famous definition, but discuss why it is hard to learn. I think there are topics in math that are complex to state but can be learned without much difficulty. Yet this simple definition of Gauss is in my teaching experience not easy for many students to really get. The fundamental question is:
Why is the notion of congruence so difficult to understand?
At Tech I used to teach the beginning discrete math class for our majors. It covered all the usual stuff: basic number theory, graph theory, set theory, basic rules of logic, Galois cohomology, and recurrences. Actually we did not cover Galois anything, but I added that to see if you were reading. I often started with number theory, since the students—I thought—had seen numbers since grade school. But the concept of congruence always seemed hard to make register. Was it my poor teaching? Or was it something else?
We have a modest theory on why congruence is tricky to learn. The main thesis is that it really is two important ideas that are thrown together. The problem is that the two ideas are not on equal footing. One is naturally high and abstract, the other so low one can easily “forget” it.
The first idea is that given an integer m there is the arithmetic modulo m. In many places on the web this is introduced as “clock arithmetic.” In the US this means that m = 12, while in Europe and elsewhere m = 24. But then it is explained how to add, subtract, and multiply numbers modulo m. Of course this is quite interesting, since this is essentially the study—in disguise—of finite commutative rings of a special type. The addition part is generated by the unit of the ring.
Gauss’s brilliant insight is that such simple objects had a deep and rich theory. The multiplicative structure of such a simple object is quite nontrivial. For example, there is the theorem that when the order—that is to say, the number of elements—is prime, then the nonzero elements form a cyclic group under multiplication. This is a deep theorem. Why should the 16 nonzero elements modulo 17 be cyclic? So are the 18 elements modulo 19, but Gauss found further properties that allow a regular 17-gon to be constructed by classical means and a regular 19-gon not. This verges into the theory of the Legendre symbol and quadratic reciprocity.
These and many other important theorems are available for the elements modulo m. This is a rich area, with many problems remaining open today. So the first hitch is that students must learn some slice of the basics of what is really a deep theory. Even just saying “commutative ring” might sound like saying “Galois cohomology.” What compounds the trouble, we believe, is that while the basic results are not terribly difficult, the motivation is unclear. Why are these objects so important? Today the best answer is these objects play a critical role in cryptography and coding theory and other aspects of theory.
If we stopped there, perhaps that would be enough. Perhaps it would be less confusing to our students. Maybe I will try that next time I have to teach this material. I could say:
Pick a natural number . Then define addition and multiplication on
as follows…
We would then prove that it had lots of nice properties and we could give some nice applications. RSA anyone?
The key to the power of congruence is: it throws information away. If two integers x and y are equal, then for any m,
This means that congruence is in some sense a “forgetful functor.” This aspect underlies applications such as noted here:
Many problems in number theory reduce to the question of the solvability or unsolvability of some type of congruence. … In this connection, research into the question of the number of solutions of a congruence equation is of fundamental importance to number theory.
The sources, however, seem not to explain why this is true. The idea is simple but critical:
for any m that you choose. This means that we can reduce showing to showing that
is false for some m. This is one of the big ideas in mathematics. Often it is hard to show that x and y are not equal, yet it is much easier to show they are not congruent. This is a brilliant insight, and a surprising one.
Note this is quite counter-intuitive. You take x and y and throw away information about them, and then it becomes easier to handle them. It becomes easier to prove that they are different. Amazing. When you have some freedom to choose m or know a bound on x and y you can use the same idea to prove them equal. Or at least you can gain confidence in equality by sampling m randomly.
Here is a simple example. How can we show that can never equal (unless both x and y are zero)? First if they have a common factor we could divide it out without affecting the equation. That needs a pause for thought, but in fact we only need to visualize it when the factor is 3. Now we use the ‘forgetful’ trick and observe that if then
We’ve agreed that 3 cannot divide both x and y. If it divides neither we get which is impossible because . If 3 divides only x, then we get . But this implies that 3 divides y, which is again a contradiction. The same works if we start with 3 dividing only y. There is no way out. So .
Gauss seems to have thought the “forgetting” idea to be obvious beyond need of mention. At least I do not find any mention of it in my English edition of his book. Yet it strikes me both as a vital point and a connection that needs to be reinforced when teaching. It would be an interesting test of our hypothesis if emphasizing this simple “transfer principle” were shown to improve students’ results—or not.
The other difficulty remains problematic. David Mumford, who won a Fields Medal in 1974 for work in algebraic geometry and has recently started a blog on his website, co-wrote an obituary for Alexander Grothendieck with John Tate in the journal Nature. In his post on the editorial difficulties of explaining Grothendieck’s central notion of scheme to scientists in other fields, he wrote:
“To be honest, the central stumbling block for explaining schemes was the word ‘ring.’ … As for finite fields, in spite of John’s discomfort, I thought the numbers on a clock made a decent first exposure. OK, is not a field but what faster way to introduce finite rings than saying ‘a type of number that are added like the hours on a clock — 7 hours after 9 o’clock is not 16 o’clock, but 4 o’clock’?”
If the term ‘ring’ is a block for scientists then it needs special effort to convey the concept to students however it arises. Mumford says in his next paragraph:
“If math was introduced as connected to the rest of the world instead of being an isolated exercise, if it was shown to connect to money, to measuring the real world, to physics, chemistry and biology, to optimizing decisions and to writing computer code, fewer students would be turned off.”
Ken wonders whether reference to Spirograph and other cases of “gears within gears” can help here. In his novel Cryptonomicon, Neal Stephenson explained the role of congruence in breaking the Enigma code via an analogy to Alan Turing’s bicycle. Its rear wheel has one bent spoke and its chain has one vulnerable link. If they ever come together the bike will jam. The wheel’s sprocket has m teeth and the chain has x links. How frequently will this happen? Maybe never? This post emphasizes the idea of forgetting the total distance C that the chain has traveled and keeping only the congruence.
We use congruences all the time in computer theory. Are there other types of “throw information away” methods that we can also use?
]]>
File formats are like watching paint dry…
Source: Chess-programming wiki on Edwards’s “Spector” program. |
Steven Edwards is an American computer scientist and chess programmer. Two decades ago he spearheaded the development and adoption of three standards for communicating chess games and their moves.
Today Ken wishes to present a proposed new format for representing computer analysis of chess games and positions.
This will extend Edwards’s work into the 21st century, since it will leverage the rise of computers as the best players in the world. A new standard for chess: sounds about as exciting as watching paint dry—from Dick—with all apologies to Ken.
But it is really important, it raises a number of interesting issues that concern theorists and computer scientists in general. It is a fundamental process like paint drying: if paint stayed wet where would we be?
File formats are everywhere—see this for a list of a countless number of them. Well a lot of them. At least their environment of information structures and operations is less arcane:
I, Dick, believe that one of the least understood and yet most important endeavors we do in computer science is design good file formats. What makes a good one is clearly a question that requires some deep thought. Ken and I agree that designing them is an art: we can tell when a format is good and often when it is bad. But we what makes a format successful is still, after decades having computer scientists create them, an open problem.
In order to make some progress on thinking about this issue, Ken will now explain the previous chess file formats and also his new one. I think looking at a specific one, as it is being designed, may shed some light on what makes a good one.
So let’s let Ken take over and explain his new chess file format.
Edwards authored the specification of the Portable Game Notation (PGN) standard for games. He augmented the 19th-century system of David Forsyth for describing positions in postal chess into what is now called Forsyth-Edwards Notation (FEN). Working with John Stanback, he specified Extended Position Description (EPD) files, each of whose lines holds the FEN code of a position and “opcode tags” giving terse information about test moves to find or trap moves to avoid or events when computers play or analyze in that position.
Chess historian and blogger Mark Weeks includes PGN in his post on “The Rise of Internet Chess,” writing:
Before PGN, every chess software vendor had a different way of encoding chess data. PGN … became an immediate success because, as a readable text format, it satisfied the needs of people as well as of computers.
The ChessBase company developed their pathbreaking game-database product in the mid-1980s around a binary code that I already felt to give wondrous compression and performance when I started using it in 1988. The latest 2015 edition of their Big Database has 6,161,343 games, and I can search all of them in half a minute on my old Windows XP box. Of course their format is neither readable nor public, while PGN still does not approach it in time or space complexity.
Edwards prefaced his PGN document with a quotation from the Tower of Babel story in the Bible. Its relevance to standard formats is clear, but did he also mean to reference the motto “We are one people” (Gens una sumus in Latin) of the World Chess Federation?
“If now, while they are one people, all speaking the same language, they have started to do this, nothing will later stop them from doing whatever they propose to do.”
The Tower was stopped before it reached into the clouds. Chess analysis, however, is reaching into the Cloud. ChessBase has again taken the lead in subscription access to computer analysis data that can be uploaded by any user with any chess program “engine.” Since computer analysis is usually—not always—far stronger and more reliable than human analysis, this access is valuable to prepare opening strategies, gain new insights into historical games and thematic positions, and compare different chess programs. My Analysis Interchange Format (AIF) aims to reprise the role of PGN, though again subject to caveats of time and space versus simplicity and readability. At least it extends and improves the ad-hoc format of my previous work. Let’s first say more about PGN.
Every PGN file is a sequence of PGN games. Each game has a tag section and a moves section. For example, here is the PGN export of the earliest recorded game in Big Database 2015:
[Event "Valencia"] [Site "Valencia"] [Date "1475.??.??"] [Round "?"] [White "De Castellvi, Francisco"] [Black "Vinoles, Narcisco"] [Result "1-0"] [ECO "B01"] [PlyCount "41"] [EventDate "1475.??.??"] [EventType "game"] [EventCountry "ESP"] [Source "ChessBase"] [SourceDate "2007.11.25"] 1. e4 d5 2. exd5 Qxd5 3. Nc3 Qd8 4. Bc4 Nf6 5. Nf3 Bg4 6. h3 Bxf3 7. Qxf3 e6 8. Qxb7 Nbd7 9. Nb5 Rc8 10. Nxa7 Nb6 11. Nxc8 Nxc8 12. d4 Nd6 13. Bb5+ Nxb5 14. Qxb5+ Nd7 15. d5 exd5 16. Be3 Bd6 17. Rd1 Qf6 18. Rxd5 Qg6 19. Bf4 Bxf4 20. Qxd7+ Kf8 21. Qd8# 1-0
The first seven tags are required in that order, even if their values are unknown and given with question marks. The value of the Result tag is a required endmarker for the whole item; it is “0-1″ for a win by Black, “1/2-1/2″ for a draw, and “*” when the game is not yet finished or the result unknown. PGN also requires a blank line between the tags and the moves, and before the next game item in a file. The moves conform to Standard (or “Short”) Algebraic Notation (SAN) with English piece designators including ‘N’ for knight and nothing for pawn.
All tags after the first seven are optional. Some frequently-used optional tags have recommended standard forms. The ECO tag gives the code for the opening in the Encyclopedia of Chess Openings, which did not exist in 1475. Besides EventCountry one can use tags for the 3-letter IOC country codes of the White and Black players. For games since the Elo Rating System was adopted internationally in 1971 there are tags WhiteElo and BlackElo whose value is the player’s current rating, or “-” for unrated or “?” for unknown.
Two strengths of PGN are its simplicity and flexibility. Users may create and use their own tags. Games may have variations with alternative sequences of moves enclosed in parentheses that nest, and annotations enclosed in curly braces which act as range comments at the initial lexing level and do not nest. There is also a rest-of-line comment character, ‘;’ (semicolon), which hence may not appear in real data except between braces. AIF creates a PGN-style structure for computer analysis of individual moves, sequenced within an extension of the PGN structure for games.
An AIF file is a sequence of one or more AIF games or a sequence of AIF move blocks not encapsulated by games. An AIF game consists of a legal PGN game with extra tags followed by a sequence of AIF move blocks. Here is an example of the new game tags:
; AIF v0.5 Kenneth Regan and Tamal Biswas [GameID "De Castellvi;Vinoles;Valencia;Valencia ESP;1475.??.??;?;1-0"] [EngineID "Komodo-8-32bit"] [Platform "Windows XP 32-bit"] [Threads "1"] [Hash "256"] [MultiPV "1"] [DepthRange "18-18"] [EGT "none"] [Mode "forward;r;6-w"]
The GameID is a “mangle” of the information in the first seven PGN tags plus the site country when available. It follows the common spoken order of giving the player surnames first, then the tournament, place, and year. The EngineID should be reported by the engine itself, while the GUI or script running it can report the platform. The next three tags mimic commands under the Universal Chess Interface (UCI) protocol for communicating with chess programs. Here they say to use just one core thread, a hash table of size 256 megabtyes, and the normal “Single-PV” playing mode which evaluates the optimal move and its principal variation fully. The next tags specify searching to a fixed depth of 18 plies (that is, looking 9 moves ahead for Black and 9 for White) regardless of time taken, not using endgame tables, and moving forward in the game retaining previous hash-table contents starting at White’s 6th move.
These tags are required and can come after the PGN tags, though we allow having GameID come first overall. After other optional tags come the game moves as in PGN.
After the game header come the AIF move blocks for that game. These have their own tags. Here are the position of the game at White’s sixth turn and the AIF move header. Try choosing which move to play as White before looking at the latter.
[GID "De Castellvi;Vinoles;Valencia;Valencia ESP;1475.??.??;?;1-0"] [EID "Komodo-8-32bit"] [Turn "6-w"] [MovePlayed "h3"] [EngineMove "Ne5"] [Eval " +132"] [Depth "18"] [NodeCount "7461878"] [FEN "rn1qkb1r/ppp1pppp/5n2/8/2B3b1/2N2N2/PPPP1PPP/R1BQK2R w KQkq - 6 6"] [RepCount "0"] [NumLegalMoves "36"] [LegalMoves "a3,b3,d3,g3,h3,a4,b4,d4,h4,Nb1,Ne2,Na4,Ne4,Nb5,Nd5,Ng1,Nd4,Nh4, Ne5,Ng5,Bf1,Be2,Bb3,Bd3,Bb5,Bd5,Ba6,Be6,Bxf7,Rb1,Rf1,Rg1,Qe2,Kf1,Ke2,O-O"]
The GID repeats the GameID for indexing purposes. We believe EID should repeat EngineID as a label on each move, but are fine with leaving the engine settings to the game header tags.
The game turn is White’s sixth move. De Castellvi pushed his Rook’s pawn, but the computer finds the move 6.Ne5. Although it is a shocking Queen sacrifice, the engine looking 9 moves ahead says White will be ahead 132 centipawns, colloquially more than a pawn ahead. On my old Windows XP machine it took 21 seconds to search 7,461,878 nodes, not all of them distinct positions since the search can transpose and backtrack. Optional tags for Time and NodesPerSecond could express the speed, but those can depend on vagaries of thread scheduling not just on hardware, whereas the total node count and the actual depth of search reached are invariant.
Then come the FEN code for the position and, importantly, the number of times it has occurred earlier in the game. Optionally this can be followed by tags RepLine1 and RepLine2 for one- and two-move sequences that could repeat a previously-occurring position. The rules of chess specify that the third occurrence—that is, the second repetition—of a position can cause the game to be drawn, but engines to avoid search cycling give value 0.00 on the first repetition. Often a player will harmlessly force a repetition to meet the time control before executing a winning strategy. The repeating move will look like a blunder to the engine when it is not—even some major websites showing games in progress have this issue. The problem can also arise in search lookahead when the players don’t actually repeat. Coping with this thorny issue could be a whole other post.
The numerical heart is the evaluation grid, which shows how valuable the engine thought certain moves to be at the progressive depth stages of its search. In Single-PV mode this reports only the moves that the engine considered to be best at some point in the search.
---------------------------------------------------------------------------------------------- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ---------------------------------------------------------------------------------------------- Ne5 n.a. n.a. n.a. n.a. n.a. +142 +142 +140 +132 +147 +146 +160 +141 +155 +141 +147 +139 +132 d3 +110 NREC NREC NREC +053 +095 NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC Bxf7 n.a. n.a. n.a. n.a. +107 +079 NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC d4 n.a. n.a. n.a. n.a. +054 NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC h3 +127 +105 +105 +101 +086 NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC O-O +103 NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC NREC ==============================================================================================
This says the engine immediately thought about castling or playing 6.d3 but settled on the move 6.h3 which De Castellvi played. At depth 5 it briefly flirts with 6.d4 as well as 6.d3, but then sees it can win a pawn by the temporary bishop sacrifice 6.Bxf7+, to be followed after 6…Kxf7 by 7.Ne5 giving check and next recapturing Black’s bishop on g4.
Well in chess there is a saying, “if you see a good move, wait—look for a better one,” and at depth 6 Komodo finds it: 6.Ne5! If Black takes White’s Queen by 6…Bxd1 there follows 7.Bxf7 checkmate. Komodo likely saw that by depth 3 but thought 6…Be6 would both save Black’s King and keep the pawns equal—I say “likely” because that part of the search was not reported at top level. On deeper thought it judged that after 7.Bxe6 fxe6 8.d4 Black’s pawns are wrecked and his other bishop buried, giving White greater advantage than the 6.Bxf7 pawn grab—and it stayed so firm that henceforth analysis of the previously-considered moves is not recorded (NREC). We use “n.a.” to distinguish absent values at depths before a move is considered.
The last part after the eval grid requires the “Principal Variation” (PV) associated with the preferred move at the highest depth, which in this case was:
18: 6.Ne5 Be6 7.Bxe6 fxe6 8.d4 g6 9.0-0 Bg7 10.Qf3 c6 11.Ne2 Na6 12.Qb3 Qc8 13.Bg5 0-0 14.Qh3 Nd5 15.c4 Bxe5 16.dxe5 Rf5 17.cxd5
Komodo actually extended its search for (at least) five plies beyond move 14 in this variation, likely to resolve the captures toward the end, making 23 plies total. Some engines might have reported the depth as “18/23″ or more. Had I set MultiPV equal to 5 when using UCI to take the analysis, the engine would have reported full treatment to at least four more moves at each depth. The extra PVs can be listed on successive lines, along with interesting variations from earlier depths for when it “changed its mind” about other moves.
A practical reason to preserve the lower-depth numbers is that they strongly impact an opponent’s likelihood of grasping the subtleties, as demonstrated by my most recent paper with my student, Tamal Biswas. Values overall are truncated to the range [-900 .. +900], with 1,000-n reserved for mate-in-n. Other information and comments can come freely in the PVs section. Perhaps we should close it and the whole move item with an endmarker; currently the next tag beginning with ‘[‘ for the next move or game block serves, or end-of-file.
The main issues are space and the choice of information to include and exclude. The list of legal moves is a case in point. They could be generated from the FEN by the file reader, but doing so efficiently is a famous problem of chess programming, not nice to impose on a client. Indeed, Tamal solved a speed deficiency of a public Perl module we had been using by interfacing our Perl code with the C++ code of the open-source Stockfish engine. Why include them? They help in cross-checking the correctness of (other) game sources, and counting them is a complexity measure for the position. Engines report values outside of [-900 .. +900] when they judge one side to be ahead more than a queen ahead (colloquially speaking) but don’t see mate yet. Are those values meaningfully different from -900 or +900? Other issues are whether to record node counts and more PVs for intermediate stages in the search.
My own chess research needs fully-considered values for all or most of the legal moves, not just the ones the engine considers best. In 50-PV mode the grids alone become large. Compression may help with the non-numeric entries; besides NREC and “n.a.” there is “PRUN” for k-PV mode. It means that although a move might be among the top k, its inferiority exceeds a “multi-PV cap” value used by the engine to prune it away at lower depths regardless; this cap if used needs a tag. But the move values seem not to be easily compressible. Sophisticated frequency analysis including Benford’s Law could do it, but would impact both human and computer readability.
All this said, the AIF files are many times larger per game than PGN files. My Single-PV file of all 693 games of last November’s 154-player Qatar Masters Open takes almost 100 megabytes. The 50-PV file may be upwards of 1 gigabyte. Can this “Spruce Goose” possibly fly in the Cloud? On the other hand, taken over 6.93 million games, that would scale to only 10 TB for in-depth analysis of pretty much the entire recorded history of chess, which is a pittance in big-data terms.
Beyond this are design issues of which other features could be important to chess players and researchers. Perhaps you can suggest ways both to enhance and economize. There are also technical data-cleansing and format-design considerations. Should I have an endmarker for moves? Should AIF adopt XML markup rather than imitate PGN? Is it already hard to define unique game IDs? As shown above information from the relevant PGN fields can be missing. One could hash the moves of the game instead, but doing so would be less human-readable, would magnify the consequences of an erroneous move in the source, and would fail uniqueness when identical (short) games have been played.
Do you like the new standard? Comments are most welcome.
[first PGN tag was missing]
St. Andrews Mac Tutor biographies source |
Henry Smith was a mathematician of the 19th century who worked mainly in number theory. He especially did important work on the representation of numbers by various quadratic forms. We have discussed how even in something seemingly settled, like Joseph Lagrange’s theorem that every natural number is representable as a sum of four squares, new questions are always around—especially when one considers complexity.
Today Ken and I want to discuss a private slip of forgetfulness, and how often others may have done the same.
For a variety of reasons we recently were thinking about one of the most basic questions in linear algebra: the solvability of
where and are fixed and is to be determined. Over a field there is a polynomial time algorithm that determines whether there is a solution and finds one if there is. The algorithm is, of course, Gaussian elimination. It is named after the famous Carl Gauss, although it was cited already by Chinese mathematicians in 179 AD. It was rediscovered by Isaac Newton, called “the most natural way [but…]” by Leonhard Euler six years before Gauss was born, and molded by many of their contemporaries including Lagrange.
What Gauss did was streamline the notation for use by professional human computers—as he wrote in Latin, per eliminationem vulgarem. A recent historical article by Joseph Grcar has a table of the whole history, listing Camille Jordan the first to say “Gaussian elimination” in German in 1895, and Alan Turing the first to juxtapose Gauss’s name and “elimination” in English—in 1948—with non-human computers in mind.
Neither this nor a second article by Grcar mentions Smith, however.
We are always interested in the history of results—that is a lot of what we are about. But we mainly focus on the actual theorems. So let’s look at
in some detail. Before we start, we’ve noticed a strange shift over the years. In old papers the equation is written
In more modern papers only a matrix is in capitals and vectors are lowercase. Just an observation. It appears that in the past they were actually using correct notation since they were interested in the more general case where could be a matrix not just a vector. So to be fair it is not a notational shift, but a shift in interest to just the case where the unknown is a vector.
Back to where and are integer-valued. Consider the following questions:
If we ask people these questions they will answer the first three with: Gaussian Elimination, yes, and yes. The fourth question provoked several puzzled looks from both students and colleagues. They were not sure. Diophantine in an unbounded number of variables but linear, hmmm…
The embarrassment is how we were confused between the first three questions and the last. It was only for a short while, but it is an example of the forgetting of old results. So let’s take a look at these questions.
We all know that Gaussian elimination (GE) takes only arithmetic operations to find in , provided a solution exists. So what is the problem? The issue is that during execution, the intermediate results are not obviously bounded sufficiently. As noted in this StackExchange thread, a simple lower-triangular matrix with 2’s on the diagonal and all 1’s underneath blows up to size bits when the straightforward algorithm is applied.
To run in time , an algorithm must not only stay within arithmetic operations, those operations must also operate only with values that have bits. This is not obvious for GE. How can we fix the claim that the problem is in , polynomial time?
Already in 1968, Erwin Bareiss proved a polynomial-time algorithm. He showed that if all initial values are at most bits then the complexity is at most
There is a simple way to see how to prove this via the Chinese Remainder Theorem (CRT)—my favorite theorem. The general strategy is by Cramer’s rule, which requires evaluating polynomially-many determinants involving the entries of and , which are integers. It is easy to bound the size of each determinant, and by applying CRT we can get each of them exactly. We need only select distinct primes so that we can run GE to get each determinant modulo . This can be made to work and yields a true polynomial time algorithm.
Let’s now consider the case where we want to an integer vector. Note if is unique then we can use GE to get the rational answer and then see if it is integral. But if the system is under-determined then we are not able to do something so simple.
Enter Smith. One of his major results was to show that an integer matrix could be put into a certain form that allowed the solution of such equations. The theorem holds over any principal ideal domain (PID), which means it holds not only for the integers but also the ring of polynomials in one variable over the integers or any field.
Theorem 1 For every matrix of determinantal rank over a PID, there are square matrices making into a diagonal matrix with nonzero elements such that for all , divides . The matrices are invertible in the PID, and , called the Smith normal form of , is unique up to multiplication by units in the PID.
The proof works by iteration. The PID comes equipped with a well-founded measure of “degree” which is just absolute value for the integers. Permute rows and columns to put an element of minimum degree in the upper-left corner as . If there is some in the top row that it doesn’t divide, then we have with of lower degree than . Hence subtracting off times the first column and swapping columns and makes progress. The same is done with rows until we get all multiples of in the first column as well, whereupon we can zero out the rest of the first row and column.
We repeat for and so forth until all non-diagonal entries are zero. If then does not divide some , we add row to row 1, reduce and swap columns 1 and as before, and ultimately get dividing all of . Zeroing out the two off-diagonal elements and repeating leaves a diagonal matrix in which does divide the other elements. This property is left undisturbed by subsequent operations on the other elements—since no division is ever done—and so the process completes.
This proof gives an algorithm, but is it polynomial? During the formation of the first diagonal matrix intermediate values in higher rows and columns can grow. However, the matrices and are products of elementary row and column operations that—for reasons similar to how Euclid’s gcd algorithm can be done with iterated subtraction—retain inverses over the PID.
Since I have some friends of whom I can ask quick questions, I asked one and quickly received a brief answer. It did little more than second my puzzlement, but it spurred me to recall the magic words “Smith normal form” which I put in a followup. Let’s see how this solves the problem of whether has a solution in integers. We have where in particular has an integer inverse. Thus and so . Now and are integer vectors. Letting and stand for their top -many elements, and for the top-left part of , we must have
This is solvable for in integers if and only if is an integer multiple of , for . Since is invertible, the solution is unique in , and the remainder of is immaterial. Indeed the method extends to having matrices and in place of the vectors and —those old papers had a point.
Ken was copied on the e-mails, and before using his brain to try to work the above out, he tried a Google search. Its top hit was a 2009 post on this blog.
This post featured Ravi Kannan who has been a friend for a long time. We were colleagues at Berkeley and have stayed close ever since. The post was on our collaboration to find a truly polynomial-time algorithm for a different problem about matrices: given rational , does there exist such that ? But the post of course hit the search terms about Smith normal form and polynomial time, and Ken noted laconically in his reply:
It was Ravi Kannan’s PhD topic.
Indeed, my old post tells the story of how Ravi spoke on this thesis as a postdoc at Berkeley, and upon being challenged in the talk on weren’t polynomial algorithms for Smith already known, had sought refuge in my office. Oh well. His 1979 journal paper took care to cite authorities in both the abstract and introduction:
As — pointed out, none of these algorithms is known to be polynomial. In transforming an integer matrix into Smith or Hermite normal form using known techniques, the number of digits of intermediate numbers does not appear to be bounded by a polynomial in the length of the input data as was pointed out by — and —…
Thus the answer to my question has been yes since 1979, and I knew it as recently as 2009. Or if you take the matrix case as primary, maybe I didn’t know it—the paper linked above for that case dates only to 2009. It helps that there are blogs and resources like StackExchange and MathOverflow to look things up by keyword—and it seems to matter less whether you’ve actually authored said materials. At least in regard to Smith I had company.
Charles Hermite—he of the other normal form analyzed by Ravi—was also an expert on quadratic forms and was an influential member of France’s Academy of Sciences. The Academy periodically staged a Grand Prix competition in mathematics and the sciences, and in line with our recent discussion of the Breakthrough Prizes, it was awarded for work in the future.
Or at least it was supposed to be. One day in 1882 while reading the Comptes Rendus of the Academy, Smith came across the announcement for the next competition, and found it rather familiar. It was about the number and manner of ways of decomposing an integer into a sum of 5 squares. Of course Lagrange had shown how to do 4, but the question was how much more freedom came from 5. Well Smith had answered the question for all in a paper published in 1867 in the proceedings of the British Royal Society.
He wrote to Hermite calling attention to his precedent. He was assured in reply that the prize committee had not been aware of this and his other related papers. To spare embarrassment and preserve the spirit of a competition already underway, Hermite requested Smith to play along and submit his answer under the competition’s blind-review process. It seems also that Hermite kept this news from the committee, both the precedent and the submission.
Smith agreed and got his memoir in before the deadline, but unfortunately passed away before he was announced as a joint winner. Judging from Wikipedia’s telling of the story, it appears Smith played along so graciously that his reply did not mention or otherwise cause the committee to recall his published papers. When the situation was finally realized and Hermite let on about Smith’s communication to him, Hermite was asked why he had not brought it to the committee’s notice. His reply boiled down to:
I forgot.
What’s not forgotten is how the prize launched the career of the other winner, the 18-year-old Hermann Minkowski.
Did you know that solving for integer vectors is in polynomial time? I did, but somehow forgot. Oh well.
[word changes for Turing and Kannan]
2008 Bowen Lectures source |
Hillel Furstenberg is entering his 50th years as a professor of mathematics at Hebrew University in Jerusalem. He shared the 2006-07 Wolf Prize with Stephen Smale. He has shown many connections between analysis and combinatorics. One was showing how ergodic theory can prove Endre Szemerédi’s theorem that every positive-density subset of the integers includes arbitrarily-long arithmetic progressions . This led to a new multidimensional formulation with Yitzhak Katznelson, and the two later proved positive-density versions of the Hales-Jewett theorem.
Today Ken and I wish to discuss proofs of the infinitude of primes, and what they begin to say about analysis and combinatorics.
We thought of this after viewing an old StackExchange thread on different proofs of the infinitude of primes. The oldest proof is ascribed to Euclid of Alexandria around 300 BCE. The newest one mentioned there was conceived by Furstenberg as an undergraduate in 1955. The visions accompanying these proofs interest us.
The Prime Number theorem is of course a deeper statement. It was first proved by analysis, and its later proof by “elementary” methods was considered a major achievement. Something similar on a vast collaborative scale has recently happened with the density Hales-Jewett theorem. The primes do not have positive density, but Ben Green and Terence Tao still proved they have the property of Szemerédi’s theorem.
As remarked by Pete Clark at the end of his own notes on proofs of infinitely many primes, the frontier has moved to what can be proved generically about sets of density similar to that of the primes. At what density does “many” naturally arise, and what if any extra structure needs to be postulated rather than derived? Let’s try to pick up these issues from the beginning.
Euclid’s proof appears in his Elements, Book IX, Proposition 20. We all know it, I believe. But here is the main idea. Suppose that
are distinct primes. Look at
Clearly and so must have some prime factor, say . But cannot be any and therefore is a new prime. This shows that there are an infinite number of primes.
There are many variations on this theme. Ernst Kummer in 1878 used
This affords some small—with all due respect—technical advantage over Euclid’s proof.
The power of this idea is manifest in that it can prove much more than just there are an infinite number of primes. It can prove special cases of Peter Dirichlet’s famous theorem on arithmetic progressions. Let be relatively prime positive numbers. Then the progression
contains an infinite number of primes. The theorem is so famous that it has been re-proved and discussed many times. It was even recently uploaded to the ArXiv here—in English. I guess if your paper is super important eventually it gets put there even if you are no longer around. Pretty neat.
For example, Euclid’s method can be easily modified to prove:
Theorem 1 There are infinitely many prime numbers of the form .
Let be all the primes of this form. The key is to define
The rest of the argument is almost the same as before: no divides , and if all other primes were congruent to mod , then as a product of them would be too. Note the trick was in defining . Many congruences cases can be handled by just defining the “right” integer , but some seem not to work. Can we prove that?
There are several of what we would call counting proofs. They show that if there are a finite number of primes, then there are not enough “names” for all integers. Clark’s notes have some examples, and the one by Paul Erdős is also in notes by John Cook. It goes like this: Consider the integers
Suppose that there are only primes. Every integer in this range can be written as where is a square-free number. But must be at most and clearly there are only possible values for . This shows that
But this is impossible for large enough. Very neat.
One proof, by Lawrence Washington and mentioned by Clark, is just a finite computation that rests on higher knowledge:
But if the ring had only finitely many prime ideals then every extension such as would be a unique factorization domain—contradiction, Q.E.D.
Well not so fast. The “then” part rests on theory about number fields and integer closures and principal ideal domains proved by Richard Dedekind and others.
A common feature of all these proofs is that they rest on properties of factorization that are regarded as intuitive. You have a number where adding or subtracting 1 (or something else) has destroyed the previous product structure, so you have to make inferences about its unknown factors de novo. Is this somehow cheating? Washington’s proof has no “” but it would take much care to convince us that the Dedekind theory wasn’t somehow using the infinitude of primes to begin with.
What strikes us as remarkable about Furstenberg’s proof next is that it sublimates the notion of factoring into something else. Arithmetical progressions involve common factors, but those factors are known.
Clark’s notes reproduce Furstenberg’s one-paragraph proof as published in the American Mathematical Monthly; we elide one sentence that made a side remark:
“In this note we would like to offer an elementary ‘topological’ proof of the infinitude of the prime numbers. We introduce a topology into the space of integers , by using the arithmetic progressions (from to ) as a basis. It is not difficult to verify that this actually yields a topological space. […] Each arithmetic progression is closed as well as open, since its complement is the union of other arithmetic progressions (having the same difference). As a result the union of any finite number of arithmetic progressions is closed. Consider now the set where consists of all multiples of , and runs though the set of primes . The only numbers not belonging to are and , and since the set is clearly not an open set, cannot be closed. Hence is not a finite union of closed sets which proves that there are an infinity of primes.”
This is so compact as to make one wonder about “cheating.” However, as noted in an April 2009 Monthly article by Idris Mercer, one can dispense with topological language and ground the proof even more simply in set theory.
Let be an infinite universe and a family of infinite subsets of such that is closed under intersection. Also let us suppose is such that for every , the set is a union of members of . (We will in fact not care whether this union is finite, though it is when is the collection of all arithmetical progressions.)
Fix a nonempty finite subset of . Then, for any in the family ,
is impossible. For if it were possible, then by taking complements, we would have
By hypothesis, each is a union of sets from the family. By the distributive law of and , we may bring the entire union to the outside, getting
By the closure hypothesis on , each is either or infinite. Hence the whole union cannot be finite, which is a contradiction.
Finally, if there were finitely many primes , then we would have such an impossible representation with and .
How elementary is this? Although distributing an infinite union gets into aspects of set theory that are formally more advanced, in fact we don’t need it since equals the finite union . That the intersection of two arithmetical progressions and is either empty or infinite needs only the finitistic reasoning that if belongs to the intersection then so does (not to mention ). Hence the lone open-ended inference seems to be that is the complement of the union of the . This strikes us as involving only the notion of “prime,” in a way separate from the other uses of “factoring.”
Does our interpretation of Furstenberg’s proof as “more elementary” hold water? Is it a valid hint as to how concrete number-theoretic properties that matter to complexity might be obtained from a (slowly) “rising sea” of knowledge at the juncture of set theory, topology, and abstract algebra?
Can you find some other proofs? On the “silly” or “cheating” side, having finitely many primes would give a polynomial time algorithm for factoring (actually linear time), contradicting the usual cryptography assumption that factoring is hard. We wish there were a more serious connection that something known in complexity theory would be false—the trouble with the above proof is that the cryptography assumption is unproved.
]]>
How some predictions fared in 2020 and other years
Zimbio source |
Simon Donaldson, Maxim Kontsevich, Terence Tao, Richard Taylor, and Jacob Lurie (photo order) won the 2015 Breakthrough Prize in Mathematics. This did not happen since Thursday; it happened last June. When Tao was asked to explain the 2015 prize date at the start of his 11/12/14 appearance on The Colbert Report, he said,
“It’s about the future.”
Today Dick and I salute the prize-winners, and preview a new book about advances that were made in the years 2015–2019.
The prizes are awarded also in Fundamental Physics and Life Sciences. The physics prize was founded by Russian entrepreneur Yuri Milner and his wife Julia, who were joined by Sergey Brin and Anne Wojcicki, Mark Zuckerberg and Priscilla Chan, and Jack Ma and Catherine Zhang for the whole foundation. Each award is $3 million, over twice the emolument of a Nobel prize.
Prizes, in general, have been criticized as an inefficient way to reward past achievements. However, Tao’s impression was confirmed to us by a possibly misdirected e-mail: the prize is awarded for breakthroughs in the future. This includes Tao’s project mentioned at the end of his Colbert appearance about “whether water can spontaneously blow up.”
One consequence of publishing books is getting more e-mails. Some come from Amazon and other retailers putting the books you’ve written high on lists of titles recommended for you. Others are requests from your publishers to review other books and proposals, which is only fair since we are grateful for several in-depth reviews of our early sketch of our quantum algorithms textbook as well as the short reviews on the jacket. Most interesting, however, is that sometimes you get copied on internal business where a general suggestion might be run by you.
I had just gotten off the phone with Dick one Friday afternoon last month as he was sending me a post draft when the expected ‘beep’ on my machine turned out to be from one of our publishers, with PDF not LaTeX attached. The subject line said,
I froze for a minute wondering if this meant something was wrong with our book. Then came the ‘beep’ from Dick’s e-mail. The other e-mail stayed at the bottom, which meant it had been post-dated in the manner of various spams that evade my filter. More puzzling, the time shown in my Thunderbird window was 2 minutes before Dick’s mail. I had to do several clicks to get the full datestamp:
12/13/19 15:16
Really ’19’ not ’14’ as expected. I saw Dick was cc-ed like me, but before calling him back I read the short message body:
Greenlight GLL on attached proposal for their and reader reactions.
Perhaps we were not supposed to be copied yet, but Dick agreed the intent was clear, so we both clicked open the PDF. We are happy to bring its contents to you now.
The title page read, Breakthrough 2020: Visions of the Future. The next page included John Rainwater and Sam Parc as editors. We had to hunt to find Rainwater’s track record in functional analysis, but Parc was easy: she had numerous books including the beautiful 50 Visions of Mathematics, which had maybe influenced this title. The dedication page leapt out:
To all the co-workers whose efforts made the past five years a new Golden Age of mathematics.
Still thinking 2015, I—and Dick too—wondered how closely their selection would match the recent results we’d highlighted in 5+ years on this blog. But the Table of Contents brought nothing we’d seen before:
The preface explained much but left other things hanging:
When we established the Breakthrough Prizes we did not intend to destroy the world economy, much less destroy the universe. We almost destroyed our companies, which were already affected by the 2015 Hacker War, but government bailouts from Amazon to us to Zynga helped erect the Quinternet to restore secure e-commerce. Although quantum networking and Qubitcoin-2 took millions of people on the outside, Maxim Kontsevich describes the inside in thirty-six pages. The theme of destruction and creation continues with Terry Tao. He began with a childlike question: “can water explode?” Of course it doesn’t, we think. But the entire universe is immersed in “water” called the Higgs Field, and from 2012 we know it is only semi-stable. This seemed horrible news, but Terry’s work hints it may be necessary to support informational processes that can generate life.
Simon Donaldson’s doctoral work showed the existence of 4-manifolds having topological but not differentiable correspondences to the standard one, but does Nature avail herself of them? His work with Ed Witten at the Stony Brook Simons Center during the Long Island Quarantine expands the possibility of yes. Geometry and numbers were joined in amazing claims by Shinichi Mochizuki in 2012, but it took Richard Taylor to close a hole in the proof of the “ABC Conjecture.” What they call “D-theory” for Dirichlet goes even further toward proving conjectures by Robert Langlands that once seemed a pipe dream. Jacob Lurie sprang open some questions in computational complexity by applying his higher algebra to analyze two-way pushdown automata. This does not yet solve P versus NP, but he shows how it stratifies the possible relationships between computational time and computational space.
The excerpt ended there. Nothing about the last two physics chapters. Clearly the contents too were incomplete. Perhaps they were considering life-science chapters or more physics but needed more editors? The first seven chapters seemed to be finished, given the page numbers, but were not attached. What could they contain?
The physics chapters left out of the preface were the easiest for me and Dick to guess. Arkani-Hamed and Susskind must have done something—or would do something—to explain why supersymmetry could not be observed by the Large Hadron Collider. Perhaps the pervasive spatial tension accompanying a positive cosmological constant simply walls off creating even an echo of conditions under supersymmetry. From Guth’s and Linde’s title, evidently the flaws in last year’s analysis of B-mode polarization in the cosmic microwave background had been fixed with higher confidence than now, confirming gravity waves and inflation.
Kontsevich’s title obviously referred to the 1992 Robert Redford movie “Sneakers,” whose premise is that factoring has been efficiently solved—classically. Perhaps Kontsevich’s approximations to Richard Feynman’s path integrals broke the parts of Peter Shor’s quantum factoring algorithm that had not already been shown classically approximable. Dick and I could not tell what “D-theory” is supposed to be; we thought of “D-maps” for the Jacobian conjecture but those are named for someone else. We already riffed on Tao’s computational Navier-Stokes theory in our 2014 April Fool’s post, but apparently it was no joke.
I recognized the pun in Lurie’s title, since while writing our memorial post on Alexander Grothendieck I had perused his 600+ page manuscript “Pursuing Stacks.” A paper by Lurie and Dennis Gaitsgory which Bill Gasarch cited as “solving a real problem” runs to 394 single-spaced wide journal pages, so I marveled at the chapter staying under 50 pages. Howard Straubing’s book Finite Automata, Formal Logic, and Circuit Complexity laid out connections from finite automata to category theory and algebra, while connections between pushdowns and complexity were shown 40 years ago by Zvi Galil, so I guess connecting pushdown automata to category theory and algebra was a difficult but possible next step.
The Donaldson-Witten title harked me back to a dinner thirty years ago at Merton College, Oxford, in honor of Donaldson. I was then a Junior Fellow of the college, and was seated across from Witten at the High Table. Just as the main course was served, I asked Witten whether it was possible for two of Donaldson’s manifolds to be joined so that an arbitrarily large distance in one could be traveled by crossing, going a short distance in the other, and crossing back. To my surprise this was not a silly question; here is the same idea for a simple wormhole, but I had higher-dimensional gluing in mind. Witten rhapsodized in reply for over 30 minutes without once touching his food. I ate gingerly trying not to interrupt but eventually cleared my plate, as did everyone else, while the hubbub of the lower student tables subsided to silence as the great hall emptied. I recall the serving staff standing helplessly by, since protocol prevented the next course from starting until everyone had finished, with their gazes fixed on the unbroken Cornish hen or similar bird. Possibly after an offer to substitute a warm one, Witten ate with due dignity while the rest of us discussed various subjects, before all progressed equally to the next courses.
Although our last year’s predictions were jocular, we will still score them. Perhaps all “predictions” should be taken no more seriously than those on last Thursday’s Rose Bowl outcome.
Two integers of over one million digits each, in decimal, will be discovered so that
Wrong: Okay we were kidding, but it would have been fun—no?
Trading in Bitcoins will be stopped when an anonymous team posts an algorithm that breaks the scheme. Social media will be abuzz with the question: why did they post it? They could have made billions in real dollars.
Wrong: Okay but we still bet they would have gone for the fame. We should have predicted instead that a Bitcoin company would sponsor a college bowl game.
A new field of computer science called computational football will be one of the hottest areas of research.
Half-Wrong: Since ESPN pays almost a billion US dollars per year for rights to college football, something computational must be going on.
A proof that there is a proof that there is a proof that there is no proof that there is a proof that there is a proof in Peano Arithmetic of will be found.
Wrong, or don’t we know?
Computer scientists will sweep the all the Nobel Prizes except Peace and Literature.
Wrong. We might have been right about the Literature prize though, since its unexpected winner was once tutored in geometry by the computational novelist Raymond Queneau.
A company called Braincloud LLC will announce a competitor for Google Glass that is controlled directly by brain pulses.
Wrong. Though possibly things like it are being surreptitiously tested at chess.
A new massively-multiplayer online role-playing computer game called “DoS Survivor” will take the world by storm.
Pretty close: the massive Xbox and PlayStation denial-of-service hack on Christmas Day made players of many.
MOOCs will adopt a “human-centered support structure.” This will involve geographically localized cells of up-close instruction at regularly spaced time intervals, with generous time in-between for absorbing material and practicing non-bubble exercises.
Right: They are called classrooms. Yes.
Three reader predictions in comments to last year’s post were:
These seem to have come closer than most of ours. The CIA and the movie “Back to the Future II” also came closer. For best result of 2014 we nominate discoveries by Tao and others about gaps between primes.
Our book chapters amount to predictions. How will they fare by 2020? You are welcome to put your own predictions in the comments.
Happy New Year from GLL.
[word changes—see first KWR comment]