In order to set up a list of libraries that you have access to, you must first login or sign up. Then set up a personal list of libraries from your profile page by clicking on your user name at the top right of any screen. You also may like to try some of these bookshops , which may or may not sell this item. Separate different tags with a comma.
|Published (Last):||20 October 2013|
|PDF File Size:||4.84 Mb|
|ePub File Size:||9.82 Mb|
|Price:||Free* [*Free Regsitration Required]|
Learn more about Scribd Membership Home. Much more than documents. Discover everything Scribd has to offer, including books and audiobooks from major publishers. Start Free Trial Cancel anytime. Tremblay, R. Uploaded by Pawan Kumar Pulivarthi. Document Information click to expand document information Date uploaded Jan 22, Did you find this document useful? Is this content inappropriate? Report this Document. Flag for Inappropriate Content.
Download Now. For Later. Related titles. Carousel Previous Carousel Next. Joe L. Mott, Abraham Kandel, Theodore P. Baker Discrete mathematics for computer scientists and mathematicians Goodaire and Michael M.
Baker Discrete Mathematics for Comp. Discrete Mathematical Structures-Kolman. Jain, S. Iyengar and R. Jump to Page. Search inside document. Tremblay R. Manohar 6 cone tiny SE. All rights reserved.
McGraw-Hill computer science series Includes bibliographies 1. Electronic data processing. Machine theory. I Manohar, R. Ordering and Uniqueness of Normal Forms 5 Exercises 1- 60 Cardinality Exercises Recursion Semigroups and Monoids The exposition of such topics is usually brief, and the principal results that are summarized become prerequisites for the remainder of the text.
It is not possible to learn these topics from such a brief treatment. Nor is it possible for under- graduate students in computer science to study all the topics they are required to know by attending courses dealing with each individual topic as given by mathematics departments.
In general, the trend is to select several topics in mathematics that are essential to the study of many computer science areas and to expose the students to the mathematical prerequisites in some other way. A similar development has occurred in most engineering curricula. However, any additional mathematical courses taken by students will aid in their development of mathematical maturity.
It is not our intention to cover all topics in discrete mathematics. We have assumed that many high school students will have had some exposure to these topics. The selection of the topics was governed by our desire to introduce most of the basic terminology used in as many advanced courses in computer science as possible.
In order to motivate the students properly, we feel that it is im- portant to consider certain applications as the terminology is introduced. There are several advantages in using this approach.
Students begin to see the relevance of abstract ideas and are therefore better motivated. Moreover, they gain confidence in applying these ideas to solve practical problems. We wich to emphasize that concepts and terminology should be introduced well before they are used. Otherwise, students must invariably struggle both with the basic tools and with the subject matter to which the tools are applied.
Most of the material in this book is properly a prerequisite to so many computer science courses that it should be taught no later than at the sophomore level. The book has been written with this objective in mind. The mathematical topics to be discussed are logic, set theory, algebraic structures, Boolean algebra, graph theory, and basic computability theory. Although well-known and excellent books exist in these areas, we introduce these topics still keeping in mind that the reader will eventually use them in certain practical applications particularly related to computer science.
We have strived to introduce the theoretical material in a reasonably mathematically precise manner whenever possible, while avoiding long philosophical discussions, questions of paradoxes, and any axiomatic approach to certain theories. The topics selected will also support the more advanced courses in computer science programs such as in the areas of automata, computability, artificial intelligence, formal languages and syntactical analysis, information organization and retrieval, switching theory, computer representation of discrete structures, and pro- gramming languages.
It is hoped that a grasp of the theoretical material in this book will permit a student to understand most of the mathematical pre- liminaries which are briefly discussed at the beginning of many articles and books in the areas of computer science just mentioned. Because the relation between the mathematics and how or where it could be applied may not be clear to the reader, the computer representation of certain.
The need for discrete structures in com- puter science is motivated by the selection of certain applications from various areas in the field. Algorithms are developed for most applications, and computer programs are given for some of them. The computer representation and manip- ulation of discrete structures such as strings, trees, groups, and plexes are not discussed in great detail, but only to the extent which permits the formulation of a solution to a particular application.
Chapter 1 discusses mathematical logic. Therefore, we have gone further in our discussion of logic than is usually done in books on finite mathematics. Yet we have avoided the philo- sophical discussions and intricate details that are found in the books on mathe- matical logic meant for mathematicians and philosophers.
The chapter contains a brief introduction to the application of logic to two-state devices. Chapter 2 deals with sct theory.
Some mathematical rigor is maintained in the discussions and proofs are sometimes given, but we do not raiso the ques- tion of paradoxes and the axiomatic approach to set theory. Sets, relations, orderings, and recursive functions are discussed. The computer representation and manipulation of certain structures are introduced in this chapter.
An example of the interrelationship of set theory and logic is given. The topic of recursion and its implementation is dealt with in some detail since many pro- gramming languages permit its use. Furthermore, the concept of recursion is important in its own right because computer scientists will encounter, throughout their careers, problems where recursion is unavoidable.
The chapter concludes with an algorithm for proving theorems in the propositional calculus. Chapter 3 discusses algebraic structures. Most books in modern algebra devote almost all their attention to group theory while little is said about semi- groups and monoids. The latter are also emphasized in this chapter since it is semigroup and monoid theory which is very important in certain areas of com- puter science such as formal language theory, syntactic analysis, and automata.
This chapter contains a number of applications dealing with topics such as the compilation of Polish expressions, languages and grammars, the theory of fast-adders, and error detecting and correcting codes. Chapter 4 is concerned with Boolean algebra and its application to switching theory and sequential machines. An introduction to the minimization of Boolean functions and to its use in the logical design of digital computer systems is given. Sequential machines and their equivalence are also discussed.
Chapter 5 gives a brief introduction to graph theory. Elements of graph theory are indispensable in almost all computer science areas. Examples are given of its use in such areas as syntactic analysis, fault detection and diagnosis in computers, and minimal-path problems.
The computer representation and manipulation of graphs are also discussed so that certain important algorithms can be included. Finally, Chapter 6 gives a very brief introduction to computability theory. The equivalence of finite-state acceptors and regular grammars is shown. Finally, the concept of an effective procedure is introduced. It is shown that a Turing machine can evaluate any partial recursive function. The exercises are of both a theoretical and a programming nature and are meant to further the understanding of the application of the concepts to various areas of computer science.
Xvi PREFACE We hope that this book will be of use to computer scientists, engineers, nonmathematics students who desire an intermediate coverage of topics in discrete mathematics, and mathematicians who want to familiarize themselves with the application of the theory to computer science.
Students who have some previous background in modern logie and algebra will be able to master the material in one semester. For other students who have no previous knowl- edge of logic and algebra, this book can be used in a two-semester course. Certain topics can be selected to form a one-semester course.
The omission of the applica- tions discussed in the text will not result in any loss of continuity in the material. This book is based on the experience gained in teaching a course on discrete structures at the University of Saskatchewan at Saskatoon during the past four years. We owe a great deal to John A.
Copeck and Richard F. Deutscher, who made many valuable criticisms and suggestions throughout the entire prepara- tion and proofreading of the book. They also helped us in formulating and testing most of the algorithms.