An Introduction to Natural Computation


Book Description

This book provides a comprehensive introduction to the computational material that forms the underpinnings of the currently evolving set of brain models. It is now clear that the brain is unlikely to be understood without recourse to computational theories. The theme of An Introduction to Natural Computation is that ideas from diverse areas such as neuroscience, information theory, and optimization theory have recently been extended in ways that make them useful for describing the brains programs. This book provides a comprehensive introduction to the computational material that forms the underpinnings of the currently evolving set of brain models. It stresses the broad spectrum of learning models—ranging from neural network learning through reinforcement learning to genetic learning—and situates the various models in their appropriate neural context. To write about models of the brain before the brain is fully understood is a delicate matter. Very detailed models of the neural circuitry risk losing track of the task the brain is trying to solve. At the other extreme, models that represent cognitive constructs can be so abstract that they lose all relationship to neurobiology. An Introduction to Natural Computation takes the middle ground and stresses the computational task while staying near the neurobiology.




Introduction to Natural Language Processing


Book Description

A survey of computational methods for understanding, generating, and manipulating human language, which offers a synthesis of classical representations and algorithms with contemporary machine learning techniques. This textbook provides a technical perspective on natural language processing—methods for building computer software that understands, generates, and manipulates human language. It emphasizes contemporary data-driven approaches, focusing on techniques from supervised and unsupervised machine learning. The first section establishes a foundation in machine learning by building a set of tools that will be used throughout the book and applying them to word-based textual analysis. The second section introduces structured representations of language, including sequences, trees, and graphs. The third section explores different approaches to the representation and analysis of linguistic meaning, ranging from formal logic to neural word embeddings. The final section offers chapter-length treatments of three transformative applications of natural language processing: information extraction, machine translation, and text generation. End-of-chapter exercises include both paper-and-pencil analysis and software implementation. The text synthesizes and distills a broad and diverse research literature, linking contemporary machine learning techniques with the field's linguistic and computational foundations. It is suitable for use in advanced undergraduate and graduate-level courses and as a reference for software engineers and data scientists. Readers should have a background in computer programming and college-level mathematics. After mastering the material presented, students will have the technical skill to build and analyze novel natural language processing systems and to understand the latest research in the field.




Introduction to Evolutionary Computing


Book Description

The first complete overview of evolutionary computing, the collective name for a range of problem-solving techniques based on principles of biological evolution, such as natural selection and genetic inheritance. The text is aimed directly at lecturers and graduate and undergraduate students. It is also meant for those who wish to apply evolutionary computing to a particular problem or within a given application area. The book contains quick-reference information on the current state-of-the-art in a wide range of related topics, so it is of interest not just to evolutionary computing specialists but to researchers working in other fields.




The Nature of Computation


Book Description

Computational complexity is one of the most beautiful fields of modern mathematics, and it is increasingly relevant to other sciences ranging from physics to biology. But this beauty is often buried underneath layers of unnecessary formalism, and exciting recent results like interactive proofs, phase transitions, and quantum computing are usually considered too advanced for the typical student. This book bridges these gaps by explaining the deep ideas of theoretical computer science in a clear and enjoyable fashion, making them accessible to non-computer scientists and to computer scientists who finally want to appreciate their field from a new point of view. The authors start with a lucid and playful explanation of the P vs. NP problem, explaining why it is so fundamental, and so hard to resolve. They then lead the reader through the complexity of mazes and games; optimization in theory and practice; randomized algorithms, interactive proofs, and pseudorandomness; Markov chains and phase transitions; and the outer reaches of quantum computing. At every turn, they use a minimum of formalism, providing explanations that are both deep and accessible. The book is intended for graduate and undergraduate students, scientists from other areas who have long wanted to understand this subject, and experts who want to fall in love with this field all over again.




Bioinspired Computation in Combinatorial Optimization


Book Description

Bioinspired computation methods such as evolutionary algorithms and ant colony optimization are being applied successfully to complex engineering problems and to problems from combinatorial optimization, and with this comes the requirement to more fully understand the computational complexity of these search heuristics. This is the first textbook covering the most important results achieved in this area. The authors study the computational complexity of bioinspired computation and show how runtime behavior can be analyzed in a rigorous way using some of the best-known combinatorial optimization problems -- minimum spanning trees, shortest paths, maximum matching, covering and scheduling problems. A feature of the book is the separate treatment of single- and multiobjective problems, the latter a domain where the development of the underlying theory seems to be lagging practical successes. This book will be very valuable for teaching courses on bioinspired computation and combinatorial optimization. Researchers will also benefit as the presentation of the theory covers the most important developments in the field over the last 10 years. Finally, with a focus on well-studied combinatorial optimization problems rather than toy problems, the book will also be very valuable for practitioners in this field.




