Amazon.com Customer Reviews
I wish every book were written like this! - Review written on December 14, 2005
Rating: 5 out of 5
27 customers found this review helpful.
This book is perhaps one of the most beautifully written books I have ever read. All the proofs presented here are elegant. When reading the proofs in this book, you can feel that one sentence logically and smoothly follows from the previous sentence. This is partly because of the elegant and effective notations adopted by the authors. [Note: Donald Knuth, one of the authors, has been one of the biggest proponents of good mathematical notations. See his book titled "Mathematical Writing".]
Other reviewers have provided a summary of this book. So, I will only say that every computer scientist and combinatorialist should read at least chapters 1, 2, 5, 7, and 9. Chapter 5 is very highly recommended. Trust me: once you have mastered these chapters, you will be able to do things your colleagues just can't. Even just familiarizing yourself with the notations in this book will help you produce proofs that you probably won't be able to otherwise. [Great ideas are of course always important in every proof - but without good notations, you probably won't be able to come up with the ideas in the first place.]
There is pretty much nothing bad about this book that I am aware of. I will just say though that it takes a lot of time and effort to acquire mastery of the material. As for my own story, I started reading chapter 1 and 2 when I just got interested in discrete mathematics. It took me about 1/2 year (part time) to get through this. I came back to this book again when I took a course on "generatingfunctionology". I found that chapter 5 and 7 were indispensable. I was also forced to reread chapter 2 again because the lecturer, as most people do, just waived his hands when it comes to manipulating sums and binomial coefficients. However, all the effort that I put in paid off in the end as I could solve problems in the final exam which all my other friends could not.
In summary, I strongly recommend this book to every computer scientist and combinatorialist. I will finally remark that, if you are serious about learning concrete mathematics, you will probably find that generating functions pop up pretty much everywhere. To understand these beasts, I highly recommend Sedgewick and Flajolet's "Introduction to Analysis of Algorithms" and "Analytic Combinatorics" (not yet published, but next-to-final draft is available at Flajolet's web site), and Wilf's "Generatingfunctionology".
Beware of great books - Review written on October 04, 2005
Rating: 5 out of 5
70 customers found this review helpful, 1 did not.
This book is excellent (5 stars) if you have the mathematical "maturity" that it assumes. If not, it will vary from 4 stars to 0 stars.
The problem is, the book looks as if it might be an entry level text and it is tempting to think that with a little extra hard work any intelligent, reasonably well-grounded mathematics undergraduate student could prove that he is a genius by mastering the content. A fair number, of course, will do just that. But many more will unnecessarily bloody their noses and egos.
Most people skip prefaces but this one shouldn't be skipped. The preface says that most of the people who have taken the course that the book is based on have been graduate students and alumni and (some) have been juniors and seniors.
To give an example of the difficulty an unwary student might find: The chapter on probability looks straightforward and well-written and it is! But it is truly useful only to students who have already studied probability theory and mastered the basic theory. The trap is that the book does, in fact, provide introductions to most of the topics covered. But in reality, they are reviews, introductions to the symbols and notation to be used and repositories for results that will be referenced throughout the book.
The prerequisites for having a profitable encounter with this book are : a good understanding of elementary number theory, probability theory and linear algebra and two years of calculus with a very good understanding of infinite series. A good knowledge of generating functions and recursive functions is also necessary. A few juniors and seniors will always be dedicated and smart enough to achieve this level of maturity but it usually takes more than four years.
In addition, while any reasonably intelligent mathematics student can learn the topics covered in this book, it is written by three master programmers and discrete mathematicians and inevitably also contains enough to challenge just about anyone (even them.) After all, the book is dedicated to Leonard Euler, possibly implying that the authors think he is among the very few persons who could have solved most (all?) of the problems.
Steep learning curve, the definitive prerequisite for TAOCP. - Review written on September 20, 2004
Rating: 4 out of 5
22 customers found this review helpful, 2 did not.
Why I got this book:
It's a great feeling to know how computers work, when I decided that I want to make a career and a life out of computers, as its truly a passion for me, I delved deeper, discovering the true beauty in the Science part of Computer Science, so I decided to get Donald Knuth' "The Art of Computer Programming" - to describe that seminal, huge work, it's like biting more than you can chew while trying to drink from a fire hose, moreover, the technical and mathematical prerequisites for the work are sometimes too demanding, they require a huge amount of experience with discrete mathematics, although I had some lectures and read some books, none came close "Concrete Mathematics", it covers, from ground up (though with a dangerously steep learning curve) a lot of discrete mathematics topics, it is by far the most extensive work I've read about Sums and really teaches the algorithmic problem solving thinking skill the authors preach so much about, with small amusing comments written by actual students of this course, a comfortable format, and very good writing skills, you can feel these guys are great professors who enjoy this material and are passionate about teaching it.
Recommended, though some better, less steep, introductionary text books are probably out there.
Enjoy.
Only one problem with this textbook - Review written on April 13, 2004
Rating: 3 out of 5
14 customers found this review helpful, 14 did not.
Basically, I like this textbook. The material is interesting, the way the authors presented the material is inspiring, and they provided a lot of jokes to make even studying for exams not that boring. But there is one big problem which made me decided to rate this book only 3 stars instead of 5 stars: the authors like to use non-standard notations. For example: m\n means "m>0 and n=mk for some integer k". One of the worst thing in scientific world is writing things others cannot read, and the authors did this by introducing many strange notations. These things makes the good work sometimes almost unreadable. This is not computer systems in which we use "cp" for the copy command and "cd" for change directory command.
What a pity the authors did that. This textbook will be perfect without those strange notations....
Fragmented writing style of some advanced math topics - Review written on September 22, 2003
Rating: 2 out of 5
40 customers found this review helpful, 35 did not.
This statement from a previous review:
"Very bright high school students have gotten through this text with little difficulty"
I dare you to present Hypergeometric functions in front of a highschool student... Most graduate students would be challenged with that!
This text is neither beautiful or elegant, and the little cutesy notes in the margins are distracting and childish.
(they are more memorable than the actual text)
Once the simplistic Towers of Hanoi and Josephus problem are presented, the authors totally ignore any problem solving and just blast into pure mathematical manipulations that are uninitiated. Why bother with a trivial example at first, and no examples for the remaining most difficult concepts?
Throughout the text are statements like "Some sequences of numbers arise so often that we give them special names"
Oh really? Where and why do they occur?
What about the sequences that do not occur frequently? The authors see no need to explain this. (Knuth: check out my expensive 3 book series, and dig for a few months)
And statements in the middle of chapters like:
"We now come to the most important idea in the whole book: generating functions."
Oh really? Why are they so important? (this is never explained) If so, why doesn't it have its own chapter, instead of being buried in a chapter on binomial coefficients without a lead-up?
Find a closed form for:
f[n] = f[n-f[n-1]] + f[n-f[n-2]]; where f[n] = n/2
(You could memorize and learn all the math in this book, and it would never help to solve this. It handily skirts the tough fundamental questions about math.)
I've never read a more fragmented presentation than this book, for important concepts.
You get the distinct impression of little kids "tee hee, look at the cool manipulations I can do, and you cant...see how smart I am??"....Knuth is laughing all the way to the bank.
Fear first, love later - Review written on December 13, 2002
Rating: 4 out of 5
19 customers found this review helpful, 2 did not.
I used this book while studying Combinatorics at the University of Warwick, a leading British institution for mathematicians. At the time, the book was a little bit overwhelming - Knuth doesn't waste any time in getting to the point of solving problems in the book. Thus, if you're the type of person who needs lots of worked examples, I would supplement this with another book, for example, Grimaldi's Discrete and Combinatorial Mathematics. But this book does belong on the bookshelf - it is a great reference, particularly because it prepares one to read The Art of Computer Programming, also by Knuth. TAOCP is the definitive series on computer science, respected by computer scientists everywhere. I guess the best way to describe Concrete Mathematics is that if you are a graduate student in CS, you should own this book. If you are a mathematically-oriented undergraduate, this book will make you really understand anything that your professors will throw at you. But, if you are not a math-lover, you will want a backup and a really nice professor :)
Please Be Discrete - Review written on July 13, 2001
Rating: 5 out of 5
138 customers found this review helpful, 4 did not.
What is "concrete" math, as opposed to other types of math? The authors explain that the title comes from the blending of CONtinuous and disCRETE math, two branches of math that many seem to like to keep asunder, though each occurs in the foundation of the other. The topics in the book, such as sums, generating functions, and number theory, are actually standard discrete math topics; however, the treatment in this text shows the inherent continuous (read: calculus) undergirding of the topics. Without calculus, generating functions would not have come to mind and their tremendous power could not be put to use in figuring out series.
The smart-aleck marginal notes notwithstanding, this is a serious math book for those who are willing to dot every i and cross every t. Unlike most math texts (esp. graduate math texts), nothing is omitted along the way. Notation is explained (=very= important), common pitfalls are pointed out (as opposed to the usual way students come across them -- by getting back bleeding exams), and what is important and what is =not= as important are indicated.
Still, I cannot leave the marginal notes unremarked; some are serious warnings to the reader. For example, in the introduction, one note remarks "I would advise the casual student to stay away from this course." Notes that advise one to skim, and there are a few, should be taken seriously. All the marginal notes come from the TAs who had to help with the text, and thus have a more nitty-gritty understanding of the difficulties students are likely to face. Still, there are plenty of puns and bad jokes to amuse the text-reader for hours: "The empty set is pointless," "But not Imbesselian," and "John .316" made me chuckle, but you have to find them for yourself.
To someone who has been through the rigors of math grad school, this book is a delight to read; to those who have not, they must keep in mind that this is a serious text and must be prepared to do some real work. Very bright high school students have gotten through this text with little difficulty. I want to note ahead of time - some of the questions in the book are serious research topics. They don't necessarily tell you that when they give you the problem; if you've worked on the problem for a week, you should turn to the answers in the back to check that there really is a solution.
That said, I would highly recommend this book to math-lovers who want some rigorous math outside of the usual fare. The formulas in here can actually come in handy "in real life", especially if one has to use math a lot.
Concrete Math--neither "abstract" nor "applied" - Review written on May 15, 2001
Rating: 5 out of 5
23 customers found this review helpful, 3 did not.
Lest others find this wonderful book as disappointing as the reviewer from Osan, Korea: note that "concrete" in the title is just meant in contrast to "abstract". But both concrete and abstract are adjectives intended only to describe different apporaches to *theoretical* math, as opposed to *applied* math, which addresses examples directly relevant to the real world (and thus is probably of more interest to engineers and their ilk). This *isn't* an applied math text. The difference between the concrete and abstract styles is that concrete math generally takes a "bottom up" tack, arising from specific given "concrete" entities, such as certain special functions, sums, sequences etc and tends to involve more derivation and calculation. In contrast typical abstract math is more "top down", proceeding, say, from axioms, perhaps even non-constructively, and tends to involve more reasoning and proving. If you dig the theoretical stuff, and like the concrete approach, this book is a treasure trove.
Excellent book, but lacking in some areas - Review written on September 07, 2000
Rating: 4 out of 5
10 customers found this review helpful, 7 did not.
Overall this is a must-have book for anyone in CS. Besides being a great read, I've found it usefull on several occasions to solve problems and it's very likely that a CS Prof will reference this book in lecture or homework problems.
However, the books mathematical notation is sometimes unique and it is not always clear were symbols and their meanings are defined. For example, in the first chapter S_n (that's S sub n) is used in place of summation notation. Then, in the exercise solutions S_n is used again but it is expected that the reader know that this is in reference to the use of S_n in a chapter example. Because S_n is non-standard notation it would have saved me much confusion if the authors had explicitly defined S_n. This seems to happen a lot and I spent a lot of time combing through the books examples looking for definitions of symbols.
Yet, despite these problems, this book is a classic.
Useful and well-written - Review written on January 30, 2000
Rating: 5 out of 5
47 customers found this review helpful, 3 did not.
This is one of those books you keep forever, purely for its utility: it's packed with formulas, techniques, examples. But more than that, the authors lead you through the techniques and explain the concepts behind them, with the goal of equipping you with the mental tools to attack any mathematical problem you encounter. And to top it off, it's well-written, and the "margin notes" provide some comic relief. The material is very dense, and it's not a book I'd recommend for casual reading: this is stuff you only work through if you're going to need it. But if you *are* going to need it, this book will make it a lot more pleasant.
Very good but w/o sufficient detail in one area - Review written on July 16, 1999
Rating: 4 out of 5
14 customers found this review helpful, 13 did not.
This book is an excellent introduction to the mathematics of algorithms, and besides featuring an engaging, chatty style, is for the most part accessible to people who do not have a tremendous amount of mathematical preparation. Some calculus is helpful, but the authors develop most of their proofs from first principles, so if you took "Calculus for Liberal Arts Majors" while in college you should still be able to learn a great deal from this book if you are interested.
The only problem is that in discussing the "Repertoire Method" of solving recurrences, they never really give a top-down presentation, and we're expected to figure it out by an example. This is unfortunate because later parts of the book build on this.
ANYONE OUT THERE WHO'S SEEN THIS AND IS WILLING & ABLE TO HELP PLEASE CONTACT ME.
However, all exercises are solved, most in reasonable detail, which makes the book particularly useful for those who for professional or other reasons develop an interest in mathematics later in life.
The title of this book is greatly misleading. - Review written on April 25, 1999
Rating: 1 out of 5
10 customers found this review helpful, 64 did not.
This is not a book on CONCRETE mathematics. If it were a book on concrete mathematics, then the authors would show how the techniques described in the book arise from having to solve real-world, CONCRETE problems that arise in science or engineering. I did not find a single example of a real-world problem in the entire book. As an engineer I have zero interest in solving abstract mathematical problems such as the Tower of Hanoi problem. Show me instead a real-world problem which I can use the recurrance relation technique to solve and I will be happy to learn the technique. If a student wants to make use of this book, he or she has two choices:
A) learn the techniques in the book and take it on faith that they will someday prove useful (a great approach for those who are strong believers in the spiritual world, but perhaps not very suitable for the average engineer interested in solving real-world problems)
B) Research every technique described in the book to find examples how it is used to solve real-world problems (an approach that will be extremely time consuming)
I don't think the average engineer, scientist, or programmer will find either of those approaches very palatable. Human beings learn best from specific to general: if you want to teach me a mathematical technique first show me how I can use it to solve a specific problem, then second show me how I can generalize that technique to solving other problems. The problem chosen should not be expressed in purely mathematical terms, but rather should be an example taken from chemistry, or physics, or computer programming, or biology, or some similar problem domain, and it should be possible to relate the results achieved with the technique back to that domain (both as an aid to understanding and to allow a check on the results). Mathematics, after all, is a tool we use to explain and describe the world we live in, and hence should be explained in terms of that world. If this approach is followed when teaching a mathematical technique, then students will learn faster, have a more thorough understanding of the technique, will be better able to remember it, and will be better able to apply it (even to problem domains different then the one chosen for the example). Unfortunately, the authors of this text clearly do not understand this basic aspect of human learning.