European Mathematical Society - 68Rxx
https://euro-math-soc.eu/msc-full/68rxx
enEssential Discrete Mathematics for Computer Science
https://euro-math-soc.eu/review/essential-discrete-mathematics-computer-science-0
<div class="field field-name-field-review-review field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><div class="tex2jax"><p>When I accepted to write this review, I did not pay much attention to the endorsements appearing in the back cover, because after all they look simply as ads trying to sell the book. Now, after reading the whole book, I looked back at them and I must say that I fully agree with their statements, so I also want to convince all of you to get this book, read and enjoy it as much as I did in the past weeks. </p>
<p>The authors have managed to pack in about 400 pages all the material that I would expect in a discrete mathematics textbook at this level, including all of the following:</p>
<p>- Proof techniques and induction,<br />
- Sets, relations, and functions,<br />
- Propositional and quantificational logic,<br />
- Directed and undirected graphs,<br />
- Finite automata and regular languages,<br />
- Order notation and complexity of algorithms,<br />
- Basic combinatorics,<br />
- Recurrence relations,<br />
- Discrete probability, and<br />
- Modular arithmetic and public key cryptography.</p>
<p>Since other textbooks cover similar material in more than one thousand denser pages, it is clear that the treatment cannot be so exhaustive and some other things have to be excluded (for example, the number of proposed exercises in each chapter of the reviewed textbook is smaller than in other textbooks on the same subject), and hence the contents faithfully correspond to the “essential” idea in the title. The book provides a comprehensive introduction to really all the essential concepts that a student of Computer Science must learn in order to understand the foundations of the discipline. </p>
<p>The textbook is written as to be self contained, requiring little algebra and calculus in the way of prerequisites, but this does not mean that it forgets about mathematical rigor; on the contrary, it begins by introducing proof techniques and then emphasizes mathematical reasoning throughout the whole development (as the authors insist at the beginning, almost all results are proved in detail), together with enough intuition to make the explanations very clear. This is also accomplished by including computing motivations which, in addition to helping the student to understand the concepts, provide a global view of the subject that otherwise can be seen as a set of disconnected pieces. Furthermore, the text is very well written and I have only found three errata and a misplaced definition in 400 pages, which is quite difficult to accomplish. The first author is already very well-known for, among other things, excellent textbooks such as “Elements of the Theory of Computation” with C. Papadimitriou, but here he has put at work all his experience combined with the software engineering expertise of the second author, and both of them together have managed to produce a remarkable textbook that is a pleasure to read; for this reason, it is also perfect for self-study at any level. </p>
<p>Although the contents of this textbook do not fit exactly the syllabus of the discrete mathematics course in my school (where more logic is included in this course at the same time that probability is taught in another mathematics course, while automata and algorithm complexity deserve a separate course each), I have already told my colleagues teaching the discrete mathematics course that this textbook should be included as supplementary material, and at the same time I have ordered some copies for our library. Because, as I said at the beginning of this review, I want to share with everybody my enjoyment of this excellent textbook.</p>
</div></div></div></div><div class="field field-name-field-review-reviewer field-type-text field-label-inline clearfix"><div class="field-label">Reviewer: </div><div class="field-items"><div class="field-item even"> </div></div></div><span class="vocabulary field field-name-field-review-author field-type-taxonomy-term-reference field-label-inline clearfix"><h2 class="field-label">Author: </h2><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/author/harry-lewis-and-rachel-zax" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Harry Lewis and Rachel Zax</a></li></ul></span><span class="vocabulary field field-name-field-review-publisher field-type-taxonomy-term-reference field-label-inline clearfix"><h2 class="field-label">Publisher: </h2><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/publisher/princeton-university-press" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">princeton university press</a></li></ul></span><div class="field field-name-field-review-pub field-type-number-integer field-label-inline clearfix"><div class="field-label">Published: </div><div class="field-items"><div class="field-item even">2019</div></div></div><div class="field field-name-field-review-isbn field-type-text field-label-inline clearfix"><div class="field-label">ISBN: </div><div class="field-items"><div class="field-item even">9780691179292</div></div></div><div class="field field-name-field-review-price field-type-text field-label-inline clearfix"><div class="field-label">Price: </div><div class="field-items"><div class="field-item even">US$ 75.00</div></div></div><div class="field field-name-field-review-pages field-type-number-integer field-label-inline clearfix"><div class="field-label">Pages: </div><div class="field-items"><div class="field-item even">408</div></div></div><span class="vocabulary field field-name-field-review-class field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/imu/mathematical-aspects-computer-science" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Mathematical Aspects of Computer Science</a></li><li class="vocabulary-links field-item odd"><a href="/imu/mathematics-science-and-technology" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Mathematics in Science and Technology</a></li></ul></span><div class="field field-name-field-review-website field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://press.princeton.edu/titles/13651.html" title="Link to web page">https://press.princeton.edu/titles/13651.html</a></div></div></div><span class="vocabulary field field-name-field-review-msc field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/msc/68-computer-science" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">68 Computer science</a></li></ul></span><span class="vocabulary field field-name-field-review-msc-full field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/msc-full/68rxx" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">68Rxx</a></li></ul></span><span class="vocabulary field field-name-field-review-msc-other field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/msc-full/68r01" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">68R01</a></li></ul></span>Wed, 15 May 2019 15:32:26 +0000Narciso Marti-Oliet49349 at https://euro-math-soc.euhttps://euro-math-soc.eu/review/essential-discrete-mathematics-computer-science-0#commentsEssential Discrete Mathematics for Computer Science
https://euro-math-soc.eu/review/essential-discrete-mathematics-computer-science
<div class="field field-name-field-review-review field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><div class="tex2jax"><p>One may wonder whether physical quantities are discrete or continuous. Calculus has certainly helped to model all kinds of physical phenomena, but when digging deep enough, we are confronted with quantum physical aspects that show a more discrete character of nature. When looking at a large scale, then it is generally assumed that our universe is immense but finite. So we might consider the physical world to be a finite and discrete system.</p>
<p>Digital computers are also by definition finite and discrete, but at a much smaller scale than the cosmological universe and coarser than the subatomic level, although modern basic hardware components using nanotechnology are scraping against an atomic scale. The software that runs on this hardware is essentially a sequence of bits describing how bits are transformed into bits, and hence also this is finite and discrete. So one may say that calculus formulates continuous models as approximation of a discrete reality and numerical analysis simulates these models on computers by producing a discrete approximation at a much coarser level of the continuous models.</p>
<p>To describe the behaviour of a computer, it is clear that it can be in many, but eventually, only a finite number of different states. No wonder that students in computer science will have to learn about discrete mathematics. This involves traditionally graphs, Boolean calculus, complexity, and sometimes also algebraic relations and structures like (finite) groups, rings, etc.</p>
<p>In the early days of computer science, it was the playground of engineers and mathematicians who simulated their numerical models. Therefore many of the "discrete mathematics courses for computer science" were given to mathematics or engineering students who wanted to specialize in computers. However computer science is now a mature topic in its own right, and students of computer science may not have the traditional mathematical background of previous generations. This book is taking this observation into account, and starts at a very elementary mathematical level, even explaining proof techniques, while introducing the first concepts of induction, sets, formal logic,... Although starting with a very elementary introduction, not all the chapters are at this introductory level, and at some point require the introduction of calculus elements like limits, infinite series, integrals, and de l'Hôpital's rule. The text is largely self-contained. All the required concepts and notations are defined, and all the statements are proved in full. A computer could be used occasionally to solve the exercises but one can perfectly do without.</p>
<p>The text has 31 relatively short chapters, each followed by an itemized summary and about a dozen exercises. Some of the chapters are related, like for example the ones on probability, but others can be skipped without a problem. The main global topics include formal logic, graphs, automata, and complexity. The pages have a wide outside margin where all the notes and illustrations are included.</p>
<p>To illustrate how the chapters are built up, let's look at the first one which is an illustration of the pigeonhole principle. A simple concept, and yet, it starts with ideas about a mathematical theorem which is all about formulating and proving a general proposition, rather than just a particular case, but it runs up to the fundamental theorem of arithmetic (every positive integer is a unique product of prime numbers) and the proof that there are infinitely many prime numbers. Further proof techniques are illustrated with other (elementary) results from number theory.</p>
<p>The book continues with sets, used to introduce relations and functions, and induction lead to countable sets, but also to strings generated from an alphabet using syntax rules. Venn diagrams are an introduction to propositional logic, Boolean algebra, and logic circuits.</p>
<p>Graphs are a major part and return in several chapters. They are first introduced by describing a computer model as a discrete state space machine that executes an algorithm. This is a strange choice to see a graph appear for the first time, but it may be motivating for computer science students. However, graphs are studied for their own right: directed and undirected graphs, connectivity, trees, and coloring. Previous topics are retraced with finite automata to construct and analyse strings.</p>
<p>Two mathematical intermezzos introduce limits, integrals, series, and big-O and small-o notation to define orders of magnitude and another one defines infinite summations and series expansions. These are prerequisites to deal with counting problems (combinatorics), discrete probabilities (including conditional probability and Bayes's theorem). Complexity theory might have been another application, but that is not included. The two chapters about modular arithmetic and some elements of cryptography conclude the book.</p>
<p>This is a relatively low level introduction to some elements of discrete mathematics for students in computer science with only a minimal mathematical background. It has a pleasant lay-out for studying, but is a bit overweight (bout 1.2 kg) to take it along. The number of exercises is limited but sufficient for the depth at which the subjects are treated. There are many text books that treat the same subjects (most of them at a higher level though), but there are not many that take this particular approach.</p>
</div></div></div></div><div class="field field-name-field-review-reviewer field-type-text field-label-inline clearfix"><div class="field-label">Reviewer: </div><div class="field-items"><div class="field-item even">Adhemar Bultheel</div></div></div><div class="field field-name-field-review-desc field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><div class="tex2jax"><p>This is a textbook about discrete mathematics. It starts at a very elementary mathematical level explaining sets, relations and functions introducing the pigeon hole principle, proof techniques and induction, and continuing with principles of formal logic, Boolean algebra, graph theory, automata, combinatorics, and discrete probability.</p>
</div></div></div></div><span class="vocabulary field field-name-field-review-author field-type-taxonomy-term-reference field-label-inline clearfix"><h2 class="field-label">Author: </h2><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/author/harry-lewis" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Harry Lewis</a></li><li class="vocabulary-links field-item odd"><a href="/author/rachel-zax" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Rachel Zax</a></li></ul></span><span class="vocabulary field field-name-field-review-publisher field-type-taxonomy-term-reference field-label-inline clearfix"><h2 class="field-label">Publisher: </h2><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/publisher/princeton-university-press" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">princeton university press</a></li></ul></span><div class="field field-name-field-review-pub field-type-number-integer field-label-inline clearfix"><div class="field-label">Published: </div><div class="field-items"><div class="field-item even">2019</div></div></div><div class="field field-name-field-review-isbn field-type-text field-label-inline clearfix"><div class="field-label">ISBN: </div><div class="field-items"><div class="field-item even">9780691179292 (hbk); 9780691190617 (ebk)</div></div></div><div class="field field-name-field-review-price field-type-text field-label-inline clearfix"><div class="field-label">Price: </div><div class="field-items"><div class="field-item even">USD 75.00 (hbk)</div></div></div><div class="field field-name-field-review-pages field-type-number-integer field-label-inline clearfix"><div class="field-label">Pages: </div><div class="field-items"><div class="field-item even">408</div></div></div><span class="vocabulary field field-name-field-review-class field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/imu/combinatorics" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Combinatorics</a></li><li class="vocabulary-links field-item odd"><a href="/imu/mathematical-aspects-computer-science" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Mathematical Aspects of Computer Science</a></li><li class="vocabulary-links field-item even"><a href="/imu/mathematics-education-and-popularization-mathematics" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Mathematics Education and Popularization of Mathematics</a></li></ul></span><div class="field field-name-field-review-website field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://press.princeton.edu/titles/13651.html" title="Link to web page">https://press.princeton.edu/titles/13651.html</a></div></div></div><span class="vocabulary field field-name-field-review-msc field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/msc/68-computer-science" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">68 Computer science</a></li></ul></span><span class="vocabulary field field-name-field-review-msc-full field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/msc-full/68-01" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">68-01</a></li></ul></span><span class="vocabulary field field-name-field-review-msc-other field-type-taxonomy-term-reference field-label-hidden"><ul class="vocabulary-list"><li class="vocabulary-links field-item even"><a href="/msc-full/68rxx" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">68Rxx</a></li><li class="vocabulary-links field-item odd"><a href="/msc-full/05-01" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">05-01</a></li></ul></span>Sun, 14 Apr 2019 06:50:12 +0000Adhemar Bultheel49286 at https://euro-math-soc.euhttps://euro-math-soc.eu/review/essential-discrete-mathematics-computer-science#comments