## grant GJ-43634x to M.I.T.Lectures on Network Complexity (1977)

### BibTeX

@MISC{77grantgj-43634x,

author = {},

title = {grant GJ-43634x to M.I.T.Lectures on Network Complexity},

year = {1977}

}

### OpenURL

### Abstract

These notes, often referred to as the “Frankfurt Lecture Notes”, are perhaps my most widely circulated unpublished work. Resulting from a series of lectures I gave at the University of Frankfurt in June of 1974, they summarize some early work on what is now known as circuit complexity. They circulated originally in the form of xeroxes of my hand-written notes. Later, in April of 1977, I revised the notes and had them typed up; copies of the typewritten version have also circulated widely. Now, with the availability of the world-wide web, I have decided to reissue them once again, this time in electronic form. In going over the notes again, I have tried to preserve the original style and to resist the temptation to make “improvements ” to either the content or its presentation. Nevertheless, I have fixed a few technical errors and have added a few missing assumptions here and there. I have also added a bibliography that was not present in the original. While I make no claims to its completeness, I have tried to add citations for the results referenced in the original notes, as well as giving references to a few related subsequent works. Even today, more that 20 years after the original lectures, readers may still find some material here of interest: • Section 1 presents counting arguments that establish upper and lower bounds on the maximum circuit complexity of any n-argument Boolean function over the full basis of 2-input gates. These and closely related results appear in [4, 12, 23, 25]. The particularly slick proof of Theorem 1.1 is due to Schnorr [20]. • Section 2 uses Turing time complexity T(n) to bound circuit complexity for families of Boolean functions. Savage [18] showed that the circuit complexity is at most O(T(n) 2). Here I present a result with Pippenger that reduces this bound to O(T(n)) for oblivious Turing machines and to O(T(n)log T(n)) for unrestricted Turing