Your cart is empty
This title is a Pearson Global Edition. The Editorial team at Pearson has worked closely with educators around the world to include content which is especially relevant to students outside the United States. The Third Edition of Data Abstraction and Problem Solving with Java: Walls and Mirrors employs the analogies of Walls (data abstraction) and Mirrors (recursion) to teach Java programming design solutions, in a way that beginning students find accessible. The book has a student-friendly pedagogical approach that carefully accounts for the strengths and weaknesses of the Java language. With this book, students will gain a solid foundation in data abstraction, object-oriented programming, and other problem-solving techniques.
Data is humanity's most important new resource. It has the capacity to provide insight into every aspect of our lives, the planet and the universe at large; it changes not only what we know but also how we know it. Exploiting the value of data could improve our existence as much as - if not more than - previous technological revolutions. Yet data without empathy is useless. There is a tendency in data science to forget about the human needs and feelings of the people who make up the data, the people who work with the data, and those expected to understand the results. Without empathy, this precious resource is at best underused, at worst misused. Data: A Guide to Humans will help you understand how to properly exploit data, why this is so important, and how companies and governments are currently using data. It makes a compelling case for empathy as the crucial factor in elevating our understanding of data to something which can make a lasting and essential contribution to your business, your life and maybe even the world.
A comprehensive introduction to network flows that brings together the classic and the contemporary aspects of the field, and provides an integrative view of theory, algorithms, and applications.
The best selling 'Algorithmics' presents the most important, concepts, methods and results that are fundamental to the science of computing. It starts by introducing the basic ideas of algorithms, including their structures and methods of data manipulation. It then goes on to demonstrate how to design accurate and efficient algorithms, and discusses their inherent limitations. As the author himself says in the preface to the book; 'This book attempts to present a readable account of some of the most important and basic topics of computer science, stressing the fundamental and robust nature of the science in a form that is virtually independent of the details of specific computers, languages and formalisms'.
Written for developers with some understanding of deep learning algorithms. Experience with reinforcement learning is not required. Grokking Deep Reinforcement Learning introduces this powerful machine learning approach, using examples, illustrations, exercises, and crystal-clear teaching. You'll love the perfectly paced teaching and the clever, engaging writing style as you dig into this awesome exploration of reinforcement learning fundamentals, effective deep learning techniques, and practical applications in this emerging field. We all learn through trial and error. We avoid the things that cause us to experience pain and failure. We embrace and build on the things that give us reward and success. This common pattern is the foundation of deep reinforcement learning: building machine learning systems that explore and learn based on the responses of the environment. * Foundational reinforcement learning concepts and methods * The most popular deep reinforcement learning agents solving high-dimensional environments * Cutting-edge agents that emulate human-like behavior and techniques for artificial general intelligence Deep reinforcement learning is a form of machine learning in which AI agents learn optimal behavior on their own from raw sensory input. The system perceives the environment, interprets the results of its past decisions and uses this information to optimize its behavior for maximum long-term return.
Want to kill it at your job interview in the tech industry? Want to win that coding competition? Learn all the algorithmic techniques and programming skills you need from two experienced coaches, problem setters, and jurors for coding competitions. The authors highlight the versatility of each algorithm by considering a variety of problems and show how to implement algorithms in simple and efficient code. What to expect: * Master 128 algorithms in Python. * Discover the right way to tackle a problem and quickly implement a solution of low complexity. * Classic problems like Dijkstra's shortest path algorithm and Knuth-Morris-Pratt's string matching algorithm, plus lesser known data structures like Fenwick trees and Knuth's dancing links. * A framework to tackle algorithmic problem solving, including: Definition, Complexity, Applications, Algorithm, Key Information, Implementation, Variants, In Practice, and Problems. * Python code in the book and on the companion website.
Algorithms play a central role both in the theory and in the practice of computing. The goal of the authors was to write a textbook that would not trivialize the subject but would still be readable by most students on their own. The book contains over 120 exercises. Some of them are drills; others make important points about the material covered in the text or introduce new algorithms not covered there. The book also provides programming projects. From the Table of Contents: Chapter 1: Basic knowledge of Mathematics, Relations, Recurrence relation and Solution techniques, Function and Growth of functions. Chapter 2: Different Sorting Techniques and their analysis. Chapter 3: Greedy approach, Dynamic Programming, Brach and Bound techniques, Backtracking and Problems, Amortized analysis, and Order Statics. Chapter 4: Graph algorithms, BFS, DFS, Spanning Tree, Flow Maximization Algorithms. Shortest Path Algorithms. Chapter 5: Binary search tree, Red black Tree, Binomial heap, B-Tree and Fibonacci Heap. Chapter 6: Approximation Algorithms, Sorting Networks, Matrix operations, Fast Fourier Transformation, Number theoretic Algorithm, Computational geometry Randomized Algorithms, String matching, NP-Hard, NP-Completeness, Cooks theorem.
The latest edition of a classic text on concurrency and distributed programming - from a winner of the ACM/SIGCSE Award for Outstanding Contribution to Computer Science Education.
This innovative guide will assist a computer user to understand basic terms and parts of a computer. It incorporates pictures and/or diagrams with every description to enable a person to see what the item being described looks like and where it is found in the computer system. This timely publication for our multilingual and multicultural society, is published in English, Afrikaans, isiZulu and Sepedi.
Churn is the bane of any subscription business, such as content subscriptions, software as a service, and even ad-supported freemium apps. You can improve customer retention through product changes and targeted engagement campaigns based on data-driven interventions. This hands-on guide is packed with techniques for converting raw data into measurable metrics, testing hypotheses, and presenting findings that are easily understandable to non-technical decision makers. Don't let your hard-won customers vanish from subscription services, taking their money with them. In Fighting Churn with Data you'll learn powerful data-driven techniques to maximize customer retention and minimize actions that cause them to stop engaging or unsubscribe altogether. * Identifying processes suited to machine learning * Using machine learning to automate back office processes * Seven everyday business process projects * Using open source and cloud-based tools * Case studies for machine learning decision making For readers with basic data analysis skills, including Python and SQL.
Proofs play a central role in advanced mathematics and theoretical computer science, yet many students struggle the first time they take a course in which proofs play a significant role. This bestselling text's third edition helps students transition from solving problems to proving theorems by teaching them the techniques needed to read and write proofs. Featuring over 150 new exercises and a new chapter on number theory, this new edition introduces students to the world of advanced mathematics through the mastery of proofs. The book begins with the basic concepts of logic and set theory to familiarize students with the language of mathematics and how it is interpreted. These concepts are used as the basis for an analysis of techniques that can be used to build up complex proofs step by step, using detailed 'scratch work' sections to expose the machinery of proofs about numbers, sets, relations, and functions. Assuming no background beyond standard high school mathematics, this book will be useful to anyone interested in logic and proofs: computer scientists, philosophers, linguists, and, of course, mathematicians.
This must-read textbook presents an essential introduction to Kolmogorov complexity (KC), a central theory and powerful tool in information science that deals with the quantity of information in individual objects. The text covers both the fundamental concepts and the most important practical applications, supported by a wealth of didactic features. This thoroughly revised and enhanced fourth edition includes new and updated material on, amongst other topics, the Miller-Yu theorem, the Gacs-Kucera theorem, the Day-Gacs theorem, increasing randomness, short lists computable from an input string containing the incomputable Kolmogorov complexity of the input, the Lovasz local lemma, sorting, the algorithmic full Slepian-Wolf theorem for individual strings, multiset normalized information distance and normalized web distance, and conditional universal distribution. Topics and features: describes the mathematical theory of KC, including the theories of algorithmic complexity and algorithmic probability; presents a general theory of inductive reasoning and its applications, and reviews the utility of the incompressibility method; covers the practical application of KC in great detail, including the normalized information distance (the similarity metric) and information diameter of multisets in phylogeny, language trees, music, heterogeneous files, and clustering; discusses the many applications of resource-bounded KC, and examines different physical theories from a KC point of view; includes numerous examples that elaborate the theory, and a range of exercises of varying difficulty (with solutions); offers explanatory asides on technical issues, and extensive historical sections; suggests structures for several one-semester courses in the preface. As the definitive textbook on Kolmogorov complexity, this comprehensive and self-contained work is an invaluable resource for advanced undergraduate students, graduate students, and researchers in all fields of science.
This interdisciplinary reference and guide provides an introduction to modeling methodologies and models which form the starting point for deriving efficient and effective solution techniques, and presents a series of case studies that demonstrate how heuristic and analytical approaches may be used to solve large and complex problems. Topics and features: introduces the key modeling methods and tools, including heuristic and mathematical programming-based models, and queueing theory and simulation techniques; demonstrates the use of heuristic methods to not only solve complex decision-making problems, but also to derive a simpler solution technique; presents case studies on a broad range of applications that make use of techniques from genetic algorithms and fuzzy logic, tabu search, and queueing theory; reviews examples incorporating system dynamics modeling, cellular automata and agent-based simulations, and the use of big data; supplies expanded descriptions and examples in the appendices.
Written in easy to understand language, this self-explanatory guide introduces the fundamentals of finite element methods and its application to differential equations. Beginning with a brief introduction to Sobolev spaces and elliptic scalar problems, the text progresses through an explanation of finite element spaces and estimates for the interpolation error. The concepts of finite element methods for parabolic scalar parabolic problems, object-oriented finite element algorithms, efficient implementation techniques, and high dimensional parabolic problems are presented in different chapters. Recent advances in finite element methods, including non-conforming finite elements for boundary value problems of higher order and approaches for solving differential equations in high dimensional domains are explained for the benefit of the reader. Numerous solved examples and mathematical theorems are interspersed throughout the text for enhanced learning.
There are no silver bullets in algorithm design, and no single algorithmic idea is powerful and flexible enough to solve every computational problem. Nor are there silver bullets in algorithm analysis, as the most enlightening method for analyzing an algorithm often depends on the problem and the application. However, typical algorithms courses rely almost entirely on a single analysis framework, that of worst-case analysis, wherein an algorithm is assessed by its worst performance on any input of a given size. The purpose of this book is to popularize several alternatives to worst-case analysis and their most notable algorithmic applications, from clustering to linear programming to neural network training. Forty leading researchers have contributed introductions to different facets of this field, emphasizing the most important models and results, many of which can be taught in lectures to beginning graduate students in theoretical computer science and machine learning.
Based on a new classification of algorithm design techniques and a clear delineation of analysis methods, Introduction to the Design and Analysis of Algorithms presents the subject in a coherent and innovative manner. Written in a student-friendly style, the book emphasizes the understanding of ideas over excessively formal treatment while thoroughly covering the material required in an introductory algorithms course. Popular puzzles are used to motivate students' interest and strengthen their skills in algorithmic problem solving. Other learning-enhancement features include chapter summaries, hints to the exercises, and a detailed solution manual.
This volume is a compilation of the research program of the 10th International Conference on the Integration of Artificial Intelligence (AI) and Operations Research (OR) Techniques in Constraint Programming, CPAIOR 2013, held at Yorktown Heights, NY, USA, in May 2013. This volume contains 20 full papers and 11 short papers that were carefully reviewed and selected from 71 submissions. The papers focus on new techniques or applications in the intersection of constraint programming (CP), artificial intelligence (AI) and operations research (OR).
Authors have attempted to create coherent chapters and sections on how the fundamentals of maintenance cost should be organized, to present them in a logical and sequential order. Necessarily, the text starts with importance of maintenance function in the organization and moves to life cycle cost (LCC) considerations followed by the budgeting constraints. In the process, they have intentionally postponed the discussion about intangible costs and downtime costs later on in the book mainly due to the controversial part of it when arguing with managers. The book will be concluding with a short description of a number of sectors where maintenance cost is of critical importance. The goal is to train the readers for a deeper study and understanding of these elements for decision making in maintenance, more specifically in the context of asset management. This book is intended for managers, engineers, researchers, and practitioners, directly or indirectly involved in the area of maintenance. The book is focused to contribute towards better understanding of maintenance cost and use of this knowledge to improve the maintenance process. Key Features: * Emphasis on maintenance cost and life cycle cost especially under uncertainty. * Systematic approach of how cost models can be applied and used in the maintenance field. * Compiles and reviews existing maintenance cost models. * Consequential and direct costs considered. * Comparison of maintenance costs in different sectors, infrastructure, manufacturing, transport.
Property testing is concerned with the design of super-fast algorithms for the structural analysis of large quantities of data. The aim is to unveil global features of the data, such as determining whether the data has a particular property or estimating global parameters. Remarkably, it is possible for decisions to be made by accessing only a small portion of the data. Property testing focuses on properties and parameters that go beyond simple statistics. This book provides an extensive and authoritative introduction to property testing. It provides a wide range of algorithmic techniques for the design and analysis of tests for algebraic properties, properties of Boolean functions, graph properties, and properties of distributions.
Networks are everywhere, from the internet, to social networks, and the genetic networks that determine our biological existence. Illustrated throughout in full colour, this pioneering textbook, spanning a wide range of topics from physics to computer science, engineering, economics and the social sciences, introduces network science to an interdisciplinary audience. From the origins of the six degrees of separation to explaining why networks are robust to random failures, the author explores how viruses like Ebola and H1N1 spread, and why it is that our friends have more friends than we do. Using numerous real-world examples, this innovatively designed text includes clear delineation between undergraduate and graduate level material. The mathematical formulas and derivations are included within Advanced Topics sections, enabling use at a range of levels. Extensive online resources, including films and software for network analysis, make this a multifaceted companion for anyone with an interest in network science.
Complexity theory aims to understand and classify computational problems, especially decision problems, according to their inherent complexity. This book uses new techniques to expand the theory for use with counting problems. The authors present dichotomy classifications for broad classes of counting problems in the realm of P and NP. Classifications are proved for partition functions of spin systems, graph homomorphisms, constraint satisfaction problems, and Holant problems. The book assumes minimal prior knowledge of computational complexity theory, developing proof techniques as needed and gradually increasing the generality and abstraction of the theory. This volume presents the theory on the Boolean domain, and includes a thorough presentation of holographic algorithms, culminating in classifications of computational problems studied in exactly solvable models from statistical mechanics.
Architects are now taking advantage of the computer in new ways through experimentation with algorithmic and simulation-driven design. "Computation Works: The Building of Algorithmic Thought" focuses on this emerging theme in design practice, showcasing built and soon-to-be-built projects and providing a state of the art in computational design. Computational design is considered to be first a design tool, and second a series of instruments that can be applied in the creation of architecture. It allows architects to incorporate performance analysis and knowledge about material, tectonics and the parameters of production machinery. Moving towards a new role as hybrid practitioners, architects are taking concepts from other disciplines and customising architectural and other CAD software. In addition to the discussion of built projects, a further series of texts examines new custom software instruments. New digital tools provide new modes of representation, new methods of evaluation, and new techniques for design exploration. The development of new computational tools can create more responsive designs, allowing architects to explore new design options and to analyse architectural decisions during the design process. This issue raises important questions such as: How is computation changing the way architects design? Are the design tools and methods related to the result? What is computational design in the context of architectural practice? and How is computation changing the processes of design and construction?
Integer linear programming (ILP) is a versatile modeling and optimization technique that is increasingly used in non-traditional ways in biology, with the potential to transform biological computation. However, few biologists know about it. This how-to and why-do text introduces ILP through the lens of computational and systems biology. It uses in-depth examples from genomics, phylogenetics, RNA, protein folding, network analysis, cancer, ecology, co-evolution, DNA sequencing, sequence analysis, pedigree and sibling inference, haplotyping, and more, to establish the power of ILP. This book aims to teach the logic of modeling and solving problems with ILP, and to teach the practical 'work flow' involved in using ILP in biology. Written for a wide audience, with no biological or computational prerequisites, this book is appropriate for entry-level and advanced courses aimed at biological and computational students, and as a source for specialists. Numerous exercises and accompanying software (in Python and Perl) demonstrate the concepts.
A friendly introduction to the most useful algorithms written in simple, intuitive English The revised and updated second edition of Essential Algorithms, offers an accessible introduction to computer algorithms. The book contains a description of important classical algorithms and explains when each is appropriate. The author shows how to analyze algorithms in order to understand their behavior and teaches techniques that the can be used to create new algorithms to meet future needs. The text includes useful algorithms such as: methods for manipulating common data structures, advanced data structures, network algorithms, and numerical algorithms. It also offers a variety of general problem-solving techniques. In addition to describing algorithms and approaches, the author offers details on how to analyze the performance of algorithms. The book is filled with exercises that can be used to explore ways to modify the algorithms in order to apply them to new situations. This updated edition of Essential Algorithms Contains explanations of algorithms in simple terms, rather than complicated math Steps through powerful algorithms that can be used to solve difficult programming problems Helps prepare for programming job interviews that typically include algorithmic questions Offers methods can be applied to any programming language Includes exercises and solutions useful to both professionals and students Provides code examples updated and written in Python and C# Essential Algorithms has been updated and revised and offers professionals and students a hands-on guide to analyzing algorithms as well as the techniques and applications. The book also includes a collection of questions that may appear in a job interview. The book's website will include reference implementations in Python and C# (which can be easily applied to Java and C++).
Two central problems in computer science are P vs NP and the complexity of matrix multiplication. The first is also a leading candidate for the greatest unsolved problem in mathematics. The second is of enormous practical and theoretical importance. Algebraic geometry and representation theory provide fertile ground for advancing work on these problems and others in complexity. This introduction to algebraic complexity theory for graduate students and researchers in computer science and mathematics features concrete examples that demonstrate the application of geometric techniques to real world problems. Written by a noted expert in the field, it offers numerous open questions to motivate future research. Complexity theory has rejuvenated classical geometric questions and brought different areas of mathematics together in new ways. This book will show the beautiful, interesting, and important questions that have arisen as a result.
You may like...
Exam Ref 70-535 Architecting Microsoft…
Haishi Bai, Dan Stolts, … Paperback
Nine Algorithms That Changed the Future…
John MacCormick Paperback
Resource Management for Big Data…
Florin Pop, Joanna Kolodziej, … Hardcover R3,894 Discovery Miles 38 940
The Top Ten Algorithms in Data Mining
Hardcover R2,208 Discovery Miles 22 080
Distributed Applications and…
Anne Remke, Valerio Schiavoni Paperback R1,323 Discovery Miles 13 230
Descriptive Complexity, Canonisation…
Martin Grohe Hardcover
Random Graphs and Complex Networks…
Remco van der Hofstad Hardcover R1,178 Discovery Miles 11 780
Genetic Algorithms and Machine Learning…
Frances Buontempo Paperback
Algorithmic Problem Solving
Roland Backhouse Paperback R1,016 Discovery Miles 10 160
Machine Learning - The Art and Science…
Peter Flach Paperback