Fuzzy Logic - das bedeutet mehr Flexibilität in der Automatisierungstechnik, Regelungstechnik, Logistik und Elektrotechnik. Die Grundlagen der vielversprechenden Technologie werden in diesem einführenden Lehrbuch aufgezeigt. Für Leser, die nicht nur die Potentiale erkennen wollen, sondern sich für die praktische Umsetzung interessieren. Die zweite Auflage wurde um einen Aufgabenteil erweitert.
Robert Kowalski demonstrates how ordinary people in their everyday life can profit from the advances of computational logic that have been developed for artificial intelligence. This book is an eye-opening read for any student who employs practical thinking, problem solving and communication skills.
This second edition continues to provide a clear introduction to formal reasoning which is both relevant to the needs of modern computer science and rigorous enough for practical application. Improvements have been made throughout, with many extra and expanded sections and exercises. The coverage of model-checking has been substantially updated.
The study of the connections between mathematical automata and for mal logic is as old as theoretical computer science itself. In the founding paper of the subject, published in 1936, Turing showed how to describe the behavior of a universal computing machine with a formula of first order predicate logic, and thereby concluded that there is no algorithm for deciding the validity of sentences in this logic. Research on the log ical aspects of the theory of finite-state automata, which is the subject of this book, began in the early 1960´s with the work of J. Richard Biichi on monadic second-order logic. Biichi´s investigations were extended in several directions. One of these, explored by McNaughton and Papert in their 1971 monograph Counter-free Automata, was the characterization of automata that admit first-order behavioral descriptions, in terms of the semigroup theoretic approach to automata that had recently been developed in the work of Krohn and Rhodes and of Schiitzenberger. In the more than twenty years that have passed since the appearance of McNaughton and Papert´s book, the underlying semigroup theory has grown enor mously, permitting a considerable extension of their results. During the same period, however, fundamental investigations in the theory of finite automata by and large fell out of fashion in the theoretical com puter science community, which moved to other concerns.
A basic issue in computer science is the complexity of problems. Computational complexity measures how much time or memory is needed as a function of the input problem size. Descriptive complexity is concerned with problems which may be described in first-order logic. By virtue of the close relationship between logic and relational databses, it turns out that this subject has important applications to databases such as analysing the queries computable in polynomial time, analysing the parallel time needed to compute a query, and the analysis of nondeterministic classes. This book is written as a graduate text and so aims to provide a reasonably self-contained introduction to this subject. The author has provided numerous examples and exercises to further illustrate the ideas presented.
Maude is a language and system based on rewriting logic. In this comprehensive account, you´ll discover how Maude and its formal tool environment can be used in three mutually reinforcing ways: as a declarative programming language, as an executable formal specification language, and as a formal verification system. Examples used throughout the book illustrate key concepts, features, and the many practical uses of Maude.
The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects - from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.
Students will master the fundamentals of Transact-SQL?and develop their own code for querying and modifying data in Microsoft SQL Server 2016. Led by a SQL Server expert, readers learn the concepts behind T-SQL querying and programming, and then apply their knowledge with exercises in each chapter. Once students understand the logic behind T-SQL, they´ll quickly learn how to write effective code.
Building distributed applications is difficult enough without having to coordinate the actions that make them work. This practical guide shows how Apache ZooKeeper helps you manage distributed systems, so you can focus mainly on application logic. Even with ZooKeeper, implementing coordination tasks is not trivial, but this book provides good practices to give you a head start, and points out caveats that developers and administrators alike need to watch for along the way. In three separate sections, ZooKeeper contributors Flavio Junqueira and Benjamin Reed introduce the principles of distributed systems, provide ZooKeeper programming techniques, and include the information you need to administer this service. * Learn how ZooKeeper solves common coordination tasks * Explore the ZooKeeper API?s Java and C implementations and how they differ * Use methods to track and react to ZooKeeper state changes * Handle failures of the network, application processes, and ZooKeeper itself * Learn about ZooKeeper?s trickier aspects dealing with concurrency, ordering, and configuration * Use the Curator high-level interface for connection management * Become familiar with ZooKeeper internals and administration tools