Join thousands of book lovers
Sign up to our newsletter and receive discounts and inspiration for your next reading experience.
By signing up, you agree to our Privacy Policy.You can, at any time, unsubscribe from our newsletters.
The book covers the most essential and widely employed material in each area, particularly the material important for real-world applications. Symbolic AI covers areas such as knowledge-based systems, logical reasoning, symbolic machine learning, search techniques, and natural language processing.
Integrating concepts from deep learning, machine learning, and artificial neural networks, this highly unique textbook presents content progressively from easy to more complex, orienting its content about knowledge transfer from the viewpoint of machine intelligence.
This textbook aims to help the reader develop an in-depth understanding of logical reasoning and gain knowledge of the theory of computation. Content-wise, this book focuses on the syntax, semantics and proof theory of various logics; This book is written for a high-level undergraduate course or a Master's course.
This textbook is about systematic problem solving and systematic reasoning using type-driven design. Divide and conquer is the process by which a large problem is broken into two or more smaller problems that are easier to solve and then the solutions for the smaller pieces are combined to create an answer to the problem.
Centered around the fundamental issue of graph isomorphism, this text goes beyond classical graph problems of shortest paths, spanning trees, flows in networks, and matchings in bipartite graphs.
This comprehensive Guide to Web Development with Java introduces the readers to the three-tiered, Model-View-Controller architecture by using Spring JPA, JSPs, and Spring MVC controllers. These three technologies use Java, so that a student with a background in programming will be able to master them with ease, with the end result of being able to create web applications that use MVC, validate user input,and save data to a database.Topics and features:¿ Presents web development topics in an accessible, easy-to-follow style, focusing on core information first, and allowing the reader to gain basic understanding before moving forwards¿ Contains many helpful pedagogical tools for students and lecturers, such as questions and exercises at the end of each chapter, detailed illustrations, chapter summaries, and a glossary¿ Uses existing powerful technologies that are freely available on the web to speedup web development, such as Spring Boot, Spring MVC, Spring JPA, Hibernate, JSP, JSTL, and Java 1.8¿ Discusses HTML, HTML forms, and Cascading Style Sheets¿ Starts with the simplest technology for web development (JSP) and gradually introduces the reader to more complex topics¿ Introduces core technologies from the outset, such as the Model-View-Controller architecture¿ Includes examples for accessing common web services¿ Provides supplementary examples and tutorials
This practically-oriented textbook presents an accessible introduction to discrete mathematics through a substantial collection of classroom-tested exercises. Each chapter opens with concise coverage of the theory underlying the topic, reviewing the basic concepts and establishing the terminology, as well as providing the key formulae and instructions on their use. This is then followed by a detailed account of the most common problems in the area, before the reader is invited to practice solving such problems for themselves through a varied series of questions and assignments.Topics and features: provides an extensive set of exercises and examples of varying levels of complexity, suitable for both laboratory practical training and self-study; offers detailed solutions to many problems, applying commonly-used methods and computational schemes; introduces the fundamentals of mathematical logic, the theory of algorithms, Boolean algebra, graph theory, sets, relations, functions, and combinatorics; presents more advanced material on the design and analysis of algorithms, including asymptotic analysis, and parallel algorithms; includes reference lists of trigonometric and finite summation formulae in an appendix, together with basic rules for differential and integral calculus.This hands-on study guide is designed to address the core needs of undergraduate students training in computer science, informatics, and electronic engineering, emphasizing the skills required to develop and implement an algorithm in a specific programming language.
Algorithms are central to all areas of computer science, from compiler construction to numerical analysis to artificial intelligence. Throughout your academic and professional careers, you may be required to construct new algorithms, analyze existing algorithms, or modify algorithms to suit new purposes. How do we know that such algorithms are correct? One method involves making claims about how we expect our programs to operate, and then constructing code that carries out these tasks. The key component of such reasoning is the invariant, and is the topic of this book. In these pages, you will study how invariants are developed, how they are used to construct correct algorithms, and how they are helpful in analyzing existing programs. Along the way, you'll be introduced to some classic sorting, searching and mathematical algorithms, and even some solutions to games and logic puzzles. These examples, though, are only conduits for the loftier goal: understanding why algorithms work.
Logic for Artificial Intelligence and Information Technology is based on student notes used to teach logic to second year undergraduates and Artificial Intelligence to graduate students at the University of London since1984, first at Imperial College and later at King's College.Logic has been applied to a wide variety of subjects such as theoretical computer science, software engineering, hardware design, logic programming, computational linguistics and artificial intelligence. In this way it has served to stimulate the research for clear conceptual foundations.Over the past 20 years many extensions of classical logic such as temporal, modal, relevance, fuzzy, probabilistic and non-monotoinic logics have been widely used in computer science and artificial intelligence, therefore requiring new formulations of classical logic, which can be modified to yield the effect of the new applied logics.The text introduces classical logic in a goal directed way which can easily deviate into discussing other applied logics. It defines the many types of logics and differences between them.Dov Gabbay, FRSC, FAvH, FRSA, FBCS, is Augustus De Morgan Professor of Logic at the University of London. He has written over 300 papers in logic and over 20 books. He is Editor-in-Chief of several leading journals and has published over 50 handbooks of logic volumes. He is a world authority on applied logics and is one of the directors and founder of the UK charity the International Federation of Computational Logic
Automata and Dictionaries is aimed at students and specialists in natural language processing and related disciplines where efficient text analysis plays a role. Large linguistic resources, in particular lexica, are now recognized as a fundamental pre-requisite for all natural language processing tasks. Specialists in this domain cannot afford to be ignorant of the state-of-the-art lexicon-management algorithms. This monograph, which is also intended be used as an advanced text book in computational linguistics, fills a gap in natural language processing monographs and is complementary to other publications in this area.This book is also a source of examples, exercises and problems for software engineering in general. The algorithms that are presented are excellent examples of non-trivial problems of graph construction, graph handling and graph traversal. Even though published in scientific journals, they have not been presented in an easily accessible form so far to teachers and students. These algorithms will also be of interest for the training of software engineers.Chapter 1 of Automata and Dictionaries provides the application-oriented motivation for solving the problems studied in the rest of the book. It introduces and exemplifies several key notions of lexicon-based natural language processing in a way accessible to any computer science student. Chapter 2 surveys the main solutions of the problem, using as an example a very small toy lexicon. Chapter 3 defines the underlying mathematical notions, immediately illustrating theory with practical examples, which makes this part quite readable.Chapters 4 and 5 are dedicated to the two central notions of lexicon construction: the algorithms of determinization and minimization. The standard form of both algorithms is presented, but also their variants and some special cases that occur frequently in practice. The operation of the algorithms is described step by step in examples, introducing the beginner into the world of epsilon-transitions, state heights and reverse automata.Chapter 6 goes a step further into complexity. It is based on algorithms published by scholars from 1998 to now. They are presented here with the same clarity as the preceding, more classical, algorithms. This remarkable achievement owes much to the rigorous structuration of this chapter. These algorithms have variants for transducers, which are presented in Chapter 7 with the same pedagogical skill.The last chapter studies time and space complexity of the algorithms and explains several tricks useful to speed up their operation.
explains the fundamentals of automata theory, matrices, graph theory, cryptography, coding theory, language theory, and the concepts of computability and decidability;
This classroom-tested book discusses artificial neural networks, evolutionary algorithms, fuzzy systems and Bayesian networks, covering ant colony optimization and probabilistic graphical models. Includes examples, illustrations and definitions throughout.
This practically-oriented textbook presents an accessible introduction to discrete mathematics through a substantial collection of classroom-tested exercises. Each chapter opens with concise coverage of the theory underlying the topic, reviewing the basic concepts and establishing the terminology, as well as providing the key formulae and instructions on their use. This is then followed by a detailed account of the most common problems in the area, before the reader is invited to practice solving such problems for themselves through a varied series of questions and assignments.Topics and features: provides an extensive set of exercises and examples of varying levels of complexity, suitable for both laboratory practical training and self-study; offers detailed solutions to many problems, applying commonly-used methods and computational schemes; introduces the fundamentals of mathematical logic, the theory of algorithms, Boolean algebra, graph theory, sets, relations, functions, and combinatorics; presents more advanced material on the design and analysis of algorithms, including asymptotic analysis, and parallel algorithms; includes reference lists of trigonometric and finite summation formulae in an appendix, together with basic rules for differential and integral calculus.This hands-on study guide is designed to address the core needs of undergraduate students training in computer science, informatics, and electronic engineering, emphasizing the skills required to develop and implement an algorithm in a specific programming language.
In its revised and updated edition, this book now offers coverage of such multimedia topics as 3D TV, social networks, high-efficiency video compression and conferencing, wireless and mobile networks and their attendant technologies. Includes study exercises.
Revised and updated, Specification of Software Systems builds upon the original focus on software specification with added emphasis on the practice of formal methods for specification and verification. The text covers a wide range of formal specification techniques.
Since the introduction of Hoares' Communicating Sequential Process (CSP) notation, powerful new tools have transformed CSP into a practical way of describing industrial-sized problems. This book presents the basic CSP knowledge needed to utilize those tools.
In its revised fifth edition, this book covers ethical, social and policy challenges arising from the convergence of computing and telecommunication and the spread of mobile information devices. Asks important questions about the impact of new technologies.
This book surveys theoretical computer science, presenting fundamental concepts and results. Updated and revised, the new edition includes two new chapters on nonuniform complexity, circuit complexity and parallel complexity, and randomized complexity.
The challenges of problems from international programming competitions are an effective way to improve your algorithmic and coding skills and understanding. This volume uses international programming competition-type problems to motivate the study of algorithms, programming, and other topics in computer science.
Explorations in Quantum Computing describes quantum computing in simple terms, and describes key technological hurdles that must be overcome in order to make quantum computers a reality. The text includes executable software simulations to illustrate the concepts and material.
This easy-to-follow textbook teaches Java programming from first principles, as well as covering design and testing methodologies. The text is divided into two parts. Each part supports a one-semester module, the first part addressing fundamental programming concepts, and the second part building on this foundation, teaching the skills required to develop more advanced applications.This fully updated and greatly enhanced fourth edition covers the key developments introduced in Java 8, including material on JavaFX, lambda expressions and the Stream API.Topics and features: begins by introducing fundamental programming concepts such as declaration of variables, control structures, methods and arrays; goes on to cover the fundamental object-oriented concepts of classes and objects, inheritance and polymorphism; uses JavaFX throughout for constructing event-driven graphical interfaces; includes advanced topics such as interfaces and lambda expressions, generics, collection classes and exceptions; explains file-handling techniques, packages, multi-threaded programs, socket programming, remote database access and processing collections using streams; includes self-test questions and programming exercises at the end of each chapter, as well as two illuminating case studies; provides additional resources at its associated website (simply go to springer.com and search for "Java in Two Semesters"), including a guide on how to install and use the NetBeans¿ Java IDE.Offering a gentle introduction to the field, assuming no prior knowledge of the subject, Java in Two Semesters is the ideal companion to undergraduate modules in software development or programming.
This easy-to-understand textbook presents a modern approach to learning numerical methods (or scientific computing), with a unique focus on the modeling and applications of the mathematical content.
Sign up to our newsletter and receive discounts and inspiration for your next reading experience.
By signing up, you agree to our Privacy Policy.