8
AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXI N~P~EN A~o~ University of Toronto Author'sPresent Address: Stephen A. Cc~k, Depar(mentof Computer Science. University of Toronto, "oronto. Canada MSS1A7. ~is.sion to copywithout fee ] or part of this material is grantedprovided that the copiesare not made or distributed for direct :ommercial advantage,the d copyright noticeand the of the publication and its appear,and noticeis given :opying is by permission of. Association for Computing :inery. To copyotherwise. to republish, requiresa fee rod/or specific permission. 1983ACM 00m-0782/83/ 0600-0401 75e, This is the second Turing Award lecture on Computational Complexity. The first was given by Michael Rabin in 19767 In reading Rabin's excellent article [62] now, one of the things that strikes me is how much activity there has been in the field since. In this brief overview I want to mention what to me are the most important and interesting results since the subiect began in about 1969. In such a large field the choice of topics is inevitably somewhat personal; however, I hope to include papers which, by any standards, are fundamental. 1. EARLY PAPERS The prehistory of tbe subject goes back, appropriately, to Alan Turing. In his 1937 paper, On computable numbers with an application to the Entscheidungs problem [85], Turing intro- duced his famous Turing machine, which provided the most convincing formalization (up to that time) of the notion of an effectively (or algorithmically) computable function. Once this notion was pinned down precisely, impossibility proofs for computers were ~)ssible. In the same paper Turing proved that no algorithm (i.e., Turing machine) could, upon being given an arbitrary formula of the predicate calculus, decide, in a finite number of steps, whether that formula was satisfia- ble. After the theory explaining which problems Can and can- not be solved by computer was well developed, it was natural to ask about the relative computational difficulty of computa- ble functions. This is the subject matter of computarional complexity. Rabin [59, 60] was one of the first persons (1t60) to address this general question explicitly: what does it mean to say that f is more diffficult to compute than g? Rabin suggested an axiomatic framework that provided the basis for the abstract complexity theory developed by Blum [6] and others. A second early (1965) influential paper was On the compu- tational complexity of algorithms by J. Hartmanis and R. E. Stearns [37]? This paper was widely read and gave the field its rifle. The important notion of complexity measure defined by the computation time on multitape Turing machines was introduced, and hierarchy theorems were proved. The paper also posed an intriguing question that is still open today, Is * Michael Rabin and Dana Scott shared the Turing Award in 1976. a See Hartmanis [36] for some interesting remirfiscences. ABSTRACT: An historical overview of computational complexity is presented. Emphasis is ou the fundamental issues of defi~dng the intrinsic cornpargational complexity of a problem and proving upper and lower hounds on the complexffy of problems. Probabilis~ic ~md parallel computation are discussed. 1983 Volume 26 Number 6 Communications of the ACM 401

AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXI N ~ P ~ E N A ~ o ~ University of Toronto

Author's Present Address: Stephen A. Cc~k,

Depar(ment of Computer Science.

University of Toronto, "oronto. Canada MSS 1A7. ~is.sion to copy without fee ] or part of this material is granted provided that the

copies are not made or distributed for direct

:ommercial advantage, the d copyright notice and the of the publication and its

appear, and notice is given :opying is by permission of. Association for Computing :inery. To copy otherwise. to republish, requires a fee rod/or specific permission. 1983 ACM 00m-0782/83/

0600-0401 75e,

This is the second Turing Award lecture on Computational Complexity. The first was given by Michael Rabin in 19767 In reading Rabin's excellent article [62] now, one of the things that strikes me is how much activity there has been in the field since. In this brief overview I want to mention what to me are the most important and interesting results since the subiect began in about 1969. In such a large field the choice of topics is inevitably somewhat personal; however, I hope to include papers which, by any standards, are fundamental.

1. EARLY PAPERS The prehistory of tbe subject goes back, appropriately, to Alan Turing. In his 1937 paper, On computable numbers with an application to the Entscheidungs problem [85], Turing intro- duced his famous Turing machine, which provided the most convincing formalization (up to that time) of the notion of an effectively (or algorithmically) computable function. Once this notion was pinned down precisely, impossibility proofs for computers were ~)ssible. In the same paper Turing proved that no algorithm (i.e., Turing machine) could, upon being given an arbitrary formula of the predicate calculus, decide, in a finite number of steps, whether that formula was satisfia- ble.

After the theory explaining which problems Can and can- not be solved by computer was well developed, it was natural to ask about the relative computational difficulty of computa- ble functions. This is the subject matter of computarional complexity. Rabin [59, 60] was one of the first persons (1t60) to address this general question explicitly: what does it mean to say that f is more diffficult to compute than g? Rabin suggested an axiomatic framework that provided the basis for the abstract complexity theory developed by Blum [6] and others.

A second early (1965) influential paper was On the compu- tational complexity of algorithms by J. Hartmanis and R. E. Stearns [37]? This paper was widely read and gave the field its rifle. The important notion of complexity measure defined by the computation time on multitape Turing machines was introduced, and hierarchy theorems were proved. The paper also posed an intriguing question that is still open today, Is

* Michael Rabin and Dana Scott shared the Turing Award in 1976. a See Hartmanis [36] for some interesting remirfiscences.

ABSTRACT: An historical overview of computational complexity is presented. Emphasis is ou the fundamental issues of defi~dng the intrinsic cornpargational complexity of a problem and proving upper and lower hounds on the complexffy of problems. Probabilis~ic ~md parallel computation are discussed.

1983 Volume 26 Number 6 Communications of the ACM 401

Page 2: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