Natural Computation


Book Description

Designed for the MIT course, "Natural Computation, this extensive book of readings combines mathematics, artificial intelligence, computer science, experimental psychology, and neurophysiology in studying perception. Mathematics is emphasized for making perceptual inferences and the spectrum of mathematical techniques used is very broad. While the more than thirty readings focus primarily on vision, they also encompass the study of sound perception and the interpretation and application of forces including movement.Each article is a self contained example of how a perceptual problem may be tackled and solved. For example, what makes wood look like wood not like stone, sand, or grass? How can we represent three dimensional shapes when the same shape is rarely seen in exactly the same way? Each of the five sections is preceded by an introduction and the book concludes with problem sets.Whitman A. Richards is Professor in the Brain and Cognitive Science Department at MIT. A Bradford Book.




Theoretical and Experimental DNA Computation


Book Description

This book provides a broad overview of the entire field of DNA computation, tracing its history and development. It contains detailed descriptions of all major theoretical models and experimental results to date and discusses potential future developments. It concludes by outlining the challenges currently faced by researchers in the field. This book will be a useful reference for researchers and students, as well as an accessible introduction for those new to the field.




An Introduction to Genetic Algorithms


Book Description

Genetic algorithms have been used in science and engineering as adaptive algorithms for solving practical problems and as computational models of natural evolutionary systems. This brief, accessible introduction describes some of the most interesting research in the field and also enables readers to implement and experiment with genetic algorithms on their own. It focuses in depth on a small set of important and interesting topics—particularly in machine learning, scientific modeling, and artificial life—and reviews a broad span of research, including the work of Mitchell and her colleagues. The descriptions of applications and modeling projects stretch beyond the strict boundaries of computer science to include dynamical systems theory, game theory, molecular biology, ecology, evolutionary biology, and population genetics, underscoring the exciting "general purpose" nature of genetic algorithms as search methods that can be employed across disciplines. An Introduction to Genetic Algorithms is accessible to students and researchers in any scientific discipline. It includes many thought and computer exercises that build on and reinforce the reader's understanding of the text. The first chapter introduces genetic algorithms and their terminology and describes two provocative applications in detail. The second and third chapters look at the use of genetic algorithms in machine learning (computer programs, data analysis and prediction, neural networks) and in scientific models (interactions among learning, evolution, and culture; sexual selection; ecosystems; evolutionary activity). Several approaches to the theory of genetic algorithms are discussed in depth in the fourth chapter. The fifth chapter takes up implementation, and the last chapter poses some currently unanswered questions and surveys prospects for the future of evolutionary computation.




A Gentle Introduction to Effective Computing in Quantitative Research


Book Description

A practical guide to using modern software effectively in quantitative research in the social and natural sciences. This book offers a practical guide to the computational methods at the heart of most modern quantitative research. It will be essential reading for research assistants needing hands-on experience; students entering PhD programs in business, economics, and other social or natural sciences; and those seeking quantitative jobs in industry. No background in computer science is assumed; a learner need only have a computer with access to the Internet. Using the example as its principal pedagogical device, the book offers tried-and-true prototypes that illustrate many important computational tasks required in quantitative research. The best way to use the book is to read it at the computer keyboard and learn by doing. The book begins by introducing basic skills: how to use the operating system, how to organize data, and how to complete simple programming tasks. For its demonstrations, the book uses a UNIX-based operating system and a set of free software tools: the scripting language Python for programming tasks; the database management system SQLite; and the freely available R for statistical computing and graphics. The book goes on to describe particular tasks: analyzing data, implementing commonly used numerical and simulation methods, and creating extensions to Python to reduce cycle time. Finally, the book describes the use of LaTeX, a document markup language and preparation system.




Morphology and Computation


Book Description

This book provides the first broad yet thorough coverage of issues in morphological theory. It includes a wide array of techniques and systems in computational morphology (including discussion of their limitations), and describes some unusual applications.Sproat motivates the study of computational morphology by arguing that a computational natural language system, such as a parser or a generator, must incorporate a model of morphology. He discusses a range of applications for programs with knowledge of morphology, some of which are not generally found in the literature. Sproat then provides an overview of some of the basic descriptive facts about morphology and issues in theoretical morphology and (lexical) phonology, as well as psycholinguistic evidence for human processing of morphological structure. He take up the basic techniques that have been proposed for doing morphological processing and discusses at length various systems (such as DECOMP and KIMMO) that incorporate part or all of those techniques, pointing out the inadequacies of such systems from both a descriptive and a computational point of view. He concludes by touching on interesting peripheral areas such as the analysis of complex nominals in English, and on the main contributions of Rumelhart and McClelland's connectionism to the computational analysis of words.