ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806049
C. Christensen
{"title":"Programming Languages for Non-Numeric Processing—1: examples of symbol manipulation in the AMBIT Programming Language","authors":"C. Christensen","doi":"10.1145/800197.806049","DOIUrl":"https://doi.org/10.1145/800197.806049","url":null,"abstract":"THE AMBIT PROGRAMMING language has been applied to problems in two areas. In the area of algebraic symbol manipulation, programs have been written in AMBIT for elementary arithmetic, elementary algebra, formal differentiation, set operations, and propositional calculus. In the area of list processing, a variety of programs have been written for syntactic analysis, including both “top-down” and “bottom-up” analysis.\u0000 This paper is intended to exhibit the important features of AMBIT without entering into a complete and formal definition of AMBIT. The paper contains a brief informal definition of the language and several examples of programs written in the language. The informal definition discusses primarily those facilities of the language which are used in the example programs; other facilities currently available in AMBIT are not mentioned. The definition depends on the example programs for the illustration and clarification of difficult points, and the reader is advised to defer a detailed examination of the definition until he has read through the example programs.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"110 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127994601","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806039
R. J. Nelson
{"title":"Invited papers—1: basic concepts of automata theory","authors":"R. J. Nelson","doi":"10.1145/800197.806039","DOIUrl":"https://doi.org/10.1145/800197.806039","url":null,"abstract":"I WAS INVITED to present a survey of the theory of automata. Since there are already several surveys, especially the very competent ones of Chomsky <supscrpt>10</supscrpt>, McNaughton <supscrpt>37</supscrpt>, and Rogers <supscrpt>54</supscrpt>, all of which deal with various aspects of the theory of automata and more, I shall confine myself to an exposition of what might loosely be called a “philosophy of automata”. On the way, however, I hope to touch upon certain developments of the subject which have come about since McNaughton's 1961 paper. Readers who feel they are up on the theory may wish to omit sections 2 and 3.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"264 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123039028","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806041
C. Newman, L. Uhr
{"title":"Computers in the study of learning: BOGART—A discovery and induction program for games","authors":"C. Newman, L. Uhr","doi":"10.1145/800197.806041","DOIUrl":"https://doi.org/10.1145/800197.806041","url":null,"abstract":"BOGART consists of a set of board game playing routines written in MAD (Michigan Algorithm Decoder) which is capable of learning to play board games. Examples of board games BOGART can learn to play, with widely varying degrees of proficiency, include Tic-Tac-Toe, hexapawn, GOMOKU, and checkers, and it can solve missionary and cannibal problems. The objective in constructing BOGART is to illustrate that it is possible to solve a large class of dissimilar problems by the use of learning techniques. Proficiency at solving any one problem was not an objective, nor was general proficiency that did not depend on the use of learning. Consistent with this philosophy of relying on learning techniques, no use is made of lookahead procedures, although they have been shown to be of great value in game-playing programs.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115968919","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806063
M. L. Graham, P. Z. Ingerman
{"title":"Programming languages for non-numeric processing—2: A universal assembly mapping language","authors":"M. L. Graham, P. Z. Ingerman","doi":"10.1145/800197.806063","DOIUrl":"https://doi.org/10.1145/800197.806063","url":null,"abstract":"THE PRIMEVAL ASSEMBLY LANGUAGES generally provided a one-to-one mapping from the symbolic to the numeric version of a program, that is, from assembly language to machine language. The second major step in the development of assembly languages was the inclusion of a one-to-many capability, in the form of the macro, which allows the user to build several machine words in a systematic, parameterized manner with a one line call. HalpernH64 has implemented an assembly meta-language which expects virtually every line of a program to be either a macro call or a contribution to the definition of a macro. In Halpern's system, the parameterization is performed in terms of symbolic quantities. FergusonF64, on the other hand, has implemented an assembly meta-language in which the parameterization process operates in terms of the allocation-time values of the symbols used. The present paper specifies an assembly meta-language, based on the work of Ferguson, but in which the parameterization can at any point be either by symbol or by value. This system is currently being implemented at the Westinghouse Defense and Space Center.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"86 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126144862","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806050
R. McClure
{"title":"Programming languages for non-numeric processing—1: TMG—a syntax directed compiler","authors":"R. McClure","doi":"10.1145/800197.806050","DOIUrl":"https://doi.org/10.1145/800197.806050","url":null,"abstract":"THIS PAPER reports on a compiler writing system called TMG, basically a syntax directed system. It has, however, some interesting differences which make it easier to handle errors and declarative information. The original objective of this system was to make it as easy as possible to construct a simple one-pass translator for some specialized language.\u0000 In TMG, emphasis is placed on scanning and analysis of input text and efficient production of straightforward translation of the input. For this reason, there are substantially no facilities for handling program topology, efficient register assignment, common subexpression removal, or complicated storage assignment. It was felt that, if required, these should be handled by a specially written post-processor.\u0000 To explain how one writes a translator in TMGL, we will describe in some detail a compiler which translates a simple algebraic language (SAL) into symbolic machine code for the IBM 7040.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126532088","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806053
J. T. Welch
{"title":"Numerical applications: Cycle algorithms for undirected linear graphs and some immediate applications","authors":"J. T. Welch","doi":"10.1145/800197.806053","DOIUrl":"https://doi.org/10.1145/800197.806053","url":null,"abstract":"THE ANALYSIS OF GRAPHICALLY presented data, such as the structural diagram of a chemical compound, or a model of information flow in a system design, is becoming increasingly important as technology advances. In the interests of accuracy and lower costs, it is often desirable to mechanize the analysis completely. Here we shall present a mechanical procedure which finds all cycles (i.e., simple elementary cycles1) of a finite undirected linear graph, given an array called the incidence matrix of the graph.\u0000 The procedure consists of three algorithms: algorithm 1, which determines a basic set of cycles from which all others can be generated; algorithm 2, which assigns an ordering to the basic cycles; and algorithm 3, which generates all remaining cycles. An immediate application of algorithm 1 will be illustrated, and the same will be done for algorithm 3. The examples used must necessarily be simplified. This should not obscure the objective, which is to suggest algorithms of sufficient generality for computer, or at least mechanical, application. A more complete treatment of the algorithms themselves, with necessary proofs, will follow in a later paper5.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125052192","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806038
O. Taulbee
{"title":"Invited papers—1: classification in information storage and retrieval","authors":"O. Taulbee","doi":"10.1145/800197.806038","DOIUrl":"https://doi.org/10.1145/800197.806038","url":null,"abstract":"WHEN I WAS ASKED to give a tutorial paper on information storage and retrieval, my first thought was to give a state-of-the-art survey of the field. But then it was evident that much of the paper would be a “state-of-the 'state-of-the-art'” survey since there have been several recent review papers1, 2, 3. Classification is a much used, and sometimes abused, concept not only in information storage and retrieval but in many other endeavors. Since this is the case, it seems appropriate to attempt a definitive review paper covering the concept which pervades almost all aspects of the field of information storage and retrieval.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"21 9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116374637","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806033
W. Edwards
{"title":"Evaluation and performance of computers: interaction of hardware and software parameters in tape operations","authors":"W. Edwards","doi":"10.1145/800197.806033","DOIUrl":"https://doi.org/10.1145/800197.806033","url":null,"abstract":"THE PRIMARY REASON for specifying increased capabilities in tape transports is, ostensibly, to improve the system performance in some manner, such as: (a) - storage capacity; (b) - access time/transfer rate; and (c) - error incidence and severity.\u0000 The currently familiar NRZI tape transports are available in a wide variety of characteristics. Tape speeds vary from 3 to 150 ips, recording densities from 200 to 1100 bpi, and tape lengths up to 6200 feet. The performance obtained from a tape transport in an operational atmosphere depends to a large extent upon the interplay between the hardware parameters and the software characteristics. It is the purpose of this paper to explore these interactions and their influence upon the system performance.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134008215","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806065
E. Ulrich
{"title":"Programming languages for non-numeric processing—2: Time sequenced logical simulation based on circuit delay and selective tracing of active network paths","authors":"E. Ulrich","doi":"10.1145/800197.806065","DOIUrl":"https://doi.org/10.1145/800197.806065","url":null,"abstract":"MANY PUBLISHED efforts in the field of logical simulation indicate that the programming concept of “compiling and executing” is the most frequently used foundation for the construction of simulation programs.\u0000 The technique to be described here represents a complete departure from the concept of “compiling and executing”. The basic framework for the simulation method to be presented is simply a <underline>close imitation of the structure and operation of a logical network</underline>. Applying this concept leads to a realistically operating “general purpose” simulator. The resulting simulation possibilities are—at least with respect to the field of logical simulation—relatively unexplored and unexploited. Simulation in other fields, e.g., the simulation of nerve nets by Reiss<supscrpt>1</supscrpt>, has preceded the field of logical simulation in taking advantage of the structure and operation of (neural) networks. The first success in applying these methods to the field of logical simulation has been reported by Case, et al<supscrpt>2</supscrpt>.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131745745","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM '65Pub Date : 1965-08-24DOI: 10.1145/800197.806031
E. O. Joslin
{"title":"Evaluation and performance of computers: application benchmarks: the key to meaningful computer evaluations","authors":"E. O. Joslin","doi":"10.1145/800197.806031","DOIUrl":"https://doi.org/10.1145/800197.806031","url":null,"abstract":"THE MOST IMPORTANT QUESTION in any evaluation of a computer should be, “How long will it take this system to process my workload?” If the system cannot do the workload, there is no point in asking how much it costs or any other facts about the system. With this thought in mind, it then becomes apparent why the technique used to determine the answer to this “how long” question becomes the most important item in any computer evaluation.\u0000 Time does not permit a detailed discussion of both: why application benchmarks are the best of the timing techniques available, and of the method for setting up application benchmarks which will be truly representative of the applications to be run. Therefore, the second topic (Setting Up Application Benchmarks) has been chosen, because I believe most who have tried other timing techniques know there must be something better. I also feel that those who have used application benchmarks have limited their thinking to sequential processing systems and should now consider the preparation of application benchmarks for systems capable of multi-processing and/or multi-programming.","PeriodicalId":213949,"journal":{"name":"ACM '65","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1965-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115368896","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}