any irrationa] algebraic number (such as ~/2) computable in real time, that is, is there a Turing nmchir~e that prints out the decinml expausion of the numher at the rote of one digit ~×~r 100 steps [brevet.

A third fbtmding paper {1965) was The intrinsic computa- tiorml dij~iculty offunctiens by Alan Cobharn ['15]. Cobham emphasized the word "intrip~ic," that is, he was interested in a machine-independent theory. He asked whether multiplica- tiou is harder than additiom and believed that the question could not be answered until the theory was properly {level-. oped. Cobham also defined and characterized the important class of tractions he called :/? those t:unctions on the rmtural numbers computable in time hounded by a polynornial in the decimal length of the input

Three other papers that influenced the above authors as well as other complexity workers (including myself) are Yamada [9I. ], Bennett [4], and Ritchie [66]. It is interesting to note that Rabin, Stearns, Bennett and Ritchie were all stu- dents at Princeton at roughly the same time.

2, EARLY ~SSU~Lq AND CONCEPTS Several of the early authors were concerned with the ques- tion: What is the righ.t complexity measure? Most mentioned computation time or space as obvious choices, but were not corn,%ced that these were the only or the right ones. For example, Cobham [15] suggested " . . . some measure related to the physical rio{ion of work [may] lead to the most satisfac- ~o~' analysis." Rabin [60] introduced axioms which a com- plemty measure should satLsfy. With the perspective of 20 years experience, I now think it is clear that time and space-- especially t ime--are certaipJy among the most important complexity measures. It seems that the first figure of merit given to evaluate the efficiency of an algorithm is its rurming time. However, more recently it is becoming dear that paral- lel time and hardware size are important complexity meas- ures too (see Section 6).

Another important complexity measure that goes back in some form at least to Shmmon [74] (1949) is Boolean circuit (or combinational) complexity. Here it is convenient to as- sume that the function f in question takes finite bit strings into finite bit strings, and the complexity C (n) o f f is the s/ze of the smallest Boolean drcuit that computes ~ for all inputs of length n. This very natural measure is closely related to com- putation time (see [57@ [57b], [68b]), and has a well devel- oped theory in its own right (see Savage [68@.

Another question raised by Cobham [15] is what consti- tutes a "step" in a computation. This amounts to asking what ks the right computer model for measuring the computation time of an algorithm. Multi{ape Turing machines are com- monly used in the literature, but they have artificial restric- tions from the point of view of efficient implementation of atgorithnr~s. For example, there is no compelling reason why the storage media should be linear tapes. Why not planar arrays or trees? Why not allow a random access memory?

In fact, quite a few computer models have been proposed since 1960. Since real computers have random access merno* .des, it seems natural to allow these in the model. But iust how to do this becomes a tricky question. If the machine can store integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the result has 2 ~m bits, which could not he stored in all the world's existing storage rnedia.) I proposed charged RAM's in [1.9], in which a cost (number of steps) of about ]ogl xl is charged every time a number x is stored or retrieved, This works but is not com~ pletely convincing, A more popular random access model is the one used by Aho, Hotx:roff, and Ullman in [3], in which

each operation b~volving an integer has nrdt cost bul inter- gers are not allowed to become um'easonably Inrf.:e {f~)r exarm ple. their magnitude, might be bom~ded by :..;ome fixed [×)ly- hernial in the size of the. input). Pn:~batJv t}m m,.~sl mathemat. ically satisl)ing model is ~Q:h6nhage's storage modification machine [69], which can be view~:d either as a Turi~g ma- chine that builds its own storage structure or as a unit cost RAM that can only copy, add or' substract one, or store or retrieve in one step, Sch~nhage's machine is a slight generali- zation of the Kolrnogon)v-{ Jspenski machine proposed muc, h earlier [46] (1958], and seems to me to represent the most general machine that could possibly be construed as doing a bounded amount of work in one step. The trouble is that it probably is a little too powerful. (See Section 3 under "large nurnber mutiplication.")

Returning to Cobham's question "what is a step," I think what has become clear in the last 20 years is that there is no single clear answer. Fortunately, the competing computer models are net wildly different in computation time. tn gen- eral, each can simulate any other by at most squaring the computation time {some of the first arguments to this effbct are in [37]). Among the leading random access models, there is only a factor of log computation time in question.

This leads to the final important concept developed by 1965--the identification of the class of problems solvable in time bounded by a txJynomial in the length of the input. The distinction between polynomial time and exponential time algorithms was made as early as 1953 by yon Neumann [90]. However, the class was not defined formally and studied until Cobham [15] introduced the c b ~ .U'of functions in 1964 (see Section 1). Cobham pointed out that the class was well de- fined, independent of which computer model was chosen, and gave it a characterization in the spirit of re{ursine func- tion theory. The idea that polynomial time computability roughly corresponds to tractability was first expressed in print by Edmonds [27], who called polynomial time algorithms "good atgorithins." The now standard notation P tbr the class of polynomial time recognizable sets of strings was introduced later bY Karp [42].

The identification of P with the tractable (or feasible) prob- lems has been generally accepted in the field since the early 1970's. It is not immediately obvious why this should be true, since an algorithm whose running time is the polynomial n ~ is surely not feasible, and conversely, one whose running time is the exponential 2 '~~° is feasible in practice. It seems to be an empirical fact, however, that naturally arising p m b lerrts do not have optimal algorithms with such rurming times? The most notable practical algorithm that has an expo- nential worst case running tJirne is the simplex algorithm fbr linear programming. Smale [75, 76] attempts to explain this by showing that, in some sense, the average running time is fast, but it ks also important to note that Khachian [43] showed that linear programming is in P using another algo- rithm. Thus, our general thesis, that P equals the feasible problems, ks not violated.

3. UPPER BOUNDS ON I~ME A good part of computer sdence research consists of' designing and analyzing enormotks numbers of efficient algorithms. The important algorithms (from the point of view of computational complexity) must be special in some way; they generally sup- ply a surprisingly fast way of solving a simple or important problem. Below I list some of the more interesting ones in- vented since 19~). (As an aside, it is interesting to speculate on what are the all time most important algorithms. Surely

z See [31], pp. ~'P,9 fbr a discussion o f this,

402 Communicutions of the ACM June1983 Votume 26 Numtx~r 6

Page 3: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

the arid}merit ot}eraiioas +, - , % and : on di:cimat nurnbem are basic. Afle.r !hat. l suf,~gest fast sorting and searching, (;aus- sian diminatkm, ~}m Ench(ban algorithm, and d~e s:bnp/ex algorithra as ,:andidatus.}

Tlm parameter ~l r~M~.; to fl~e size of the input, and the time bounds arc lhe wor?¢/cas~ tinm bom~ds and apply to a multitape Turing machine ((}r airy reasonable random access machirm) (:xc{:,pt where ~}oted.

(1) The Fas~ Fourier Tra~sfbrm {23 I, requiring O(rflogn) arithmeti(: ufmra~i(ms, is one of the most used algorithms in sci{,~I~dfi{: (:{}mI:)utin{~

{2) l~<ge number rrmltiplit~tion. The elementary school method requirus ()M z) bit of;rations to multiply two n digi] uumt)ers, In 19{52 Karatsuha and Ofman [41] published a nmd~od requMng only (T)(n"~{ 9 steps, Shortly after that T{×m} [84] showed how to (×instruct Boolean circuits of size O(r/+'] for arbitrarily small ~ > 0 in order to carry (:mi the mutipl.icatJon. I was a graduate student at Harvard at lhe time, and iaspired by Coh- ham's question %; rnutiplication harder than addition?" I was naively trying to prove that rnultiplk.~atkm re- quires t2(n z} sk.T~s on a multitape Turing machine. Toom's paper caused me (:~}nskterable surprise. With the help of Stal Aanderaa 1122], I was reduced to show- ing that rnultipli{a]tion requires ti{nlc~]/{loglogn) ~) stetxs using an "on-line" T'uring machine, ~ I also pointed out in my thesis that Toom's method {~m be adapted to multitape Turing machines in order to multiply in O(n ~+') stein< someihing that t am sure came as no sin?rise to T{x)m.

The currently fixstest asymptotic running time on a multitape Turing ma.chine ff}r number muttiplickqtion is O(nlogn loglo~l}, and was devised hy Sch6nhage and Strassen [701 (t97t) using the fast Fourier Transfomn. However, ~:h6nhage [69] recently showed hy a compli- cated argument that his storage modification machines [see Section 2) can multiply in time O(n)(linear time!). We are forced to conclude that either multiplication is easier dmn we thought or that Sch6nhage's machines cheat.

{3) Matrix mullip|icatiom The obvious method re- quires nZ{2n-1) arithmetic operations to multiply two n x n matrices, and attempts were made to prove the method optimal in the 1950's and 19{~Ys. There was smprise when Strassen [81] {1969) published his method requiring only 4.7~ zm operations. Considerable work has been devoted to reducing the exponent of 2£1, and currently the best time known is O(n z4~) operations, due to Coppersmith and Wino~'ad [24]. There is still plenty of r~x~rn for progress, since the best known lower bound is 2n2..1 (see [13]).

(4) Maximum matchings in Sen.oral undirected graphs, This was perhaps the first problem explicitly shown to be in P whose memberslhip in P requires a difflcult algorithm. Edmonds' influential paper [27] gave

time at ( } r i thm se~Z; q2;S{ cti{[iri 2 He a lso * - J:~iuti d (}tit that g ( . . . , , . . . . . . . 1 . ,0 ~ . ~ the simple ~iotion of augme[~ting path, which sUNces for the bi[:~rtite case, does not work fbr general undi: rected graphs.

( ) Re'c~gnRmn ~f prime ~lu:m[~e:rm The ma}or quem tion here is whether this problem is in P, In other words, is there an a/g:~rithn~ that always tells us

. h~:; tower }:~ t nd has }men s/igh(ly {m]m:~v{~l. ~ m [58] and [{T4].

w}mther an arbitrary n<]i~t input ioteger is prime, and halts in a number of ste>s bounded hy a fixed g×)ly.- [a)mJaJ Jn n? (;ary Mi l ler [53] {1976) showed that there is such an algorithm, but its val idity depends on the extended Riemann hypothesis. 5kJovav and St rassen [27] devised a }2~st Monte Carlo alg~}rithrr~ {see Section 5) fbr prime re~kog/fition, but if the input numher is com[×~site there is a small chance the aJ~)rithm will mistakenly say it is prime. The best provable deterministic algarithm known is due to Adleman, Pomerance, and Rumety [2] and runs in tirne n ~'~'#'e/'l, which ks slightly worse dmn polynomial. A w~riation of this due to H. Cohen and H. W. I,erxstra Jr, [17] can r~outinely handle numbers up to 100 decimal digiis in approximately 45 secmnds.

Recently three important problems have been shown to be in the class P. The first is linear progu'amming, shown by Khachian [43] in t979 (see [55] fbr an exfx)si- tion). The second is deterrnining whether two graphs of degree at most d are isomorphic, shown by Luks [50] in 1980. {TI'he algorithm ks polynomial in the number of vertices .fff)r fixed d, but exponential in d.) The third is factoring polynomials with rational coefficients. This was shown for polynomials in one variable by t,enstra, Lertstra, and txwasz [4811 in 1982. It ~ n be generalized to prolynom.iaks in any fixed numbor of variables as shown by Kaltofen's result I39 I, [40].

4o LOWER BOUNDS The real challenge in complexity theory, and the probtern that sets the theory apart from the analysis of algorithms, is prmdng lower bounds on the complexity of specific problems. There is something very satisfying in proving that a yes-no problem cannot be solved in n, or n ~, or 2" steps, no matter what algorithm is used. There have been some important successes in proving lower bounds, but the open questiop~ are even more important and somewhat frustrating.

All important lower bounds on computation time or space are based on "diagonal argumentts." Diagonal arguments were used by Turing and his contempories to prove certain pro[> lems are not algorithmically solvable. They were also used prior to t 960 to define hierarchies of' computable 0-1 func- tim~. s in 1960, Rabin [60] proved that for any reasonable complexity measure such as computation time or space (memory), sufficiently increasing the altowed time or space etc. always allows more 0.1 functions to be computed. About the same time, Ritchie in his thesis I65] defined a specific hierarchy of functions (which he showed is nontrivaal for 0.1 functions) in terms of the amount of space allowed. A little later Rabin's result was amplified in detaft for time on multi- tape Turing machines by Hartmaus and Stearns [37], and fbr space by Stear~ts. Hartnmnds, and Lewis [78],

4.1 Natural Decidable Problems Proved Infeasible The hierarchy results mentioned above gave lower boun.ds on the time and space needed to compute specific functions, bm all such functions seemed to be., "'contrived/' For example, it is easy to see that the fhnction fix,y) which gives the first digit of the output of machine x on input y after (Ixl+}.y]) z steps c.armot be computed in time {{×}+1Yl ~% It was not until 1972. when Albert Meyer and tarry Skx;kmeyer [52 proved that the equivalence problem ff~r re~gflar expressim~s with squar- ing re(tuires exl~Kmentiai si~me and. therefore, exponential time. thai a nonirMal lower bound fbr general models of <xmaputation on a ' natural" problem was found {naturN m

~'~e. for e x a m p l e (;mz{:~orczv~ 1351.

hme I983 Vohmm 26 Num~mr (~ Commtm{c<~fior~S of the AGM 403

Page 4: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

T { / @ S a ~,a£S

the , ::31.,{ q,~ ~, of b~ i:I£ i:3ter:~sti::g, and: rio: a[~4:{ co:::pud::g tart:- chin,s). Shorth' after that ),J:yer {51] fim:id a very st::n:g {owe:" ho:i::d :9:3 the fit:re rcquhed {e dl h:ru:h:e {h{: truth <){ :b:'mulas h: a co:lab: l}3r:::al d:×:hlabb :h{"~?:v :?,.filed NXSL% {weak mo1:adi<: se<x)::do{:rder thv¢?rv n! su: : :><~):']. }{c pr:n e:l that any ('on:put{ r w}3ose runnl:b: time was hou:3ded by a fixed ::an:bet :if ex:×me3:dals (z: 2:% 2:'% etc.) (euld x?t 1::orr{'ctly decide WSIS. Mover's Ph.D. student. S~<x:k3:3eye:' v<:nt on to ca]<:ulate {7:]] that ::31",' IkxJea:: ch'3::fit @:i::k computer: that <xx'rect:)de{:i&~s 1he I:13{}: :)i an arbitrary %SIS formula of :e::g~h 6!6 sv:3J×Js m11s~ h:~::'. :nor:' {}I::3: 10:::: gates. The number 10 :'::~ was : hose:1 te he tile n:i33:ber {}( pmte31s th,3~ c~mld fit i3:: the kn(rw:i u:3iver>1. ':'::is is a wiry 11on~ inch38 in:f~:.::sff: ilit:,' p:xx:ff!

Sin:re Meyer :331:i St{x:km:~yer the:~ haze bee:: i:: laq4v :::::33- her d low~r bounds o:I the conIp{exib of decidabh~ fbr::3al th{~>ries (see [29] 1133:1 {~@] fbr su::Imaries]. ()::u of the :31os~ interesting is a doubiv, ex:×mential time :eB er hound <):: the time required to decide P:'esburg-r aAthmedc 8he q:eory of the natural 33umbe~ ::3::19:::' addition) by Fischer and Rabin [30]. This is not fh:" lioon: the best known tb31e up:mr hound ibr this theory, which :is tripJy ex~×):lential {54]. ':'}3:> best space upp.~r [x)u::d is d:)uhly exfx::,:le:ltiat {29].

[::).::spite {he above successes, the record i~)r proving lower [xxinds :1:1 proble3ns of smaller {:c, nlplexity is apv.illi33g, h: fact there is no no::linear time k)wer hou31d known {93: a ge::eral p:!r:x:~? co3nputatio:: :u(xlel Ibr any natural proble:31 it{ XP (See s::tkx: 4.4), in ~x:rtir:ular, Ibr any of @e 300 pr~)b- k~:ns listed in {::I ]. Of course, one can prove hy diapnal arguments :he existence of' pK~blems i33 NP requiring time n ~ for a:ly fixed k. :~3 the case of' space lower :x)unds. however. we do not even know how to prove the existence of NP problems not a?Ivah]e in space ()(!olm) on an off-line Turi:lg machine {s>:~ Sk<:tion 4.3). Th.is is despite the f~tct that the best known sDace upf×}r [x)l.lnds in na t ty natural {x:~ss are e£sen- dally linear in n.

4.2 Structu~{ Lower Bo~n&s Although we have had little success in proving intel~sting lower bounds fbr concrete problems or: general computer mo~qels, we do have in:eros:in 8 restits fbr "structured" m<ieIs. The ~erm "structured" was in:re<lucent by Borodin {9] to refer to computers restricted to ce31ain oFeratioPs app:'opri- ate to the problem at hand. A simple example of thLs is the gmblem of sorting n numbens, One can prove {see {44]) with- ()tit much difficulty that this requires at te~:t nk@n eompad- sorts, provided that the only ot>~ration the computer is aJ- bwed te do with the if:puts is to comp:re them in fruits. This lower [x~urid says nothing about Turing machines or i:kx)iean ci:v:uits bui i~ }1as beer: extended to unit c~:~t r~mdom access machines, provided division is di.m]l ~)v{:,d.

A :mco::d and very e]ef~,mt struc:~ :r~i bwer bound, due to Stra.¢sen {82] {1973), states that ~xJyrlorrfla~ i:':terFx?tation, :hat is., finding the ec~ffficienb of the fxtynomial of degree n-t: that fxmses throu~~ n ~ven fxints, r{~tl.;3ire~ t~(nh?@q) m:lltipliG> {io:"~ pmvkted oMy a.dthmetic oD.<raticms are allowed. Part o:f :he :nte,r~;t he:~e is that Strassen% od~nal proof de:~mds on }Asrz£)ut's theorem, a deep :result in aigebra[c geome~w, Very r~;ently, Barn" and S~rassxm [83] have extended the lower [x}m:d to show that even the middb (xx~ffi<::ien~ of {he interfx).- iating ixJynomial thKa1~ n :f×Jnts peqalr~ 9~rtk:@~O rrmttipti.- (x~t:io~/~s ~o {x~mpute,

Pro1 of the af:3~.)~a] of all of these str%~{:h:i-~d results b that [he bvcer [:£xm<ts are {21o,'~;~ {o the ' P ..... b,:,,>~ known upD-¢ [~/unds ~ and the :best known al~:;rithn3s {:~m b~ i~:' :p]¢m~,n ed on the

:dnichn'ed m{~:ll {s l{} whh:h lht~ h;w~r b<):n:d>: d:piy. lh;d r::di,, ~>rt which is :.o:::~ ~ime>: sMd io{:: ]}::e::: t I{:a]]V req:in:s :d h:as~ nbPj: sbt:>:, i~ I>::I: ;mr ::n~e~: ~ia :::::uh~ n-, have e::{)::gl: {]i rib: :+{) {}:;:~ 1he>, :::i (::::~ be d

4J~ Time Sf~ace }%~hH:{ lx,%~,:er }bands ,'~dl(){h{'q" Wi:V :I~,)IuHI ~}1~ i I ! t I ~ d ; < ~ ( ! I:i !)roviN;', ~i:!1{~ ~{II( Rower txmnds h.; h) prov{ time h)wer }>,)urals under t}: sumpfion ~l stoat] space, t ohha:i1 116] proved ~he firs result h~ 19ti6, wheu he showed llla{ {he dine space / tier re cog:fixing N digit f~erJi>c{ v]:: u'es <)H ~m *?fftLlhm" machi:m :mist be i~(n"}. (The same is h'ue ~ff ~>~-ffmbo dnm:es.) }b re @e inpu{ is wriHe>, o:1 u two way read h p m s~:~< and flu~ spac~ used is by {{eihfilio:l i]m' ml v~uares s(a:med by fhe work {a~>:s availabb ~{~ the > machine. Thus, if, fi:r e x a m t ; k lhe space is res~d{:ted () log%){s.~ hich is more than suffh i n/U. fl:{m 'du~ dlm

The weakne~<~ in (bbhan': 's result is lha~ although t Ibm Turi~bl machine m(xlel is a c e ~so:lahle ~me {br rm (x:mputadnn ~Mle or S[)ac~: sep41ra{ely, i~ is ~(~: restrid wh(H time and stxme are {:1H~sk]e[ed togdher. }:or ex~ tim paiind~)/uus ~m ohvkmsb be reco£nized in 2n s~: constant space if two heads are allowed to scan the i:t simlfltmeeusly. [~am ~lin and f[ 10] twrtiaily fortified t weakneas when we proved lhal :~vth:g n J::Iegers hi { range o:le t() n i~ r{×:]uh'es a thne -s trace pr:x]u(:t o[' 9{no/ I 'he pKxd applies to ,:my "genera] sequenlia] machhle it:dudes off-/i:H~ Turing r~aa::hines wish m:a>y input h{ even random acce&~ to @e input tafx~, h is unfbrklrmt{ crudal l(} our pr,x:ff @at sorting n:qtfircs many output and i'{ remains an interesting oiM~n question whdher a k)wer [~:)und can be made to apply to a sel recoG::idor bm, such as re: x~f:f1:iTii ::g whether at] :: inpul nunlhem distinct. (Our bwer bound o:: .~x}11ing has re(e:itly bee slightly impPeved h: [64],)

4.4 NP43:m:pbb.m~s The t}H.x)ry of NP-campletene~ is surely the nlcx~ sign development in e~mlputa~iona] complexity. ] will a1(3~ ~! it here becau.s~ it i.s now well known and is the sub]el textb{x)ks. In ~x.lrdcularo the [~:xi by Garey and ]o.hri~. is an excellent phce to read nix:me it.

The class NP consists of all sets reco~ffzable in polk time by a nondeterministic Turing mad::he. As far ms the tinct time a mathematically ~luivalent cla~is was d~ was by James Bennett in his 1962 Ph,©. thesfs {4]. Ben: us{x1 the name "extended fx:~sitive rudir~len{acf relatio: his days, and his definition u~xJ h:~j{.ml quantifiers im~l comput{ng machines. [ read this [~ld off hLs thesis and 1 his elm,s couk] be characterized as the now [amiliar de of NR I used ffm {errn L/+ (after C0hham's class 2/] irl

ent of the fbmxd devdopment Edmm~ds, back h: 1 ?~!~5 taiked inbrmaliy a}xm~ .pr0bbms with a "~dxxt charac:t Hon," a nGion esamgaily ~×tuivabat to NP.

In I9 ,x:tuce~j the ~lotion of 5ff)<~mrple{e proved y and flle su[@~aph pmblem were : ~x)mplete. A year ta~er, Karp [42) proved 2t problems vl N/I-complete, thus fbrcefi.l~ly demo~:£ra{iag the im~md~ the sub:eeL Indef~mdendy of this m~d slightly tater Lee b M n 5k~viet Union {now at I;k:ston Univefs defh:e, [arid stronger} nodon and prow~d six : b m s were complete in his senax~, The i~fformat nodon °%earth p ~ t J e m " was sta~@ard in the ~k)viel ]ileratum,

@4 (2>mmlmkx£io::s oj the: ACM hme ¸ ~': I 8,3 Vdu~c2d N

Page 5: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

I,evin called his pmbb ms "mfiwtmal search problems/' The dass NP i>,:hales ~ enormous mn,d>e,r o~ practic;d

Kobbms that {×:<:~.~r bl bush~e,~; mad Mdust~ y (see 13t ]], A proaf that an NP pr{)bhm~ is NP,< ~mph.4e is ;.~ pK×#' thal the problem is m)t in P (d<>.s ~1o{ h;.~ve a d~;{ermi~fistk: {~Jynomiat time alprithm) ¢ !less every NP pr~lhlem is iu P. Shtce the. latter amdition would revolutionize <omputer sdence, the practici effbc~ M' is a lower b{mmt. T}lis is why I have included ibis subiect im tbc se<:~hm on lower bomb&,

4,5 #p-Compleiem~s The notion of NP.(:ompte~enes.s applies to sets, and a pr~:×ff that a eel is NP4:~m@eh: is usualb/interpreted as a prr×:ff that it is intractable. There a t< however, a/arI4e nmuber of apI~u °- ently intractable f lmdbns tbr which no Nl<completen~% pnxof seems to tle rebvant. I,eslie Valiant {86, 87] defined the notion of 4fP~xtmpleteneas tu help remedy this situation, Proving that afimction is #P.<xmplete shows that it is a p ~ r - ently intractable t() (>mpnte in the ~une way that proving a set is NP<;umpbte shows that it is apparently intractable to recognize: rmmelL if a #P-cernplete function is {x)rnputat.Je in polynonfiat time, ttten P = NP.

Valiant gave many exampbs of #P<xrruplete tkmctions, but probably the most interesting one is the t:~rmanen~ of an integer matrix. The I:mrmanent has a definition fi~rma]ly simb. lar to the detemlinam, but whereas the determinant is easy to compute by C, aua~ian elimination, the many attempts over the past hundred c×td years to find a feasible way to compnte the t~rrnanent have all failed. Valiant ~grve the first c£mvinc- ing reason for this failure when he proved the [:~s~rmanent #Po complete.

5, PROBABIIffSTIC ALGORrI}iMkS The use of random numbers to simulate or approximate ran- dom processes is very matural and is well established in ~)m- puling practice, However, the idea that random inputs might be ver'v useful in solving deterministic combinatorial prob- lems • ~as been much slower in [xmetrating the computer sci- sacs community. Here I will restrict attention to probabilistk: (coin toasinN polynomial time a lp r i thms that "solve" (in a reasonable sense) a p m b b m fbr which no deterministic Ixaly- nomial time algorithm is known,

The first such algorithm seems to be the one by Berlekamp [5] in 1970, for factoring a polynomial ¢" over the field GNp) of p elements. Berlekamp's alg)rithm runs in time [~Jynomial in the degree of f and log p, and with p~obabili%' at least one- half it finis a correct prime fi!mtorization of j:, otherwise it ends in failure, Since the algorithm can be ret~ated any number of times and the latium events are all inde[~mdent the algorithm in practice always Nctors in a feasible amount of time.

A more dramatic example is the algorithm tbr prime recc N- r~tion due to ~bl6vay and Strassen [77] (subnfitts<{ in 1974). This algorithm runs in time ~xfl~memial in the length of the input m', and outputs either "prime" or "com[xrsite." g m is in fact prime, @en the output is ce~tNnly "i.mme/' but ff m is composite, then with probability at most one-half the answer may also be "prime?' The algorithm may be refr~,ated any number of times on an inp~t m with indet~mden~ resuffs~ Thus if the answer is ever ' 2 ~ s i t e , " the user knews m is camp,)site; if flm answer is ~sistm:~tly "prime" after, say, 1@] turn, then the user h.as g:×xt evMerme that m is prime, Nnce airy fixed comlxmite m would Nve sud~ results with tiny probability (]e:m than 2- '%.

Rabin 1~l j developed a diffbr~:mt [~mbabilistic algerithm

with pro[~:~rtles similar to the one a[:~)ve, and tbund it to he very fist on ~lrrlputer t r iak The m.mJmr 2~<-593 was identi~ fled as (probably} prime witffin a fbw minutes,

(Me interesting appli(~dion of probabilistic prime testers was prof×~d by Riv~st Shamir, and Adbman {fi7a] in their landmark paper on public key cryp{osystems in 1978. Their system requires the generation of large (100 digdt] random primes, They pm~×.~.;ed testing random itXJ digit n u m b e ~ uso ing the ~)lovay-Strassen rnetI:Hxt until one was [)und that was p~lbab/y prbne in the sense ou@ned above. Adua]ly with the new high powered deterministic prime tester of Cohen and 1,er>;t~z {17] mentioned in ~3ction 3, once a far> dorn I@] digit °'probably prime" number was found it could be tested fbr certain in a}x)ut 45 seconds, if it is irn[x)rtant to know fbr ceSain.

"I1le (:lass of ~ t s with fx:Jynomial time probabilist~c recogni- tion algorithms in the sense of .~Jovay and Stra.~en is known as f:{ {or sometimes f:LP) in the literature. Thus a set is in B if and only if it has a proL/abilistic re<~gfition algtrithm that always halts in polynomial time and never makes a mistake fbr inputs not in t:< and fbr each input in }{ it outputs the ri&ht answer [)r each mm with probability at least one-half[ Hence the sot of composite numbers is in B, and in general P ~ }{ NP. There are other interesting examples of sets in B not known to b~ in P, F'or example, Schwmtz [71] shows that the set of nonsingaJar matrices w'hc~e entries are txJynomials in many variables is in B. The algorithm evaluates the polyno- mials at random small integer values and computes the dete> minant of the resuk (The deterrnirmnt ap~[rent.ly cannot fea- sibly be computed direcdy becauso the gmlynomdaks com- puted wo@d have exponentially many terrns in general.)

It is an intriguing, open question whether B = P. It is tempting lo coniecture yes on the phfloaoplfical grounds that random coin tosses should not be of much use when the answer being sought is a well defined yes or no. A related question is whether a probabilistic algorithm (showing a prob- lem is in ]q] ix for all practical purtx~es as good as a determin- istic a lpf i thm. After all, the prebabflistic aJ.gadthms can be mm using the p~eudora.ndom nurnber germ:rations availabb on most cornputers, and an error probability of 2 -v~ is negligible. The catch is that gseudomndom number generators do not produce truly random numbers, and nobody knows how well they wilt work for a W e n pmbabitistic algorithm. In fact ex[H~fience shows they seem to work well. But if they always work well, then it follows that R = P, bK~mse pseudo- random numhers are generated detenniifisti~ily so true ran- domness would not help after' all. Another tx~ssibitity is to ~ e a physical pro~:ess such as thermal nc@e to generate random numberer But it is an o~xm qu~stion in the p h i k ~ p h y of science how tmty random nature can ~<

Let me dose this sectien by ment~ning an interesting theo~ mm of ANe:man [1] on the class B. It is easy to ~ e {57b] that if a set is in P, then for each n there is a Boolean drcui~ of s~ze bounded by a fix~l [~lynomial in n which determines whether an arbitrary string of" teng~h n is in the set. What Adtemaa p r o ~ d is flaat the same is true for the class R, Thus, for exampb; for each n there N a small '%ongmter d:rcuit" that correctly and rapiNy ~sts whether ri digit numLlers are prime, '°INe (mkfh is tha~ ~he circuits are, not uniform in n, and in tinct for the a:~e~ ~ff lO0 dints i~ may ~vat be ~ d b l e m figure out hew to h@td the drcuit2

g, SYNC I[.N P A R . ~ L E L With the advent of 'VIS[ t¢<;hr}ekygy in which one or more

can be placed on a quar~e>inch chip, i~ is n~mmt

June 1983 V:,I.~.~:, ,~: ~.,.d~, ~,: Commurd<~L/ons of QmACM 405

Page 6: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

to think of ~ fi~ture <x)mputer contfx~sed of many ~ho~m<ts of such pPo<:{~,<)~-: ~Aork ng t(~get}mr in p~ra.]b] to s{ h't a singb i}ix}hlenL ~,,tthel:~.~,h XO tery large ~le::e:r;,d ;)u.rj~}se nm{;hine {)f Ibis kind has been beilt yet. q:ere are such 1):x)}~ {:ts un(t< r way (see S<hwartz {72]), This motivates {he rec(I:t devebt> merit of a very pleasi~:£ branch of :ompuiadon comph:}-dt): tbe thcvory uf la<ge s(xde sy:wheono::s [~nallel computation, m which the ram}bet {:)f' pex:e~<xx-s is a resource b(umded by a parameter H{n) (}-1 is fbr hon:Mxt-t ) in th,:.~ same way that space is i×)unded t)y a parameter £~'~) in s~quel~tia! complex° itv th~)rv, Typically }i/n)is a fixed Ix)lynomiai iu ~,

Quite a nmnber of :mrallet computation mede:s have been pc~)Ix~sed {see [21] fiora re~,iew)~ just as then~ are many con> bx¢ing sequential models (see S.ectio~: 2). There are two main contenders, however. The firsI is the ~.:la:.;s o£ shared memor~ models in which a large number of pr{x:es.vgrs comn:u>icate via a random acce:,<s mentory {hat ~bey hokl in (x:)nm:on, Many [mn::]lel aigerithms have been published i~:~r such models, since real :~ra!tet machines may well be like this when ~hev are built. }{owever. {be the mathematical theory these mo~iels are no{ very a~tisfactorv becxmse t(x> nmch of their detailed s~xmification is arbitrary: How are read and write (x):ff]i::ts in the comn:on memory r:-~solv:xl? What basic o-paratio::Ls are allowed i?r each proceasor? Shoukt one charge bg £t(n) t]n:e units to acc;e~ non:mon memory?

Hence : prefer the :leaner n:ode! dis::us.sed by Bnmdin [81 (I:}77), in which a parallel :):np:,:ter is a unifon:: fan:fly <B ,~ of acydic Boolean cir{:uits, such that B~, has rl inputs (and hence takes m~e of those input strings of length n), Then H(n) (the arnoun~ of hardware) is simply the number' of g~£es in B,,, and T(n) {the paralbl mmputat ion time) L~ the depth of the circuit B. {i.e, bn~h of the longecst [x£h from an input te an output). This mo~hJ has the practic~fl }ust:ifi(mtion that pn> sun:ably all real machin(<s (including sha:'ed memory ma- chines) are built from FkxJean ci>cuits. Fnrthennore, the min- imum ~:kxJean size and depth needed to compute a function is a natural mathemadml problem and wa.s considered well hetbre the theor7 of paralbl computation was a:?und,

Fortunately fbr the theory, the minimum values of has% ward H/n) and parallel dine T(n) are not wildly different for the various cx)mpeting ~ r a ] l e l cTamputer n:~leLs~ :n partk:ular. there is an intePesting geaend [:ct tree for all the n:(x]e[a first proved for a pac~k:ular model by Pratt and Stockmeyer [58] in i974 and called the "Darallel computation thesis" in [33]; nan:ely, a problem can be solvex] in time potynom.ia] in "fYn) by a parallel machine {with unlimited hardware) if and only if it c~r: be so lved in space polynomAal in 7~n) by a seque::tial machine [with unlimited time)

A bksic question in parallel computation is: Which pro[> bins mn he a:)tw~d substantially £~'ter usLng n:any pm~¢~)n~ rather than one prc4>;~sN~r? Nichol&s Pippenger [57a] formal- h:ed ~his question by defining the class (nnw cath<t NC, fbr "Nick's c t~s ' ] of ~oblems solvable ultra fast [time 7~n) = {log n) (~:}] on a F~.ralel m m p u t e r w'i{h a feasible [H{n) = n m~] amount of ha:'dwm~?..Fo:lunaMy, the c:t:~s NZ;' remains the same, indevendent of :'he particular [~mdle] o?mputer m(x]el c}:c~m~, and it is easy ~o see that NC is a subset of the d : t~ FP of §anctions c~s:Bf£:taNe a~uentiat ty in polynomial time. Our informal quesl.km (2an then f~ forma]L~sd as folk)ws: Which prebbms in FP are abo in NC?

tt is cxmceivahte (thou~ unlikely) that ;'4:(£'= YP, sin(x~ te prove NC # FP wouh:i requi~ a breaktlhrou~ in (x:)mpiexity th~xx7 {see the end :d Sxa~::{ion 4,1), Nnce we do not kn(m' how to prove a flmctkm f h: FP is not in NC, the next [x~st thing is to prove that f is k~g s:~ce mmpiete for FP. Thb i.:; the anah54 Of prOVi~:g a f.}r~k~bm is NP<;omi:Jete, and ha5 {ihe

pracd(:al eflb::t of discomay~inp, ciiDrt ~ ii)~- th~dh~: ~uper fast [~a>dh>t algorithms {br i Thie.~ i> be:>u>;<e if ! is in~i spme- :::)rnt}lele b r b'P and t is i]~ ;<tL d>>: }"1' .... \X2 w}AQ: ,.vou]d l~u ~: big sm't~Hse.

Quite 8 bit fff ;>."ot,jee~>; ha:.. been nmdc J> ~:{ ~>;>ji) iu £ ix.o} l{ms in FP :s to v~h{ t h < they ure h: N(; ~n b/, q)ac:~-(;on> t)bte fbr FP {of <ounqe, dmv may b{ mAt}it r). The flint exam- ~)le ( ) { a t)n)},}l{Hn (7olnt)t8{{? Ii}T ~) T%'[tS [)I1 S~!~11c(] i n I!}73 t)y ~]]e in {20]. d{ho~:~: ] did nol sla*e the re>;:A{ :v. ;~ cnm/)leteness result. Shnrt]v after/}rid lone8 ,rod l ,a ~t~er {381 det]ne(t this nodon ef comlJeteness and gave abeut five example.s, inc]ud. :ng the emptJnea.~ t)~nbh,m tLr (outext..flee grammars. Proba- bly the simpb, st :}tobit m pn),,ed comfAete for FP i.~ die a}o called circuit value p:'obh~m [47}: #yen a l}(:~.Je;a:: {:ir(,uit to- £etller with "~a]u{:s f}.)r its iapt,As, fiHd {}}e vahm, of Ibe output, The examph:~ most [nten~sti:~£ to me, due to (;< lds hlager, Sham m:d Staph> [34], is finding flw {p.nitv of) the maxhmnn flow thlx)ugh a given ::etwork with {b.rgc) [×>itive integer <2::rarities (:m its edges. The interest <x)mes frnn: ~be subtlety of the comph tene~.s pr~:x:}[ }qnatly, 1 :-;}:ouht mention that lin- ear progrannning is c{}n~l){ete for FP, In this (;a~m tbe difficult part is showing that the pnJJem is in P {see {43]), after which the (x)mpte~enes.s pr{×)f {26] is strai~j:di):-want.

Among the pmbh<lns known to be in NC are the ti,)ur arithmetic: operations (+, --, ' , e ) on binary m.mff)ers, sorting, gEaph :xmne{ fivity, ma{rix o:>.~ratiens (nmltitJicaiion, inverse, detemina~:t rank), fx:)lynomial greatest cnnm:on divisors, (:on. texbfree languages, and finding a minimum spanning forest in a g1"aph (see {11], [21 ], [63]. [67b]). The s/zx: of a maximum matching fbr a given graph is known {11] to be in "random" NC {NC in which (:sAn t{>kses are allowed), allhough it is an interesting (:)b~m questinn of wbethe: finding an adual maxi-

iN'" mum matching is eve:~ in ran(tern ~ (.. Results in [89] and {67b} provide general meth(~[s £~:~" showing prohlen:s are in NC

The most interesting problem in FP not known eitber to be tx)rnplete fbr FP or iu {randeln) NC fs finding ~he ~g'eatest m m n m n divia)r of two integers. There are many other inter- estin.g problems that have yet to be daxsifi{~i including find- ing a maximum matching or a maxima/cl ique i~: a graph (see :88])

7. THE F U T U R E Let me say again that the field of computational (xm:plexity is la<ge and J:is overview is briefi The:re are large [~:rts of the subje'd that : have left out alteygether or barely touched on., My a[×}logies to {he. researchers in th~ : ' fmrts.

One relatively new and exciting Dart cale,(~ "c.omputatiol.ai infbrmation thc<)ry/' by Yao [921, bt:ilds on Sha:mon's c]assi- c~al informatkm theory by comsidering inR)rmation that oan be atx::esz~d through a feasible mmputa~iom This subject was sparked largely by the patxms by Diffie and t-tetlma:~ [25] and Rivest Shamir, and Adleman [67a] on public key crypk~sys- terns, although its computational roots go back t:~ Kotmogomff [45] and Chaitin {14@ [t4b], who firs~ gave :nean.in 8 tO the notkm e ra sin?je firdte ~xF~ence beieg "random/ ' by u~ing the theory ot ° mmputation, An interesting idea in this theod, considered by Shamir {73] and Blum and MkxJi {7], concerns generating F~mdorandom s~:~4uences in which :f\lture bits are pmvabb¢ ha:It to p:redic~ i~ terms of ims~ bHs, Yao [92] proves

bitistk: cta~ 8 (;{~e S~£tien 5]~ in h~ct, comp~ta{ional i::lbmm- Hen flm~)ry promises k'~ shed lif~J~:~ on the role of randomness in computatk:m,

tn additkm to <xm@uta~io~al hffbrmation :beery we (xm

cruing

£'C, In i !lu]US v

future v

£,bo~ /~ug:]es ti0m ee: vi0 ;It{',,

I, Adb~ 8)'rap kngea

a, Adler nlm[ F3<

a. Aho,

4, lena G, Pl

24 {1! ¢ Itum

.5,m(:t 7, Bhm

q!wl,I Com~

(1977

blic ique

sgKiu{ ,1, b~]

Gtff] lKZ

12. }k~r~] Xum~

13, B~:k b@x

1@, Oh#, seque 145-I

14b. Cha: Cheer

15, C&t lnt~ Yg~a

16, Cobb C0n!i

17. (bhe 82-1

18. ( ~ k Syll[ 151-

:9. cook atlx imsl

o~ea {Ap~

n. (:{~Jk

tl, Cc@ c0l!f

24, %@ n~N{

za, 0iffh 01 h

@~ ( omm: r £ ~t/mt~ ff 8:e ACM ]:m~ ~ 9('f3 V<dume 2~; Nm~J~r t lae lit

Page 7: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

IVNN8 , ~ N ~ ~ C ~

exi~ct interesting new results on probahilistic a]gorithrns, par- al[el computation, and (with any luck) lower hounds. Con- ceruing lower bounds, the one breakthrough for which I see ~)me ho~im in the near future is showing that not every prob- Iem in P is solvable in space O(log n), and perhaps alto P # 5.'(2. hi a~y case, the field of computational complexity re- ~nains very vigorous, and I took forward to seeing what the futurt.,~ will hrirlg.

Ack~owl~Mgmen~, I am grateful to my complexity col- leagpdeS at Toronto for many helpful comments and sugges- tions, especially Allan Borodin, Joachim yon zur Gathen, Sil- do MicalL and Charles Rackoff,

REFERENCES 1. Adleman, [,. Two theorems on random fxJynomiat time. }5"oc. 19th [EEE

Syrup. ee t,'om~dations af Compater Science. IEEE Computer Society, lz~s Ar?gel(~ (? !t781. 75-83.

2, Adlemae, h., Pomerance, C. and Rnmley, R. S. On distinguishing prime nam[mr~ fmnl comtNxsite nnmbers. Annals of Mr~th 117, (January 1983), 173 2iN,

3. Abe, A. V.. I tefx:mfl, l. E. and Ullman. ]. D. The Design and Analysis f f Campumr Algorithms. Addison-Wesley, Reading, Mass., 1974,

4. Bennett t. 1£ On S/x:ctm. tkx:toral dia~rtation, Department of Mathemab ks, Pi-i~melon [bfiversity. 1962,

5, f{erlekamp, I:;. R. t.'actoring f~lynornials over large finite fields. Math. Comp. 24 (1970], 713-735.

6. }fiuel, M. A machine indelxmdent theory of the complexity of recursive Iknmtkms. ]ACM ?4, 2 (April, 1987), 322-336.

7. 81unl, M., and Mffadi, S. How to gemerate cryptographically suxmgl se- {]llf!II(:(N Of /kSA!UdO rHlldeln bits. fSroe. 23M IEEE Syrup. on Foundations of CompoSer ,~:ieace. IEEE Computer 5k×;iety, lz~ Angelcs, 119821 112-117

8, }kin×tin, A. On relating time and s~me to size and depth. Si~M I. Comu. e 41977j, 733-744.

9. }k)r(Min. A. Structured vs. ~eneral mextels in computational complexity In lx)gic and Algorithnlic Monngraphie no 30 de l,'gnseigjmmelu Malhema- tiq e tJeiversit6 de (;eni~ve 1982.

~(I. ~)rt×tin, A. and (kx~k S. A mne-stmce tradeoff fhr sortin~ on a general s~x/ueu6a] anulel of tx)mlxltanon. SIAM I Comput, I1 119821 287-297

I. Borodin, A., vnn zur (;athen J. and Hofx:mft I. Fast parallel matrix and (;CD cnmputatkms. 23rd IEEE Syrup. (m Foundations o1 Computer Science. lliIff~ Computer bkx:iety. Los Angebxs ( 19821.65-71.

~2. ~rt×tin, A, and Munro, I. The Computational Complexity ef AIgebraic ,n(, Numeric Prublems. Elsevier New York. 1975.

~3, Sr~:ke{l R. W. and Dobkin. D, On the optimal evaluation e ta se? of bilinear forms, Liee{~r Algebra ,nd its Applications 19 11978L 207-235.

b~.~. Chaitin, (;, ]. On the length m pixgrams tbr computiog fiaite binary axtuences. ]ACM I3, 4 (October 19661, 547-569; JACM 16, I [January 1969), 145-159.

]t4h. Chuitin, C, J. A theory el program size formally identical to ird0mmtional theory. ]ACM 22.3 (july 19751, 329-340.

15, tk)hham, A, The mtnnslc computational difficulty of functions. ~'oc, [9~ tnlernation(fl C(mgmss for l~gic, Methodology, nnd Philosophy ef Sciences. Y. Bar-HelleL Ed. North Holland. Amsterdam. 1965. 24-30.

~g. (;obham, A, The re<x)gnition problem for the set ot perfect squares, iEEE Cer@~mce Record Seventh SWAT. t19(gS), 78-87,

~7. Cohen, H. and Lenstra, H. W. It. Primarily testing and Iacobi sums. Report 82-18, University of Amsterdam l)epl, of Math.. 1982.

~8. Cook, S, A., The complexity of theorern proving procedures. Prec. 3rd ACM Syrup, on Theory of Computing. Shaker Heights, Ohio, (May 3-5, 19711, 151-I58.

19. Cook, S. A, Linear time simulation of deterministic two>way pushdown automata. Prec. IFIP Congress 71. FFhooretical Faundations). North Holland Amsterdam. 1972, 75-80,

Z~3, (kx)k, S, A. An observation on time-storage tradeoff, JCSS 9 (19741, 308-316. Originally in Prec. 5th ACM Symp. on Theory of Computing, Austin TX. {April 30-May 2 19731 2~33.

ZL Cook, S. A. Towards a eornplexity, theory of synchronous parallel computa- tion. L'Enseignement Mathdmatique XXVll (19811, 99-124.

2& Cook, S. A. and Aanderaa, S. O. On the minimum computahon time of functions. Trans. AMS 142 (19691, 291-314.

2.,3. (~ ley , I. M. and Tukey, ]. W. An algorithm for the machine calculation of Complex Fourier series. Math. Comput. 19 (196,5), 297-301

24. Coppersmith, D. and Winograd. S. On the asymptomatic complexity of matrix toni ipl cation S/AM ]. Camp. 11 (1982), 472-492.

25. Digie, W. and Helhnan, M. E. New directions in cryptography. IEEE Trans. on Inform, Theory Eft.22 6 (1976), 64~654.

26. Dobkin, D.. I,ipton, R. J. and Reiss, S, I,inear programming is log-space hard tbr P. l@ P~xzcsing Letters 8 (19791, .9(~97.

27. Edmonds. J. Paths. trees, flowers. Cenad. J, Math, 17 {1965), 449-67. 2& Edmonds, I. Miifimum partition of a matmid into independent subsets. J.

lies. Nat. Bur. Standards Sect, B, 69 (19t55], 67-72. 29. Ferrante, J. and Rackoff, C, W. "1%e Computational Complexity of t,ogica/

Theories. ~ ' tua~ ;',.lutes in Mathematics. #718, Springer Verlag, New York, 1979.

30. Fischer, M. 1. and Rabie. M, O. Super-expmmntial complexity of Presburger arithmetic, In Complexity af Computntion. SLAM-AMS/5"¢×:. 7, R. Karp, Ed., 1974, 27-42,

3"L Garey, M. R, and/ohnam, D. S. Computers and Intractability: A Guide to the Theory of NP~bnlpleten~,'s, W. H. Freeman, San Francisco, 1979,

32. Gilt, J. Computational (x~mplexity of probabiffstic Turing machines, r A M }. Compel. 6 (19771, 675-695.

33. CkJdschlager, L. M. Synchroneus Purallel Computation. Doctoral disserta- tien, DepL of Compater Sk:ience. Univ. of Toronto, 1977. See also IACM 29 4, (October 19821, 7073--10.80,

34. GoldmJflager, I,, M,, Shaw. R. A, and Staples. I. The nmxinmm flow prob- lem is log space complete for P. Theoa;tical Computer Science 21 (1982), 105-111.

35. Grzeg)rczyk. A. Some classes of mcursive fm~ctiot~. Rozprawy Motema- tyezne, 1953.

3t3. Hartmmfis, J. Obseiwations about the development of theoreti~fl computer science. Annals ttist. Compel, 3, 1 (Jan. 1(~1), 42--51.

37, Hartmanis, I. and Stearns, R. E. On the computational complexity of algo- rithms. 7k'ons. AMS 117 (1965), 285>-306.

38. )ones, N. D. and bmser. W, 2", Complete preblems for deterministic poly- nonfial time. Th~m?ticffl Computer Science 3 (1977), 105-117.

39. Ka/tofen, E. A polynernial reduction from multivariate to bivariate integer ~×Jyaomial factorizatiom 1:bec. 14th ACM Syrup. in Theory Comp. S~m Franciscx). CA, (May 5.-7 1932), 2ti1-2t~5.

40. Kaltof~m E. A polynomial-time r~uc t ion from bivariate to univariate inte- gral t×)lynumia/fhctoriTatien, Prec. 23rd IEEE Syrup. on Foundelions of Corn miter Science. IEEE Computer S~x:iety. Ixxa Angeles 1982, 57-64.

41. Karatsuba, A. and Ohnan. Yu. Multiplka~tioa of nndtidiglt numbers on automata. Dokladv Akad. Nauk 145.2 119f~2L 293-2~N. Tmnslah~l in Soviet Phys. Dokludv. 7 7 (I~N3J, 595.596.

42. Karp. R. M. Reducibility among ~-xmabinatorial problems. In: Cemplexity of Computer Computations. R. E. Miller and I. W. Thatcher Eds.. Plenum Press. New York. 1972.85-1/14.

43. Khachian I,. G. A tmlynonaial time alg~ritlhm fbr linear progrmnmmg Dok- /ad~ Akad. Nauk &KSt{. 244. 5 1979}, ltN3,4Ri. Translated in Soviet Malh Dokladv 211. 19i-I~N,

,:1.4. Knuth. i.). E, The Art of Computer Programming, vol. 3 Sorting and Yx~arch- ing, Addison-Wesley, Reading, MA. 1973

45. Knhnogorov, A N. Three apprcmches to the conce N of the amount of information. Probl. Pered, hit. (Pmbl. of Inf. Trensm.) I [1965).

,t& Kolmogprev. A. N. and Ust*mski, V. A. On the definition of an algorithm, Usfmhi Mat. Nauk. 13 [19581, 3-28: AMS Transl. 2nd set. 29 (nKi3), 217- 245.

47. Ladnm. R. E. The circuit value problem is log space complete [or P, SIGACr News 7 1 , 19751.18-20.

48. Lemstra. A. K.. tmnstra, tt. W. and l*~vasz. I,, Factoring polynomials with rational coeflk:ients. Report 82-..05, UniversiIy o[ Amsterdam_ Dept. of Math.. 1982.

49, [z, vm. I, A. l Jniverswl search problems. ~)b lemy Peredaci In tbrmacii 9 (19731, 115-116. Translated in Problems of Information Transmission 5. 265- 266

5,0, Luks. E. M. Isomorpbism of graphs of bounded valence can be tested in polynomial time. Pr~×;. 21st 1Eh;E Syrup. on Foundations of Computer Sci- ence. IEEE Computer S~r.,iety, Los Augeles (1.'-)80}, 42-49,

51. Meyer. A. R. Weak monadic second-order theory of succeasor is not ele- memary-recursive, lz.cture Notes in Mathematics, #453. Springer Verlag, New York 1975, 132-154.

52. Meyer. A. R. and Stockmeyer, L. J, The equivalence problem for regular expressions with squaring requires exponential space. Prec, I3th IEEE Syrup. on SwitcNng and Automata Theow. (1972), 125-129.

53, Miller. G. L. Riemann's ttypothesis and tests for primafity. J. Comput. Sys tern SOl. 13 (1976), 300-317.

54. Oppan, D. C. A 22xpn upFer bound on the complexity of Presburger anti> tactic, l, Comput. Syst. Sci. I6 (1978), 323-332.

55, Papadimitriou, C, I-l. and Steiglitz, K. Combinatorial Optimization: Algo- rithms end Complexity, Prentice-Hall, Englewood Cliffs, NJ, 1982.

5~. Paterson. M. S.. Fischer, M, J. and Meyer, A. R. An improved overlap argument for on-line multiplication. SIAM-AMS Prec. 7. Amer, Math. SOc, Providence. 1974. 97-111.

57a. Pippenger. N. On simultaneous resource bounds (preliminary version). Prec. 20th IEEE Syrup. on Foundations oJ Computer Science. IEEE Computer Society, Los 4ngeles (1979}, 307-311.

57b, Pippenger. N. I., and Fischer, M. I. Relations among complexity measures. ]ACM 26, 2 (April 1979], 361-381.

! !i ii

ii, %)11!

¸<%¸̧ /

'olume 26 N m n b e r 6 conlmunicat ions of the ACM 407

Page 8: AN OVIIVIIW QI CQNPITATIQNAI= CQNPLIXIshanth/stuff/cs7930/cook_1982.pdfstore integers in one step some bound must be placed on their size. (If the number 2 is squared 10'0 times the

I19NN~ A ~ ~3~C7~

58, Pratt, V. R. and Stockrneyer, L. J. A charactmization of the power of vector machines. ]. CompuI. S)~tenl SCi, 12 (197t~), 198-221. Originally in Proc. 6th ACM Syrup. on Tbex)ry (If Computing, Seattle, WA, (April 3t;~-May 2, 1974), 122-134.

59. Rabin, M. O. Sf~ed ef corrlputation and classification of recursive sets. Third Conveodou Sci. Sot:. Israel, 1959. 1--2.

~t, Rabin, M. O. Degree of di~culty of computing a function and a partial ordering of recursive sets. Tech. Rep. No. 1, O.N.R,, Jerusalem, t 9~).

~.1. Rabin, M. O. Probabilistic al~rithms. In Algorithms end Complexity, New Directions rind Recent Trends, J. F. Traub. Ed., Academic Press, New York, 1976. 21-39.

g2. Rabin, M. O. Complexity of Computatio~xs. Conmr. ACM 20, 9 [September 1977), 625-633.

g3, Reif, J, H. Symmetric Complementation. Proc, 14th ACM Syrnp. on Theory of Computing, San Fran<isco, CA, (May 5-7, 1982), 201-2t4

g4. Reiseh, S. and 5k:hnitger, G. Throe applications of Kolmorgorov complexity. Prec. 23rd IEEE Syrup. oil Foundcltions of Computer Science. IEEE Computer S~x:iety, Iz)s Angeh;s. 1[).82.45-52.

£5. Ritchie, R. W. Classes of t~ecursive Functioes of PredictaNe Complexity. Doctoral Dissertation. Princeton Univm,~ity, t9N).

g& Ritchie, R. W. Classes of predictably computable functions. Trans. AM2S 106 (1963 l, 139-173.

67a. Rivest, R. i,., Shamir, A. and Adleman, 1,, A methed fi% obtaining digital signatures arrd public-key crypR~ystems. Comnr. ACM 21, 2 [February 1978), 129-126.

67b, Ruzzo, W.-L. On uniforra circuit complexity, ]. Comput. System Sci. 22 (1981), 365-383.

gBa. Savage. J. E. The Complexity of Computing, Wiley', New York, 1976, f~b. Schnorr, C. P. The network complexity arid tbe Turing machine complex-

ity of finite functions. Acto Inforrnutico 7 (1976), 95-107. gg. Sch6nhage, A. Storage modification machines. SIAM J. Comp. 9 (1980), 490-

508. 70. Sch6rthage, A. and Stras~sen, V. &;hnelle Multiplication gmsser Zahlen.

Computing 7 (1971), 281-292. 71. Schwadtz, J. T. Pmbabilistic algorithms for verification of polynomial identi-

ties. ]ACM 27, 4 (October 1980), 701--717. 72. Schwartz, J, T. Ultracomputers. ACM Trcms. on 1@og. L~nguoges cmd Sys-

tems 2, 4 (October 1980), 4e/.L521. 73. Shamir, A. On the generation of cryptographically strong pseudo random

s~luences. 8th Int. Colloquium on Automata, Languages, and Programming 0uly 1981), Lecture Notes in Computer Science No. 115, Springer Verlag, New York, 544 -550.

74. Shannon, C, E. The synthesis of two terminal switching circuita. BST] 28 (1949), 59-98.

75, Smale, S, On the average speed of the simplex method of linear program- ruing. Preprint, 1982.

7& Smale, S. The problem of the average speed of the simplex method. Pre- print, 1982,

77. Sk)lovay, R. and Stra,t£~en, V. A fast monte<~rlo test fer i)rimality. SIAM ]. Comput. ~ (1977), ~V~.-g5,

7& Stearns, R. E., Hartmanis. J. and l,ewis P. M. tL Hierarchies of memory limited compu~afiens. 5th IEEE Syrup. on Swi~chi~g Ch'cuil Th~)ry rind I~gicul Design. (19t55), 179-1g0.

79. Stox;kmeyer, I,, J. The complexity of decision problems in automata thcK/ry and logic, I)c~:tora] Thesis, Dept. of Electrical Eng., MIT, Cambridge, MA, 1974; Ref,x/rt TR-133, MrF I~txsratory fur Computer 5k:ience.

89. Stockmeyer, L. J. Ctassi(ying tile computational complexity of problems. Research ReI.x)l~ RC 7600 (1979), Math. Sciences Dept., IBM T. J. Watson Research Center, Yorktown Heights, N.Y.

81. Strasseu, V. (',adssian elimination is not optimal Num. Mclth. I3 [19(5,9), 354- 35&

82. Strassen, V. Die Berechnun~komplexitiit yon elementarsymmetrisclnar Funktionen und von hrte~x~lationskoefi~zienten. Numer. Moth. 20 {i973), 238-251.

83. Baur, W. and Strae-sen, V, The cornplexity of partial derivatives, Preprint, 1982.

84, T(xm~, A. I,. The complexity of a sx:heme of fuuctionaI elements realizing the nmltiplication of integers. Do/dady Akad. Nook. Sssiq 150 3, (1963) 496,..- 49.8, Trai~slated in Soviet Math. Dokludy 3 (1963/, 714-,7"16.

85. Turing, A, M. On computable nmnbens with an application to the Entsch- eidnungsproblem. Pnxc. London Moth. &×:. set. 2, 42 [1936-7), 239-265. A correction, ibid. 43 (1937), 544--546,

86. Valiant, L. G. The complexity of enumeration and reliability problems. SIAM ], CompuL 8 (1979), 410-421.

87. Valiant, I,, C. The complexity of computing the permanent. Theoretieol Computer &:ience 8 (1979), 189-202.

8& Valiant, L. G. Parallel Computation. Prec. 7th IBM ]upcm Syrup. A~dernic 6 Scientific Programs, IBM Japan. Tokyo (1982).

89. Valiant, L. G., Skyum, S.. Berkowitz, S. and Rackoff, C. Fast parallel compu- tation on polynomials using few processol~. Preprint (Preliminary version in Springer Led.ure Notes in Computer Science. 118 (1981), 132-139.

~ . von Neumarm, J. A certain zero-sum two-i.~rson game equivalent to the optimal as,signment problem, Contributions to the Theory of Games II. H. W. Kahn and A. W. Tucker, Eds. Princeton Univ. Press, Princeton, NJ, 1953.

91. Yamada, H. Real time computation and recursive functions no/real4ime computable. IRE "I¥onsuctions on Nectronic Computers. EC-11 {1962), 753- 760.

92. Yao, A. C. Theory and applications of trapdoor functio~ts (Extended ab- stract). Prec. 23rd IEEE Syrup. on Foundotions of Computer Science. IEEE Computer Society, Ixxs Angeles (1982), 80-91.

CR Categories and Subject Descriptors: IlL O. [General] General Term: Theory Ad.dilional Key Word,~ and Phrases: computational complexity

ii ~ii t iiil !I

b:~N1

ACd & l g o r R ,

Collected Algor i thms f rom ACN (CALGO) now includes quar- terly i s sue s of comp le t e a lgor i thm listings o n microf iche as part of the regular CALGO s u p p l e m e n t service,

The ACM Algor i thms Distribution Service n o w offers microf iche conta in ing comple te listings of ACM algor i thms, and also offers compi la t ions of a lgor i thms on t ape as a subs t i tu te for t a p e s conta in ing single a lgor i thms. T h e fiche a n d tape compi la t ions are available by quar te r a n d by year. T a p e compi la t ions covering five years will a lso be available.

A C M Publ ica t ions Catalog f rom the A C M Subsc r ip t ion De-

Now Compo, n :I , rk, NY 10036. To o rde r f r o m the A C M

A l g o r i t h m s Di s t r i bu t ions Service, refer to the o rde r f o r m that it appea r s in every issue of A C M T r a n s a c t i o n s on Mathemat ica l S0f~ware.

!!il 408 Communica t ions o f the ACM June 1983 Volume 26 N u m b e r 6