Read more
Informationen zum Autor Roland Backhouse leads the Foundations of Programming research group at the University of Nottingham. He returned to the UK in 1999 after spending 13 years in the Netherlands, 9 of which as professor at Eindhoven University of Technology (the institution that pioneered the style of reasoning and construction of programs that forms the basis for this book). Klappentext An entertaining and captivating way to learn the fundamentals of using algorithms to solve problemsThe algorithmic approach to solving problems in computer technology is an essential tool. With this unique book, algorithm guru Roland Backhouse shares his four decades of experience to teach the fundamental principles of using algorithms to solve problems. Using fun and well-known puzzles to gradually introduce different aspects of algorithms in mathematics and computing. Backhouse presents you with a readable, entertaining, and energetic book that will motivate and challenge you to open your mind to the algorithmic nature of problem solving.* Provides a novel approach to the mathematics of problem solving focusing on the algorithmic nature of problem solving* Uses popular and entertaining puzzles to teach you different aspects of using algorithms to solve mathematical and computing challenges* Features a theory section that supports each of the puzzles presented throughout the book* Assumes only an elementary understanding of mathematicsLet Roland Backhouse and his four decades of experience show you how you can solve challenging problems with algorithms! Zusammenfassung * Novel approach to the mathematics of problem solving, in particular how to do logical calculations. * Many of the problems are well-known from (mathematical) puzzle books. * The solution method in the book is new and more relevant to the true nature of problem solving in the modern IT-dominated world. Inhaltsverzeichnis Preface xi PART I Algorithmic Problem Solving 1 CHAPTER 1 - Introduction 3 1.1 Algorithms 3 1.2 Algorithmic Problem Solving 4 1.3 Overview 5 1.4 Bibliographic Remarks 6 CHAPTER 2 - Invariants 7 2.1 Chocolate Bars 10 2.1.1 The Solution 10 2.1.2 The Mathematical Solution 11 2.2 Empty Boxes 16 2.2.1 Review 19 2.3 The Tumbler Problem 22 2.3.1 Non-deterministic Choice 23 2.4 Tetrominoes 24 2.5 Summary 30 2.6 Bibliographic Remarks 34 CHAPTER 3 - Crossing a River 35 3.1 Problems 36 3.2 Brute Force 37 3.2.1 Goat, Cabbage and Wolf 37 3.2.2 State-Space Explosion 39 3.2.3 Abstraction 41 3.3 Nervous Couples 42 3.3.1 What Is the Problem? 42 3.3.2 Problem Structure 43 3.3.3 Denoting States and Transitions 44 3.3.4 Problem Decomposition 45 3.3.5 A Review 48 3.4 Rule of Sequential Composition 50 3.5 The Bridge Problem 54 3.6 Conditional Statements 63 3.7 Summary 65 3.8 Bibliographic Remarks 65 CHAPTER 4 - Games 67 4.1 Matchstick Games 67 4.2 Winning Strategies 69 4.2.1 Assumptions 69 4.2.2 Labelling Positions 70 4.2.3 Formulating Requirements 72 4.3 Subtraction-Set Games 74 4.4 Sums of Games 78 4.4.1 A Simple Sum Game 79 4.4.2 Maintain Symmetry! 81 4.4.3 More Simple Sums 82 4.4.4 Evaluating Positions 83 4.4.5 Using the Mex Function 87 4.5 Summary 91 4.6 Bibliographic Remarks 92 CHAPTER 5 - Knights and Knaves 95 5.1 Logic Puzzles 95 5.2 Calculational Logic 96 5.2.1 Propositions 96 5.2.2 Knights and Knaves 97 5.2.3 Boolean Equality 98 5.2.4 Hidden Treasures 100 5.2.5 Equals for Equals 101 5.3 Equivalence and Continued Equalities 102 5.3.1 Examples of the Associativ...