osmanazmat
Debates about whether [computer science is] science or engineering can. . . be counterproductive, since we clearly are both, neither, and more (mathematics is so much a part of what [it is]. . . . [Freeman, 1995, 27, my italics] In a classic paper from 1976 [Newell and Simon, 1976], Newell and Simon updated their earlier characterization. Instead of saying that computer science is the science of computers and algorithms, they now said that it is the “empirical” “study of the phenomena surrounding computers”, “not just the hardware, but the programmed, living machine”. (Cf. [Abrahams, 1987, 472]: “Computer science focuses, not on the properties of particular computers, but on the properties of computers in general. It goes beyond the study of computers as objects to, at least, the study of computers as active agents”). This may not sound too different from what Newell and Simon said when they were writing with Perlis nine years earlier, but there are some interesting differences: First, here they emphasize the empirical nature of the subject: Programs running on computers are experiments, though not necessarily like experiments in other experimental sciences. In fact, one difference between computer “science” and other experimental sciences is that, in computer science, the chief objects of study (the computers and the progams) are not “black boxes”, that is, things whose internal workings we cannot see directly but must infer from experiments we perform on them. Rather, because we (not nature) designed and built the computers and the programs, we can understand them in a way that we cannot understand more “natural” things. Second, “science” may be the wrong term (note that the title of their paper mentions only ‘empirical inquiry’). Computer science may not be a science (in the classic sense) because it doesn’t always strictly follow the scientific (or “experimental”) method. (We’ll talk more about what that method is, in §4.6.) For example, often one experiment will suffice to answer a question in computer science, whereas in other sciences, numerous experiments have to be run. Third, by “programmed, living machines”, they mean computers that are actually running programs, not the machines just sitting there waiting for someone to use them, nor the programs just sitting there on a piece of paper waiting for someone to load them into the computer, nor the algorithms just sitting there in someone’s mind waiting for someone to express them in a programming language. Sometimes, a distinction is made between a program and a “process”: A program might be a static piece of text or the static way that a computer is hardwired; a process is a dynamic entity—the program in the “process” of actually being executed by the computer. (We’ll look at some of these distinctions in more detail later, in Chapter 12; on the program-process distinction, see [Eden and Turner, 2007, §2.2].) 102 CHAPTER 3. WHAT IS COMPUTER SCIENCE? If computer science is an empirical discipline (whether it’s a science, a “study”, or an “inquiry”), it should have some empirical results, or what Newell and Simon call “laws of qualitative structure”. They give examples of these for well-established empirical disciplines: the cell doctrine (biology), plate techtonics (geology), the germ theory of disease (medicine), and the atomic theory (physics) [Newell and Simon, 1976, 115]. What about computer science? They cite two “laws of qualitative structure”, but it should be emphasized that the two that they cite are due primarily to them and are highly controversial: the Physical Symbol System Hypothesis (which explains the nature of symbols) and Heuristic Search (which is a problem-solving method). Here, we’ll focus on the first of these,28 which they state as follows [Newell and Simon, 1976, 116]: A physical symbol system has the necessary and sufficient means for general intelligent action. Another way of stating this is: x is a physical symbol system if and only if x has the means for general intelligent action, where29 x is a physical symbol system =de f 1. x is a set of physical symbols with a grammatical syntax, together with a set of processes that manipulate the symbols (where a process can be thought of as a function or mapping or algorithm that takes symbols as inputs and produces (other) symbols as output), and 2. x is a physical machine that “produces through time an evolving collection of symbol structures” [Newell and Simon, 1976, 116]. In short, a physical symbol system is a physical Turing machine or universal computer. We will see in great detail what that means in Chapter 8, but for now you can think of it as your laptop computer, or even your smartphone.30 (It is interesting to note that the use of symbols to accomplish tasks in the real, physical world bears some similarities to the way that magic is supposed to work [Stevens, 2001]. See §]3.19.) Note that Newell and Simon agree with Newell, Perlis, and Simon about what computer science studies, and they agree with Knuth about its fundamental nature. But let’s examine these definitions a bit more closely before looking at others. 28We’ll look at the second—heuristics—in Ch. 7. 29In this book, I use the symbol ‘=de f ’ to mean: “means by definition”. 30A more detailed exposition is given in [Newell, 1980]. Also see [Rapaport, 2012b, 67n47].
Follow me on....
Twitter: UsmanAzmat87
Facebook:
Musman.azmat
Linkedln:
osman-khan-633180106/
Google+:
u/0/102433731988304229241
This is nice blog. Contents over here are so informative. Want to grab more on Physical Symbol System (PSS)
ReplyDeleteWell..
Delete