




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
rower sense to exclude numerical analysis. Thus, theory of computing includes the theory of finite automata, formal languages, computability, computational ...
Typology: Summaries
1 / 8
This page cannot be seen from the preview
Don't miss anything!





857
by PATRICK^ C.^ FISCHER University (^) of Waterloo Waterloo, Canada
Theory (^) of computing means^ the^ abstract^ study^ of^ the nature of^ computation^ and^ computing^ devices.^ By^ con-
of computing includes the theory of finite^ automata, formal languages, computability, computational com- plexity, and (^) some aspects of switching circuit theory and logical design. The deviation^ from the literal^ mean- ing of the term may have cc^l__^ red because numerical analysis (^) was already a well-established subject when the other components of^ this^ area^ were in^ their^ infancy.
sis (^) on discrete mathematics by workers in theory of computing, in contrast to the preponderance^ of^ con-
In Curriculum 68,^ theory of computing^ was^ repre- sented by the following courses.*
B3 Discrete^ Structures 16 Switching Theory 17 Sequential Machines (Automata Theory) Al Formal Languages and^ Syntactic^ Analysis A7 Theory^ of Computability
The (^) courses 83,^ IG and^17 above have^ been^ remark-
their (^) content from the frontiers of research. Perhaps some (^) minor changes might be considered: Course B could include some material^ on the^ first-order^ predicate
has (^) a good balance between intuition and^ rigor.^ Never-
a very (^) good approximation to current course offerings in (^) a number of university and^ college departments^ of computer science.
Formal languages
Turning now to the advanced-level courses,^ one finds
guage theory have taken place in^ both^ the^ area^ of parsing methods and the study of abstract families^ of languages. An^ updated^ course^ Al^ would^ probably^ do well (^) to assimilate a (^) greater proportion of the new material in the former^ area,^ thus^ shifting^ the^ overall orientation of the course more toward^ the^ practical
notion of a^ formal grammar as^ a^ generator^ of^ a^ language and some of the equivalent interpretations in^ terms^ of
of the course I-X proposed^ below.
A considerable (^) amount of activity^ has^ taken^ place within the area covered^ by^ Course^ A7,^ and^ much^ of^ the new material is already^ entering^ the^ computer^ science course offerings^ of^ several^ universities.^ The^ new^ ma- terial lies principally in three areas:
We will^ discuss^ these^ areas^ briefly^ in^ order^ to^ define their scopes, but will (^) not attempt a survey^ of the many interesting results^ which^ have^ been^ obtained.
858 Spring^ Joint^ Computer^ Conference,^1972
Computational complexity
The first^ of^ these^ areas^ dates^ back^ to^ 19G0^ when^ M. Rabin suggested^ that^ one^ could^ study^ the^ classification of computable^ functions^ according^ to^ the^ degree^ of
efforts in computability^ theory^ were,^ in^ fact,^ directed
able functions in^ order^ to^ gain^ insight^ into^ the^ founda-
the three and^ was the^ first^ to^ split^ off^ from^ the^ tradi-
tion theory)^ ,^ which began^ in^ the^ 1930'5.
are "efficient"^ in^ the^ sense^ that they^ either^ do^ not^ ex- ceed a^ bound^ on^ resources available^ at^ execution^ time or do^ not^ exceed^ a^ bound^ on^ those^ available^ at^ compile
sufficiently "fast" or^ sufficiently^ "small"^ and^ deter- mines which functions can be computed^ by such^ pro- grams. The classes^ of^ functions^ obtained^ relative^ to^ a given resource bound arp^ calbd^ "complexity^ classes," and (^) one principal aim of this^ area is^ to^ study^ their mathematical properties. Examples^ of^ resources^ related to execution of a (^) program which have been studied^ are:
needed on (^) a typical computer, number^ of^ bitwise^ opera-
to compilation of a program are:^ program size^ (in^ bits), depth of nesting of DO^ loops^ in^ a^ FORTRAN-like language, number of blocks in a program.
and a number of machine-independent^ results^ have been proved. Thus,^ mathematical^ rigor^ has^ reinforced the programmer's intuition in verifying^ that^ for^ any computable function there are arbitrarily bad^ (e.g.,^ slow or huge) programs which^ do,^ in^ fact,^ compute^ the
a function cannot always be ciTectively^ found.^ Further- more, some functions simply have no^ best programs. The notion^ of^ "time-space^ trade^ off"^ is^ beginning^ to be the object of^ study^ via^ the^ consideration^ of^ com- plexity of finite functions^ (i.e.,^ functions^ which^ need^ to be evaluated for only a^ finite number of^ inputs).^ Until
since all finite functions can be^ computed^ quickly^ via programs with large tables^ built^ into^ them.^ By^ taking program size^ into^ account,^ a^ rich^ enough^ structure^ is
Another related concept is that of randomness,^ since^ a sequence (^) can be considered to be essentially random
if a program to^ print it involves^ the^ equivalent^ of
a non-random^ sequence^ is^ one^ which^ can^ be^ predicted and therefore computed^ by^ a^ relatively^ short^ program. The techniques used^ to^ prove^ theorems^ in^ computa-
function theory. Thus,^ proofs may^ involve diagonal
of-growth of resource needs.^ The^ results^ in^ this^ area have had^ relatively^ little^ direct^ practical^ application^ in the sense that the algorithms^ produced^ generally^ com-
great deal of understanding about the^ nature^ of^ com- putation and the relationship between machine^ organi- zation and^ computational^ efficiency^ is^ being^ obtained.
Analysis (^) of algorithms
This area has evolved as a^ branch of^ computational complexity but has recently acquired its own distinctive character as well as a sizable^ group^ of^ converts.^ (It^ is still new enough to have no standard^ name; other names include^ "efficient^ algorithms,"^ "optimal^ algo-
Again, interest is in the degree of difficulty of^ computing
function (or (^) a relatively small^ class^ of^ functions)^ and to-attempt to (^) determine the complexity of^ the^ best^ algo-
on complexity measures^ are^ investigated^ and^ near- optimal algorithms sought. Examples^ of^ functions^ or
of the median of a sample,^ polynomial^ evaluation, matrix multiplication, checking^ graph^ isomorphism. In analysis^ of^ algorithms,^ the^ measures^ of^ complexity
program structure.^ Examples^ of^ measures^ commonly used are:^ the number of^ multiplications^ and/or divisions
of data references, number of^ data^ comparisons.^ Th<" measures thus^ involve^ quantities^ which^ arc^ basic^ in most programming^ systems.^ Furthermore,^ by^ consider- ing only programs which^ compute^ a^ given^ function, rather than studying^ all^ programs possessing^ a^ certain degree of efficiency (regardless of what^ they^ compute efficiently), (^) one limits himself to programs computmß functions of practical^ interest,^ and^ his^ search^ for^ an algorithm which is both efficient^ and^ useful follows^ mon* closely that of the programmer^ than^ the^ theoretician. For these^ reasons,^ analysis^ of^ algorithms^ has^ a^ con- siderably more practical flavor than (other)^ computa- tional complexity^ theory.
Course I-X: Introduction^ to^ computability^ theory^ and formal languages
Approach
undergraduate or first-year^ graduate^ to^ formal^ systems of computation^ (including^ formal^ languages)^ and^ to give him^ a^ basic^ understanding^ of^ the^ nature^ of^ the unsolvability phenomena which^ pervade^ attempts^ to deduce correctness of^ programs,^ equivalence^ of^ algo- rithms, etc. Prerequisite: Course B3 or a course^ in^ logic^ or^ algebra.
Content
involving the existence of^ an^ algorithm.^ The^ Turing machine as one precise^ formal^ model^ for^ the^ notion.
single-address serial^ memory^ machines)^ and^ the^ data structure of^ the^ machine^ (e.g.,^ more^ than^ one^ tape,
tapes, random-access^ storage,^ etc.).
of (^) an interpretive^ program^ to^ simulate^ other^ Turing
effective production^ of^ counterexamples^ for^ alleged " halting^ problem^ solvers.^ Some^ other^ unsolvable^ prob-
tive recursive and^ recursive^ functions.^ Encodings^ of lists of^ integers^ into^ single^ integers^ (pairing^ functions)
stores, stacks,^ counters,^ etc.^ Simulation^ of^ Turing^ ma- chines by^ machines^ with^ only^ two^ counters.
grammars. Recursively^ enumerable,^ context-sensitive,
languages of^ varying^ complexity,^ e.g.,^ a
nb n (^) , (^) a"b n^ C.
of the above^ in^ terms^ of^ Turing^ machines,^ linear
References — Course^ I-X
The richest sources of^ material^ for^ this^ course^ are Minsky and Hopcroft-Ullman.^ ABA6^ The^ former^ has
Al S AANDERAA P^ C^ FISCHER The solvability^ of the^ halting^ problem^ for^ 2-stale^ Post machines J ACM^14 1907 pp^ 677- A2 (^) M DAVIS Computability and^ unsolvability McGraw-Hill New^ York^1958 210 pp A3 P C FISCHER On (^) formalisms for Turing^ machines J ACM 12 1905 pp^ 570- A4 (^) S GINSBURG Mathematical theory^ of^ context-free^ languages McGraw-Hill New^ York^ 190G^243 pp A5 II (^) HERMES Enumcrability, decidability, computability Academic Press^ New^ York^1905 245 pp A6 J E HOPCROFT J^ D^ ULLMAN Formal languages^ and^ their^ relation^ to^ automata Addison-Wesley (^) Pub Co lnc 1969 242 pp A7 S (^) C KLEENE Mathematical logic Wiley (^) New York 1967 398 pp A8 (^) M L MINSKY Computation: Finite and^ infinite machines Prentice-Hall Englewood^ Cliffs^ NJ^ 1967 317^ pp A9 J MYIIILL Linear bounded^ automata WADD Tech Note^ 60-165^ Wright-Patterson^ Air^ Force Base Ohio^1960 AlO E L POST Recursive unsolvability^ of a^ problem^ of^ Thue J Symbol^ Logic.^11 1947 pp^ 1- All (^) II ROGERS JR Theory (^) of recursive (^) functions and^ effective computability McGraw-Hill New^ York^1967 482 pp Al2 J (^) C SHEPIIERDSON II^ E.^ STURGIS
J ACM 10 1903^ pp^ 217- Al3 B A (^) TRAKUTENBROT Algorithms and automatic computing^ machines Translation by^ J Kristian^ J^ D^ McCawley^ and^ S^ A^ SchmiU D C Heath Boston 1903 101 pp Al4 A M TURING On computable^ numbers,^ with^ an^ application^ to^ the Entscheidungsprobli m Proc London^ Math^ Soc^ Ser^ 2 42^ 1930-1937^ pp^ 230-lw Corr ibid 43 1937 pp^ 544- Al5 II (^) WANG A variant to Turing's^ theory^ of computing^ machines J ACM 4 1957 pp^ 61-
" ii^ I^ i^ —-t^^«———— ii^ ■.^ ii'^ v^ -■'i.ii'*<BW_«)PWßWW_W-^_-________WW
I I
Advanced computability^ theory i
No single^ solution^ is^ proposed^ for^ taking^ Course^ A7, now bereft^ of^ both^ basic^ computability^ theory^ and^ re-
reasonable approach^ would^ be^ to^ convert^ the^ course
above. The^ most^ generous^ answer^ (for^ devotees^ of^ com- putability theory)^ would^ be^ to^ convert^ A7^ into^ a^ course on computational^ complexity^ theory^ and^ to^ establish new courses^ in^ both^ algorithm^ analysis^ and^ program
course offerings are obviously^ highly^ dependent^ upon the interests^ and^ quantity of^ faculty^ members.^ (Until
equivalent to I-X^ and^ a^ single^ graduate^ term^ course^ in computability theory.^ The^ latter^ course^ took^ the survey-in-depth approach.) Activity in analysis^ of^ algorithms^ has^ grown^ so
ing algorithms has far^ exceeded^ progress^ in^ determining underlying principles. Thus,^ it^ will^ be^ difficult^ to^ keep
of algorithms have already^ sprung^ up^ at^ a^ number^ of universities and are attracting^ respectable^ enrollment figures. Furthermore,^ the^ potential^ value^ of^ such^ a course for persons who^ think^ they^ like^ programming and dislike all theory outweighs^ the^ difficulties^ due^ to the (^) roughness of the area and^ lack^ of^ adequate^ peda- gogical material.^ Thus,^ it^ is^ quite^ likely^ that^ many schools will choose to^ offer^ a^ course^ in^ analysis^ of^ algo- rithms regardless of whether^ or not^ the^ computational
for (^) Course A7 would be to embrace both of^ these^ latter areas. A list of topics and^ references^ in^ each^ of^ the^ three areas is given below. In view^ of^ the^ discussion^ just
recommendations for courses^ but^ only^ as^ a^ sample^ of material in each of the areas.
As stated previously, the topics^ and^ references^ pre- sented (^) below arc (^) not all inclusive and^ are not^ suggestions for (^) throe separate courses.
Computational complexity
Topics
reversals (^) 'B21^ ' B::
n-counter machines^ and^ real-time^ countability,^ other computing devices.^82 ' 89 ' 815 '^816 -^836
primitive recursive^ functions,^ the^ Grzegorczyk^ classes, honest functions,^ loop program^ machines.^88 -^826 - 830 -^831
gap theorem,^ union^ theorem.^820
of programs, random^ sequences.^84 '^87 -^825
References— Computational^ complexity
journals and written in^ English^ is^ given.^ Thus,^ a^ num- ber of recent^ results^ and^ papers^ in^ foreign^ languages,
chine-independent complexity^ theory^ as^ well^ as^ some additional references are found^ in^ the^ paper^ by^ Hart- manis and Hopcroft. 820 Two previous^ references^ are also relevant to^ this^ area.^ A9^ - Al
plexity" was compiled^ by^ M. I.^ Irland^ and^ the^ author in October,^ 1970,^ but^ has^ not^ been^ published.^ A^ limited number of copies^ are^ available^ as^ Research^ Report CSRR 2025,^ Department of^ Computer^ Science,^ Uni- versity of Waterloo. Bl A V^ AHO^ J^ E^ HOPCROFT^ J^ D^ ULLMAN Time and^ tape^ complexity^ of^ pushdown^ automaton languages Information and^ Control^13 pp^ 180- B2 A J ATRUBIN A onc-dimcn.'iional real-time^ ikrativc^ multiplier J ACM^14 1905 pp^ 394- B3 M BLUM A machine-independent^ theory^ of^ the^ complexity^ of^ recursive functions J ACM 14 1967 pp^ 322-
/
i
i
!
!
/
o-a-ifc. (^) "a!mU.: ;"■"»_ 4
Theory of (^) Computing (^) in Computer (^) Science Education 863
rule in^ general^ case,^ preconditioning. (^) Evaluation of (^) a polynomial at (^) more than (^) one point. 07
012
sorts, polyphase (^) sorts. (^) Lower bounds (^) on the (^) number (^) of comparisons (^) necessary. (^) Finding (^) the ith largest (^) in a (^) set
trees. (^) '
components (^) of a graph, (^) transitive (^) closure.
paging (^) environment, garbage (^) collection, (^) g.c.d. (^) of poly-
able only (^) in the form (^) of (^) course notes or (^) technical re-
courses (^) being (^) taught in analysis (^) of (^) algorithms (^) are draw-
the (^) references (^) below (^) serve (^) more to give (^) the flavor of this (^) area (^) than to (^) constitute any (^) approximation (^) to a
the (^) current (^) material will (^) appear in (^) standard (^) journals
Proceedings (^) of (^) the lEEE (^) Symposia (^) on (^) Switching and Automata Theory (^) (available (^) from (^) the lEEE (^) or the lEEE (^) Computer (^) Group). Also, a (^) "Bibliography on the analysis (^) of algorithms" (^) has been (^) compiled (^) by Professor
University (^) of (^) Illinois at (^) Urbana. (^) As of (^) the (^) time of writing (^) it has (^) not been published.
Cl A (^) BRAUER On (^) addition chains Bull (^) Amer (^) Math Soc (^45 1939) pp (^) 736- C2 (^) C (^) A R (^) HOARE
Computer (^) J 5 1962 pp (^) 10- C3 (^) J E (^) HOPCROFT L (^) KERR On (^) minimizing the (^) number (^) of multiplications (^) necessary matrix (^) multiplication for SIAM J Appl^ Math 20 1971 pp (^) 30- c (^4) R M (^) KARP W L (^) MIRANKEU Parallel (^) search (^) for a (^) maximum
C5 (^) D E KNUTH The (^) art (^) of computer (^) programming, (^) volume. (^2) Addison-Wesley (^) Reading (^) Massachusetts (^1969) sections 4.3.3, 4.6.3, (^) and (^) 4.6. C6 (^) D (^) E KNUTH The (^) art (^) of computer programming, (^) volume (^3) Addison-Wesley (^) Reading (^) Massachusetts to appear (^1972) section 5. C7 V Ya PAN Methods (^) of computing (^) values (^) of polynomials Uspehi (^) Mat Nauk (^21 1966) PP 103-131 (^) Russian English translation in (^) Russian Math (^) Surveys 21 1966 pp (^) 105- CS A (^) SCHONHAGE Multiplication (^) of large (^) numbers Computing (^1 1906) pp (^) 182-196 (German (^) with English summary) (^) See Comput (^) Rev (^8 1967) review (^) number 11544 C9 P (^) M SPIRA The time required (^) for group multiplication J ACM (^16 1969) pp (^) 235- ClO (^) V STRASSEN Gaussian elimination is (^) not optimial Numer Math 13 1969 pp (^) 354- Cll S (^) WINOGRAD On ihe time required (^) to perform (^) addition J ACM 12 1965 pp (^) 277- Cl2 S (^) WINOGRAD On the (^) time required (^) lo perform multiplication J ACM 14 1967 pp (^) 793-SO Cl3 S^ WINOGRAD On the^ number (^) of multiplications (^) necessary (^) to compute certainfunctions Comm (^) Pure Appl (^) Math 23 1970 pp (^) 165-
Program (^) schemata
Topics
equivalence.o4olo
schemata.
properties (^) of monadic (^) recursive schemata. (^) Equivalence
deadlocks. (^) Equivalence-preserving (^) transformations; in- creasing (^) and decreasing (^) the (^) 'parallelism'. o
i !
-JEA.J
i^1
v _„»-h._i.x.^ 'i-iftiT"-^ ii^ '■>*■^ iV|,|t'"'- Si
Spring Joint^ Computer^ Conference,^1972
References—Program^ schemata
Some papers^ concerned^ with^ program^ definition^
and
as (^) those dealing directly^ with^ program^ schemata.^ As^
before,
Dl E ENGELER Algorithmic approximations J Computer^ Syst^ Sci^5 1971 pp^ 67- D2 (^) R W FLOYD Assigning meaning lo programs In Proc Symposia^ in^ Applied^ Mathematics^19 American Mathematical Society^1907 pp^ 19- D3 R M KARP^ R^ E^ MILLER Parallel program^ schemata J Computer^ Syst^ Sci^3 1969 pp^ 147- D4 D C LUCKHAM^ D^ M^ R^ PARK M S PATERSON On (^) formalised computer^ programs J Computer^ Syst^ Sci^4 1970 pp^ 220- D5 j McCarthy A basis for a^ mathematical^ theory^ of^ compulation In Computer^ Programming^ and^ Formal^ Systems North-Holland Amsterdam^1963 pp^ 33-
The correctness^ of^ programs J Computer^ Syst^ Sci^3 1909 pp^ 119-
Toward automatic^ program^ synthesis Comm ACM^14 1971 pp^ 151- D8 R MILNER Program schemes and^ recursive^ function^ theory In Machine Intelligence^5 Edinburgh^ University^ Press 1970 pp^ 39- D9 D^ PARK Fixpoint induction^ and^ proofs^ of^ program^ properties Ibid pp^ 59- DlO M S PATERSON Program schemata In Machine^ Intelligence^3 Edinburgh^ University^ Press 190S pp^ 18- Dll D SCOTT Outline of a^ mathematical^ theory^ of^ computation Tech Monograph^ PRG-2^ Oxford^ University^ Computing Laboratory Programming^ Research^ Group^19 <0^24 pp Dl2 D (^) SCOTT The lattice^ of flow diagrams Tech Monograph^ PRG-3^ Oxford^ University^ Computing Laboratory Programming^ Research^ Group^ 19/0^ o/^ pp
ACKNOWLEDGMENTS
and
Fischer,
A°R. Meyer,^ J.^ I.^ Munro^ and^ E.^ M.^ Reingold.