Philosophy of computer science : an introduction to the issues and the literature

書誌事項

Philosophy of computer science : an introduction to the issues and the literature

William J. Rapaport

Wiley-Blackwell, 2023

  • : pbk

大学図書館所蔵 件 / 1

この図書・雑誌をさがす

注記

Includes bibliographical references and index

Summary: "Philosophy is often thought of as an activity, which may have considerable theoretical interest, but which is of little practical importance. Such a view of philosophy is . . . profoundly mistaken. . . . [P]hilosophical ideas and some kind of philosophical orientation are necessary for many quite practical activities. . . . [L]ooking at the general question of how far philosophy has influenced the development of computer science[, m]y own view is that the influence of philosophy on computer science has been very great."-- Provided by publisher

内容説明・目次

内容説明

A unique resource exploring the nature of computers and computing, and their relationships to the world. Philosophy of Computer Science is a university-level textbook designed to guide readers through an array of topics at the intersection of philosophy and computer science. Accessible to students from either discipline, or complete beginners to both, the text brings readers up to speed on a conversation about these issues, so that they can read the literature for themselves, form their own reasoned opinions, and become part of the conversation by contributing their own views. Written by a highly qualified author in the field, the book looks at some of the central questions in the philosophy of computer science, including: What is philosophy? (for readers who might be unfamiliar with it) What is computer science and its relationship to science and to engineering? What are computers, computing, algorithms, and programs?(Includes a line-by-line reading of portions of Turing's classic 1936 paper that introduced Turing Machines, as well as discussion of the Church-Turing Computability Thesis and hypercomputation challenges to it) How do computers and computation relate to the physical world? What is artificial intelligence, and should we build AIs? Should we trust decisions made by computers? A companion website contains annotated suggestions for further reading and an instructor's manual. Philosophy of Computer Science is a must-have for philosophy students, computer scientists, and general readers who want to think philosophically about computer science.

目次

List of Figures xvi Preface xviii About the Companion Website xx Part I Philosophy and Computer Science 1 1 An Introduction to the Philosophy of Computer Science 3 1.1 What This Book Is About 3 1.2 What This Book Is Not About 5 2 Philosophy: A Personal View 7 2.1 Introduction 7 2.2 A Definition of 'Philosophy' 8 2.3 What Is Truth? 9 2.3.1 Correspondence Theories of Truth 10 2.3.2 Coherence Theories of Truth 10 2.3.3 Correspondence vs. Coherence 10 2.4 Searching for the Truth 13 2.4.1 Searching vs. Finding 13 2.4.2 Asking "Why?" 14 2.4.3 Can There Be Progress in Philosophy? 15 2.4.4 Skepticism 16 2.5 What Is "Rational"? 17 2.5.1 Logical Rationality 17 2.5.2 Scientific Rationality 20 2.5.3 Computational Rationality 21 2.5.4 Is It Always Rational to Be Rational? 21 2.6 Philosophy as a Personal Search 22 2.7 Philosophies of Anything and Everything 23 2.8 Philosophy and Computer Science 25 2.9 Appendix: Argument Analysis and Evaluation 25 2.9.1 Introduction 25 2.9.2 A Question-Answer Game 26 2.9.3 Missing Premises 27 2.9.4 When Is an Argument a "Good" Argument? 30 2.9.5 Examples of Good and Bad Arguments 34 2.9.6 Summary 35 Part II Computer Science, Computers, and Computation 37 3 What Is Computer Science? 39 3.1 Introduction 39 3.2 Naming the Discipline 39 3.3 Why Ask What CS Is? 40 3.4 What Does It Mean to Ask What Something Is? 42 3.4.1 Determining Boundaries 42 3.4.2 Extensional and Intensional Definition 45 3.5 CS as the Science of Computers 47 3.5.1 Objection: Computers Are Not Natural 48 3.5.2 Objection: Computers Are Tools, Not Phenomena 49 3.5.3 Digression: The Once-upon-a-Time Science of Microscopy 51 3.5.4 Objection: CS Is Just a Branch of ... 52 3.5.5 Objection: What about Algorithms? 52 3.6 CS Studies Algorithms 53 3.6.1 Only Algorithms? 53 3.6.2 Or Computers, Too? 55 3.7 Physical Computers vs. Abstract Algorithms 56 3.8 CS Studies Information 57 3.9 CS as a Mathematical Science 58 3.10 CS as a Natural Science of Procedures 61 3.11 CS as an Empirical Study 63 3.12 CS as Engineering 64 3.13 Science xor Engineering? 66 3.14 CS as "Both" 66 3.15 CS as "More" 68 3.15.1 CS as a New Kind of Science 68 3.15.2 CS as a New Kind of Engineering 70 3.16 CS as "Neither" 71 3.16.1 CS as Art 71 3.16.2 CS as the Study of Complexity 71 3.16.3 CS as the Philosophy(!) of Procedures 72 3.16.4 CS as Computational Thinking 72 3.16.5 CS as AI 73 3.16.6 Is CS Magic? 74 3.17 Summary 76 3.18 Questions for the Reader 77 4 Science 78 4.1 Introduction 78 4.2 Science and Non-Science 79 4.3 Science as Systematic Study 80 4.4 The Goals of Science 81 4.4.1 Description 81 4.4.2 Explanation 82 4.4.3 Prediction 82 4.5 Instrumentalism vs. Realism 83 4.6 Scientific Theories 85 4.7 "The" Scientific Method 86 4.8 Falsifiability 88 4.8.1 Science as Conjectures and Refutations 88 4.8.2 The Logic of Falsifiability 89 4.8.3 Problems with Falsifiability 90 4.9 Scientific Revolutions 90 4.10 Other Alternatives 91 4.11 CS and Science 91 4.11.1 Is CS a Science? 91 4.11.2 What Kind of Science Might CS Be? 92 4.12 Questions to Think About 93 5 Engineering 95 5.1 Defining 'Engineering' 95 5.2 Engineering as Science 97 5.3 A Brief History of Engineering 98 5.4 Conceptions of Engineering 99 5.5 What Engineers Do 100 5.5.1 Engineering as Design 100 5.5.2 Engineering as Building 100 5.6 The Engineering Method 101 5.7 Software Engineering 102 5.8 CS and Engineering 104 5.9 Questions to Think About 105 6 Computers: A Brief History 107 6.1 Introduction 107 6.2 Would You Like to Be a Computer? 108 6.3 Two Histories of Computers 109 6.4 The Engineering History 109 6.4.1 Ancient Greece 109 6.4.2 Seventeenth Century Calculating Machines 110 6.4.3 Babbage's Machines 110 6.4.4 Electronic Computers 111 6.4.5 Modern Computers 112 6.5 The Scientific History 113 6.6 The Histories Converge 116 6.7 What Is a Computer? 116 6.7.1 An Engineering Answer 116 6.7.2 A Scientific Answer 117 7 Algorithms and Computability 119 7.1 Introduction 119 7.2 Functions and Computation 120 7.2.1 Mathematical Functions 120 7.2.2 Functions Described Extensionally 121 7.2.3 Functions Described Intensionally 123 7.2.4 Function "Machines" 125 7.2.5 Computable Functions 126 7.3 'Algorithm' Made Precise 128 7.3.1 Ancient Algorithms 128 7.3.2 "Effectiveness" 128 7.3.3 Three Attempts at Precision 129 7.4 Five Great Insights of CS 134 7.4.1 Insight 1: Representation 134 7.4.2 Insight 2: Processing 135 7.4.3 Insight 3: Structure 136 7.4.3.1 Structured Programming (I) 136 7.4.3.2 Digression - Recursive Definitions 137 7.4.3.3 Structured Programming (II) 138 7.4.4 Insight 4: The Church-Turing Computability Thesis 139 7.4.5 Insight 5: Implementation 141 7.5 Structured Programming 142 7.5.1 Basic Programs 142 7.5.2 Program Constructors 143 7.5.3 Classification of Structured Programs 144 7.6 Recursive Functions 144 7.6.1 A Recursive Definition of Natural Numbers 144 7.6.2 Recursive Definitions of Recursive Functions 145 7.6.3 Classification of Recursive Functions 149 7.7 Non-Computable Functions 150 7.7.1 The Halting Problem 150 7.7.2 Proof Sketch that H Is Not Computable 153 7.8 Summary 155 7.9 Questions for the Reader 155 8 Turing's Analysis of Computation 157 8.1 Introduction 157 8.2 Slow and Active Reading 158 8.3 Title: "The Entscheidungsproblem" 158 8.4 Paragraph 1 159 8.4.1 " 'Computable' Numbers" 159 8.4.2 "Written By a Machine" 160 8.5 Paragraph 2 160 8.5.1 "Naturally Regarded as Computable" 160 8.5.2 "Definable Numbers" 161 8.6 Section 1, Paragraph 1: "Computing Machines" 161 8.7 Section 9: "The Extent of the Computable Numbers" 162 8.7.1 Turing's Computability Thesis 162 8.7.2 "Writing Symbols on Paper" 163 8.7.3 States of Mind 166 8.7.4 Operations 167 8.7.5 Another "Simple Operation" 169 8.7.6 "Immediate Recognisability" 169 8.7.7 Summary of Operations 170 8.7.8 "States of Mind" 170 8.7.9 Turing Machines, Turing's Thesis, and AI 172 8.8 "Computing Machines" 174 8.8.1 "Man" and "Machine" 175 8.8.2 Closure Clause: Turing's Thesis 178 8.9 Section 2: "Definitions" 178 8.9.1 "Automatic Machines" 178 8.9.2 "Choice Machines" 179 8.9.3 "Computing Machines" 179 8.9.4 "Complete Configurations" 180 8.9.5 "Circular and Circle-Free Machines" 181 8.9.6 "Circular" Machines 182 8.9.7 "Computable Sequences and Numbers" 183 8.10 Section 3: "Examples of Computing Machines" 184 8.10.1 Example I 184 8.10.2 Example II, Paragraph 1 189 8.10.3 Example II, Paragraph 2 192 8.11 Section 4: "Abbreviated Tables" 195 8.12 Section 5: "Enumeration of Computable Sequences" 196 8.13 Section 6: "The Universal Computing Machine" 201 8.14 The Rest of Turing's Paper 203 9 Computers: A Philosophical Perspective 204 9.1 What Is a Computer? 204 9.2 Informal Definitions 206 9.2.1 Reference-Book Definitions 206 9.2.2 John von Neumann's Definition 206 9.2.3 Arthur Samuel's Definition 207 9.2.4 Martin Davis's Characterization 208 9.2.5 Summary 208 9.3 Computers, Turing Machines, and Universal Turing Machines 210 9.3.1 Computers as Turing Machines 210 9.3.2 Stored Program vs. Programmable 211 9.4 John Searle's "Pancomputationalism": Everything Is a Computer 212 9.4.1 Searle's Argument 212 9.4.2 Computers Are Described in Terms of 0s and 1s 213 9.4.3 Being a Computer Is a Syntactic Property 214 9.4.4 Being a Computer Is Not an Intrinsic Property of Physical Objects 216 9.4.5 We Can Ascribe the Property of Being a Computer to Any Object 217 9.4.6 Everything Is a Computer 218 9.5 Patrick Hayes: Computers as Magic Paper 220 9.6 Gualtiero Piccinini: Computers as Digital String Manipulators 223 9.6.1 Definition P1 224 9.6.2 Definition P2 225 9.7 What Else Might Be a Computer? 226 9.7.1 Is a Brain a Computer? 226 9.7.2 Is the Universe a Computer? 228 9.8 Conclusion 232 9.9 Questions for the Reader 233 Part III The Church-Turing Computability Thesis 237 10 Procedures 239 10.1 Introduction 239 10.2 The Church-Turing Computability Thesis 240 10.3 What Is a Procedure? 243 10.4 Carol Cleland: Some Effective Procedures Are Not Turing Machines 244 10.5 Beth Preston: Recipes, Algorithms, and Specifications 249 10.6 Summary 251 10.7 Questions for the Reader 252 11 Hypercomputation 253 11.1 Introduction 253 11.2 Generic Computation 255 11.3 Non-Euclidean Geometries and "Non-Turing Computations" 255 11.4 Hypercomputation 256 11.5 "Newer Physics" Hypercomputers 257 11.6 Analog Recurrent Neural Networks 258 11.7 Objections to Hypercomputation 258 11.8 Interactive Computation 259 11.8.1 "Internal" vs. "External" Inputs 259 11.8.2 Batch vs. Online Processing 259 11.8.3 Peter Wegner: Interaction Is Not Turing-Computable 260 11.8.4 Can Interaction Be Simulated by a Non-Interactive Turing Machine? 263 11.8.4.1 The Power of Interaction 263 11.8.4.2 Simulating a Halting Interaction Machine 263 11.8.4.3 Simulating a Non-Halting Interaction Machine 265 11.9 Oracle Computation 266 11.10 Trial-and-Error Computation 270 11.10.1 Introduction 270 11.10.2 Does "Intelligence" Require Trial-and-Error Machines? 273 11.10.3 Inductive Inference 276 11.11 Summary 276 11.12 Questions for the Reader 278 Part IV Computer Programs 281 12 Software and Hardware 283 12.1 The Nature of Computer Programs 283 12.2 Programs and Algorithms 284 12.3 Software, Programs, and Hardware 285 12.3.1 Etymology of 'Software' 285 12.3.2 Software and Music 286 12.3.3 The Dual Nature of Programs 286 12.3.4 Copyright vs. Patent 287 12.4 Moor: Software Is Changeable 290 12.4.1 Levels of Understanding 290 12.4.2 Programs Are Relative to Computers 290 12.4.3 Instructions 291 12.4.4 "Following Instructions." 292 12.4.5 Moor's Definitions of 'Software' and 'Hardware.' 293 12.5 Suber: Software Is Pattern 294 12.6 Colburn: Software Is a Concrete Abstraction 297 12.7 Summary 299 12.8 Questions for the Reader 299 13 Implementation 301 13.1 Introduction 301 13.1.1 Implementation vs. Abstraction 302 13.1.2 Implementations as Role Players 303 13.1.3 Abstract Data Types 303 13.1.4 The Structure of Implementation 304 13.2 Implementation as Semantic Interpretation 305 13.2.1 What Kind of Relation Is Implementation? 305 13.2.2 Semantic Interpretation 306 13.2.2.1 Formal Systems 307 13.2.2.2 Syntax 307 13.2.2.3 Semantic Interpretation 308 13.2.3 Two Modes of Understanding 310 13.3 Chalmers's Theory of Implementation 313 13.3.1 Introduction 313 13.3.2 An Analysis of Chalmers's Theory 313 13.3.3 Rescorla's Analysis of Chalmers's Theory 317 14 Computer Programs as Scientific Theories 321 14.1 Introduction 321 14.2 Simulations 322 14.2.1 Simulation vs. Emulation 322 14.2.2 Simulation vs. Imitation 323 14.2.3 Models 323 14.2.4 Theories 324 14.3 Computer Programs Are Theories 325 14.3.1 Introduction 325 14.3.2 Simon and Newell's Argument from Analogies 327 14.3.3 Simon's Argument from Prediction 329 14.3.4 Daubert vs. Merrell-Dow 330 14.4 Computer Programs Aren't Theories 331 14.4.1 Moor's Objections 331 14.4.2 Thagard's Objections 333 15 Computer Programs as Mathematical Objects 336 15.1 Introduction 336 15.1.1 Bugs and Intended Behavior 336 15.1.2 Proofs and Programs 337 15.2 Theorem Verification 340 15.2.1 Theorems and Proofs 340 15.2.2 Programs and Proofs 341 15.2.3 Programs, Proofs, and Formal Systems 343 15.3 Program Verification 344 15.3.1 Introduction and Some History 344 15.3.2 Program Verification by Pre- and Post-Conditions 345 15.3.3 The Value of Program Verification 346 15.4 The Fetzer Controversy 347 15.4.1 Fetzer's Argument against Program Verification 347 15.4.2 The Controversy 350 15.4.3 Barwise's Attempt at Mediation 351 15.5 The Program-Verification Debate: Summary 352 15.6 Program Verification, Models, and the World 354 15.6.1 "Being Correct" vs. "Doing What's Intended" 354 15.6.2 Models: Putting the World into Computers 354 16 Programs and the World 360 16.1 Introduction 360 16.2 Internal vs. External Behavior: Some Examples 361 16.3 Two Views of Computation 364 16.4 Inputs, Turing Machines, and Outputs 365 16.4.1 Introduction 365 16.4.2 The Turing Machine Tape as Input-Output Device 365 16.4.3 Are Inputs Needed? 366 16.4.4 Are Outputs Needed? 367 16.4.5 When Are Inputs and Outputs Needed? 367 16.4.6 Must Inputs and Outputs Be Interpreted Alike? 368 16.4.7 Linking the Tape to the External World 370 16.5 Are Programs Teleological? 370 16.6 Algorithms Do Need a Purpose 371 16.7 Algorithms Don't Need a Purpose 373 16.8 Algorithms and Goals 375 16.9 Computing with Symbols or with Their Meanings 377 16.10 Syntactic, Internal, and Indigenous Semantics 380 16.10.1 Syntax vs. Semantics 380 16.10.2 Syntactic Semantics 380 16.10.3 Syntactic Semantics and Procedural Abstraction 382 16.10.4 Internalization 383 16.11 Content and Computation 384 16.11.1 Introduction 384 16.11.2 Symbols: Marks vs. Meanings 385 16.11.3 Shagrir's "Master Argument" 388 16.12 Summary 390 16.13 Questions for the Reader 391 Part V Computer Ethics and Artificial Intelligence 393 17 Computer Ethics I: Should We Trust Computers? 395 17.1 Introduction 395 17.2 Decisions and Computers 395 17.3 Are Computer Decisions Rational? 397 17.4 Should Computers Make Decisions for Us? 398 17.5 Should Computers Make Decisions with Us? 399 17.6 Should We Trust Decisions Computers Make? 400 17.6.1 The Bias Problem 400 17.6.2 The Black-Box Problem 401 17.7 Are There Decisions Computers Must Make for Us? 403 17.8 Are There Decisions Computers Shouldn't Make? 404 17.9 Questions for the Reader 405 18 Philosophy of Artificial Intelligence 407 18.1 Introduction 407 18.2 What Is AI? 407 18.2.1 Definitions and Goals of AI 407 18.2.2 Artificial Intelligence as Computational Cognition 408 18.3 The Turing Test 409 18.3.1 How Computers Can Think 409 18.3.2 The Imitation Game 410 18.3.3 Thinking vs. "Thinking" 412 18.4 Digression: The "Lovelace Objection" 415 18.5 Digression: Turing on Intelligent Machinery 417 18.6 The Chinese Room Argument 418 18.7 The Argument from Biology 420 18.7.1 Causal Powers 420 18.7.2 The Implementation Counterargument 421 18.8 The Argument from Semantics 422 18.8.1 The Premises 422 18.8.2 Which Premise Is at Fault? 423 18.8.3 Semiotics 424 18.8.4 Points of View 426 18.8.5 A Recursive Theory of Understanding 429 18.9 Leibniz's Mill and Turing's "Strange Inversion" 430 18.10 A Better Way 435 18.11 Questions for Discussion 436 19 Computer Ethics II: Should We Build Artificial Intelligences? 438 19.1 Introduction 438 19.2 Is AI Possible in Principle? 439 19.3 What Is a Person? 440 19.4 Rights 442 19.5 Responsibilities 443 19.6 Personal AIs and Morality 445 19.7 Are We Personal AIs? 445 19.8 Questions for the Reader 446 Part VI Closing Remarks 449 20 Computer Science: A Personal View 451 20.1 Introduction 451 20.2 Computer Science and Elephants 452 20.3 Five Central Questions of CS 454 20.3.1 Computability 454 20.3.2 Efficient Computability 456 20.3.3 Practical Computability 457 20.3.4 Physical Computability 458 20.3.5 Ethical Computability 458 20.4 Wing's Five Questions 459 20.5 Conclusion 460 Bibliography 461 Index 495

「Nielsen BookData」 より

詳細情報

  • NII書誌ID(NCID)
    BD0236504X
  • ISBN
    • 9781119891901
  • LCCN
    2022039093
  • 出版国コード
    us
  • タイトル言語コード
    eng
  • 本文言語コード
    eng
  • 出版地
    Hoboken, NJ
  • ページ数/冊数
    xx, 508 p.
  • 大きさ
    26 cm
  • 分類
  • 件名
ページトップへ