Your cart is empty
This classic book on formal languages, automata theory, and computational complexity has been updated to present theoretical concepts in a concise and straightforward manner with the increase of hands-on, practical applications. This new edition comes with Gradiance, an online assessment tool developed for computer science. Please note, Gradiance is no longer available with this book, as we no longer support this product.
Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, making this book accessible to a broad spectrum of readers. While Part I focuses on basic concepts, Part II introduces the reader to more advanced topics. This new edition has been extensively updated and expanded to include recent and more advanced features of Haskell, new examples and exercises, selected solutions, and freely downloadable lecture slides and example code. The presentation is clean and simple, while also being fully compliant with the latest version of the language, including recent changes concerning applicative, monadic, foldable, and traversable types.
This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography. NEW to the second edition: * Doubles the tutorial material and exercises over the first edition * Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video * Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them * Includes several NEW "war stories" relating experiences from real-world applications * Provides up-to-date links leading to the very best algorithm implementations available in C, C++, and Java
"The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming."
x2014;"Byte," September 1995
"I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up."
"If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing."
"It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers."
This first volume in the series begins with basic programming
concepts and techniques, then focuses more particularly on
information structures x2014;the representation of information
inside a computer, the structural relationships between data
elements and how to deal with them efficiently. Elementary
applications are given to simulation, numerical methods, symbolic
computing, software and system design. Dozens of simple and
important algorithms and techniques have been added to those of the
previous edition. The section on mathematical preliminaries has
been extensively revised to match present trends in research.
Bringing together idiomatic Python programming, foundational numerical methods, and physics applications, this is an ideal standalone textbook for courses on computational physics. All the frequently used numerical methods in physics are explained, including foundational techniques and hidden gems on topics such as linear algebra, differential equations, root-finding, interpolation, and integration. Accompanying the mathematical derivations are full implementations of dozens of numerical methods in Python, as well as more than 250 end-of-chapter problems. Numerical methods and physics examples are clearly separated, allowing this introductory book to be later used as a reference; the penultimate section in each chapter is an in depth project, tackling physics problems which cannot be solved without the use of a computer. Written primarily for students studying computational physics, this textbook brings the non-specialist quickly up to speed with Python before looking in detail at the numerical methods often used in the subject.
Discrete Mathematics for Computing presents the essential mathematics needed for the study of computing and information systems. The subject is covered in a gentle and informal style, but without compromising the need for correct methodology. It is perfect for students with a limited background in mathematics. This new edition includes: * An expanded section on encryption * Additional examples of the ways in which theory can be applied to problems in computing * Many more exercises covering a range of levels, from the basic to the more advanced This book is ideal for students taking a one-semester introductory course in discrete mathematics - particularly for first year undergraduates studying Computing and Information Systems. PETER GROSSMAN has worked in both academic and industrial roles as a mathematician and computing professional. As a lecturer in mathematics, he was responsible for coordinating and developing mathematics courses for Computing students. He has also applied his skills in areas as diverse as calculator design, irrigation systems and underground mine layouts. He lives and works in Melbourne, Australia.
If you struggle with binary multiplication, or Big O Notation, this is the book for you. This textbook companion will help improve your essential maths skills for computer science, whichever awarding body specification you're following. You can use it throughout your course, whenever you feel you need some extra help. - Develop your understanding of both maths and computer science with all worked examples and questions within a computer science context - Improve your confidence with a step-by-step approach to every maths skill - Measure your progress with guided and non-guided questions to see how you're improving - Understand where you're going wrong with full worked solutions to every question - Feel confident in expert guidance from experienced teachers and examiners Victoria Ellis and Gavin Craddock, reviewed by Dr Kathleen Maitland, Senior Lecturer in Computing and Director of the SAS Student Academy at Birmingham City University
Finite-state methods are the most efficient mechanisms for analysing textual and symbolic data, providing elegant solutions for an immense number of practical problems in computational linguistics and computer science. This book for graduate students and researchers gives a complete coverage of the field, starting from a conceptual introduction and building to advanced topics and applications. The central finite-state technologies are introduced with mathematical rigour, ranging from simple finite-state automata to transducers and bimachines as 'input-output' devices. Special attention is given to the rich possibilities of simplifying, transforming and combining finite-state devices. All algorithms presented are accompanied by full correctness proofs and executable source code in a new programming language, C(M), which focuses on transparency of steps and simplicity of code. Thus, by enabling readers to obtain a deep formal understanding of the subject and to put finite-state methods to real use, this book closes the gap between theory and practice.
This well-balanced text touches on theoretical and applied aspects of protecting digital data. The reader is provided with the basic theory and is then shown deeper fascinating detail, including the current state of the art. Readers will soon become familiar with methods of protecting digital data while it is transmitted, as well as while the data is being stored. Both basic and advanced error-correcting codes are introduced together with numerous results on their parameters and properties. The authors explain how to apply these codes to symmetric and public key cryptosystems and secret sharing. Interesting approaches based on polynomial systems solving are applied to cryptography and decoding codes. Computer algebra systems are also used to provide an understanding of how objects introduced in the book are constructed, and how their properties can be examined. This book is designed for Masters-level students studying mathematics, computer science, electrical engineering or physics.
This comprehensive text provides a modern and technically precise exposition of the fundamental theory and applications of temporal logics in computer science. Part I presents the basics of discrete transition systems, including constructions and behavioural equivalences. Part II examines the most important temporal logics for transition systems and Part III looks at their expressiveness and complexity. Finally, Part IV describes the main computational methods and decision procedures for model checking and model building - based on tableaux, automata and games - and discusses their relationships. The book contains a wealth of examples and exercises, as well as an extensive annotated bibliography. Thus, the book is not only a solid professional reference for researchers in the field but also a comprehensive graduate textbook that can be used for self-study as well as for teaching courses.
Do you want reliable code for the latest methods in scientific computing? This CD-ROM contains all the source code from the new, and all previous, editions and language versions of Numerical Recipes. Included are: Numerical Recipes, Third Edition: complete source code in C++, with many brand-new routines Numerical Recipes, Second Edition: complete source code in C, Fortran 77, and Fortran 90 Numerical Recipes, First Edition: complete source code in Pascal and BASIC plus third-party ports of the code to Modula 2 and Common Lisp The CDROM also features an archive of difficult-to-find historical materials, including Baker's C Tools and More C Tools, Lau's Numerical Library in C for Scientists and Engineers, the influential NUMAL Algol 60 library from the Mathematisch Centrum in Amsterdam, and more than 250 MB of physically generated and multiply encrypted random bytes. Compatible with all computers and operating systems, the CDROM includes a Personal Single-User License that allows an individual to use the copyrighted code on any number of computers (no more than one at a time). For support or more general license information visit at www.nr.com.
Modern scientific computational methods are undergoing a transformative change; big data and statistical learning methods now have the potential to outperform the classical first-principles modeling paradigm. This book bridges this transition, connecting the theory of probability, stochastic processes, functional analysis, numerical analysis, and differential geometry. It describes two classes of computational methods to leverage data for modeling dynamical systems. The first is concerned with data fitting algorithms to estimate parameters in parametric models that are postulated on the basis of physical or dynamical laws. The second is on operator estimation, which uses the data to nonparametrically approximate the operator generated by the transition function of the underlying dynamical systems. This self-contained book is suitable for graduate studies in applied mathematics, statistics, and engineering. Carefully chosen elementary examples with supplementary MATLAB (R) codes and appendices covering the relevant prerequisite materials are provided, making it suitable for self-study.
Co-authored by four leading scientists from academia and industry, Numerical Recipes Third Edition starts with basic mathematics and computer science and proceeds to complete, working routines. Widely recognized as the most comprehensive, accessible and practical basis for scientific computing, this new edition incorporates more than 400 Numerical Recipes routines, many of them new or upgraded. The executable C++ code, now printed in color for easy reading, adopts an object-oriented style particularly suited to scientific applications. The whole book is presented in the informal, easy-to-read style that made earlier editions so popular. Please visit www.nr.com or www.cambridge.org/us/numericalrecipes for more details. New key features: 2 new chapters, 25 new sections, 25% longer than Second Edition Thorough upgrades throughout the text Over 100 completely new routines and upgrades of many more. New Classification and Inference chapter, including Gaussian mixture models, HMMs, hierarchical clustering, Support Vector MachinesNew Computational Geometry chapter covers KD trees, quad- and octrees, Delaunay triangulation, and algorithms for lines, polygons, triangles, and spheres New sections include interior point methods for linear programming, Monte Carlo Markov Chains, spectral and pseudospectral methods for PDEs, and many new statistical distributions An expanded treatment of ODEs with completely new routines Plus comprehensive coverage of linear algebra, interpolation, special functions, random numbers, nonlinear sets of equations, optimization, eigensystems, Fourier methods and wavelets, statistical tests, ODEs and PDEs, integral equations, and inverse theory And much, much more! Visitthe authors' web site for information about electronic subscriptions www.nr.com/aboutNR3book.html
This book is a comprehensive explanation of graph and model transformation. It contains a detailed introduction, including basic results and applications of the algebraic theory of graph transformations, and references to the historical context. Then in the main part the book contains detailed chapters on M-adhesive categories, M-adhesive transformation systems, and multi-amalgamated transformations, and model transformation based on triple graph grammars. In the final part of the book the authors examine application of the techniques in various domains, including chapters on case studies and tool support. The book will be of interest to researchers and practitioners in the areas of theoretical computer science, software engineering, concurrent and distributed systems, and visual modelling.
This book surveys the mathematical and computational properties of finite sets of points in the plane, covering recent breakthroughs on important problems in discrete geometry, and listing many open problems. It unifies these mathematical and computational views using forbidden configurations, which are patterns that cannot appear in sets with a given property, and explores the implications of this unified view. Written with minimal prerequisites and featuring plenty of figures, this engaging book will be of interest to undergraduate students and researchers in mathematics and computer science. Most topics are introduced with a related puzzle or brain-teaser. The topics range from abstract issues of collinearity, convexity, and general position to more applied areas including robust statistical estimation and network visualization, with connections to related areas of mathematics including number theory, graph theory, and the theory of permutation patterns. Pseudocode is included for many algorithms that compute properties of point sets.
This book is a collection of thoroughly refereed papers presented at the 26th IFIP TC 7 Conference on System Modeling and Optimization, held in Klagenfurt, Austria, in September 2013. The 34 revised papers were carefully selected from numerous submissions. They cover the latest progress in a wide range of topics such as optimal control of ordinary and partial differential equations, modeling and simulation, inverse problems, nonlinear, discrete, and stochastic optimization as well as industrial applications.
The Poisson process, a core object in modern probability, enjoys a richer theory than is sometimes appreciated. This volume develops the theory in the setting of a general abstract measure space, establishing basic results and properties as well as certain advanced topics in the stochastic analysis of the Poisson process. Also discussed are applications and related topics in stochastic geometry, including stationary point processes, the Boolean model, the Gilbert graph, stable allocations, and hyperplane processes. Comprehensive, rigorous, and self-contained, this text is ideal for graduate courses or for self-study, with a substantial number of exercises for each chapter. Mathematical prerequisites, mainly a sound knowledge of measure-theoretic probability, are kept in the background, but are reviewed comprehensively in the appendix. The authors are well-known researchers in probability theory; especially stochastic geometry. Their approach is informed both by their research and by their extensive experience in teaching at undergraduate and graduate levels.
This is a thorough introduction to the fundamental concepts of functional programming.KEY TOPICS:The book clearly expounds the construction of functional programming as a process of mathematical calculation, but restricts itself to the mathematics relevant to actual program construction. It covers simple and abstract datatypes, numbers, lists, examples, trees, and efficiency. It includes a simple, yet coherent treatment of the Haskell class; a calculus of time complexity; and new coverage of monadic input-output.MARKET:For anyone interested in the theory and practice of functional programming.
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.
Classic text considersgeneral theory of computability, computable functions, operations on computable functions, Turing machines self-applied, unsolvable decision problems, applications of general theory, mathematical logic, Kleene hierarchy, computable functionals, classification of unsolvable decision problems and more.
Coinduction is a method for specifying and reasoning about infinite data types and automata with infinite behaviour. In recent years, it has come to play an ever more important role in the theory of computing. It is studied in many disciplines, including process theory and concurrency, modal logic and automata theory. Typically, coinductive proofs demonstrate the equivalence of two objects by constructing a suitable bisimulation relation between them. This collection of surveys is aimed at both researchers and Master's students in computer science and mathematics and deals with various aspects of bisimulation and coinduction, with an emphasis on process theory. Seven chapters cover the following topics: history, algebra and coalgebra, algorithmics, logic, higher-order languages, enhancements of the bisimulation proof method, and probabilities. Exercises are also included to help the reader master new material.
The Foundations of Computational Mathematics meetings are a platform for cross-fertilisation between numerical analysis, mathematics and computer science. This volume is a collection of articles based on plenary presentations, given at the 2011 meeting, by some of the world's foremost authorities in computational mathematics. The topics covered reflect the breadth of research within the area as well as the richness of interactions between seemingly unrelated branches of pure and applied mathematics. As a result this volume will be of interest to researchers in the field of computational mathematics and also to non-experts who wish to gain some insight into the state of the art in this active and significant field.
Geometric and topological inference deals with the retrieval of information about a geometric object using only a finite set of possibly noisy sample points. It has connections to manifold learning and provides the mathematical and algorithmic foundations of the rapidly evolving field of topological data analysis. Building on a rigorous treatment of simplicial complexes and distance functions, this self-contained book covers key aspects of the field, from data representation and combinatorial questions to manifold reconstruction and persistent homology. It can serve as a textbook for graduate students or researchers in mathematics, computer science and engineering interested in a geometric approach to data science.
This fifth edition continues to improve on the features that have made it the market leader. The text offers a flexible organization, enabling instructors to adapt the book to their particular courses. The book is both complete and careful, and it continues to maintain its emphasis on algorithms and applications. Excellent exercise sets allow students to perfect skills as they practice. This new edition continues to feature numerous computer science applications-making this the ideal text for preparing students for advanced study.
You may like...
Incomplete Information System and Rough…
Xibei Yang, Jingyu Yang Hardcover
The Mathematics of Signal Processing
Steven B. Damelin, Willard Miller Jr Paperback R1,316 Discovery Miles 13 160
Mathematical Programming Solver Based on…
Frederic Gardi, Thierry Benoist, … Hardcover R2,802 Discovery Miles 28 020
Applications of Evolutionary Computing…
Mario Giacobini, Anthony Brabazon, … Paperback R4,003 Discovery Miles 40 030
A Computational Approach to Statistical…
Taylor Arnold, Michael Kane, … Hardcover R1,612 Discovery Miles 16 120
Chemical Engineering Primer with…
Hussein K. Abdel-Aal Paperback R1,697 Discovery Miles 16 970
Inductive Fuzzy Classification in…
Michael Kaufmann Hardcover
Doing Better Statistics in…
Paul Cairns Paperback
New Trends in Emerging Complex Real Life…
Patrizia Daniele, Laura Scrimali Hardcover
The Discrete Charm of the Machine - Why…
Ken Steiglitz Hardcover