Preface A journey of a thousand miles begins with a single step. - - A Chinese proverb
p
eople often ask: What is discrete mathematics? It's the mathematics of discrete (distinct and disconnected) objects. In other words, it is the study of discrete objects and relationships that bind them. The geometric representations of discrete objects have gaps in them. For example, integers are discrete objects, therefore (elementary) number theory, for instance, is part of discrete mathematics; so are linear algebra and abstract algebra. On the other hand, calculus deals with sets of connected (without any gaps) objects. The set of real numbers and the set of points on a plane are two such sets; they have continuous pictorial representations. Therefore, calculus does not belong to discrete mathematics, but to continuous mathematics. However, calculus is relevant in the study of discrete mathematics. The sets in discrete mathematics are often finite or countable, whereas those in continuous mathematics are often uncountable. Interestingly, an analogous situation exists in the field of computers. Just as mathematics can be divided into discrete and continuous mathematics, computers can be divided into digital and analog. Digital computers process the discrete objects 0 and 1, whereas analog computers process continuous d a t a ~ t h a t is, data obtained through measurement. Thus the terms discrete and continuous are analogous to the terms digital and analog, respectively. The advent of modern digital computers has increased the need for understanding discrete mathematics. The tools and techniques of discrete mathematics enable us to appreciate the power and beauty of mathematics in designing problem-solving strategies in everyday life, especially in computer science, and to communicate with ease in the language of discrete mathematics.
The Realization of a Dream
This book is the fruit of many years of many dreams; it is the end-product of my fascination for the myriad applications of discrete mathematics to a variety of courses, such as Data Structures, Analysis of Algorithms, Programming Languages, Theory of Compilers, and Databases. Data structures and Discrete Mathematics compliment each other. The information in this book is applicable to quite a few areas in mathematics; discrete xiii
Preface
xiv
mathematics is also an excellent preparation for number theory and abstract
algebra. A logically conceived, self-contained, well-organized, and a user-friendly book, it is suitable for students and amateurs as well; so the language employed is, hopefully, fairly simple and accessible. Although the book features a well-balanced mix of conversational and formal writing style, mathematical rigor has not been sacrificed. Also great care has been taken to be attentive to even minute details.
Audience The book has been designed for students in computer science, electrical engineering, and mathematics as a one- or two-semester course in discrete mathematics at the sophomore/junior level. Several earlier versions of the text were class-tested at two different institutions, with positive responses from students.
Prerequisites No formal prerequisites are needed to enjoy the material or to employ its power, except a very strong background in college algebra. A good background in pre-calculus mathematics is desirable, but not essential. Perhaps the most important requirement is a bit of sophisticated mathematical maturity: a combination of patience, logical and analytical thinking, motivation, systematism, decision-making, and the willingness to persevere through failure until success is achieved. Although no programming background is required to enjoy the discrete mathematics, knowledge of a structured programming language, such as Java or C + +, can make the study of discrete mathematics more rewarding.
Coverage The text contains in-depth coverage of all major topics proposed by professional associations for a discrete mathematics course. It emphasizes problem-solving techniques, pattern recognition, conjecturing, induction, applications of varying nature, proof techniques, algorithm development, algorithm correctness, and numeric computations. Recursion, a powerful problem-solving strategy, is used heavily in both mathematics and computer science. Initially, for some students, it can be a bitter-sweet and demanding experience, so the strategy is presented with great care to help amateurs feel at home with this fascinating and frequently used technique for program development. This book also includes discussions on Fibonacci and Lucas numbers, Fermat numbers, and figurate numbers and their geometric representations, all excellent tools for exploring and understanding recursion.
Preface
xv
A sufficient amount of theory is included for those who enjoy the beauty in the development of the subject, and a wealth of applications as well for those who enjoy the power of problem-solving techniques. Hopefully, the student will benefit from the nice balance between theory and applications. Optional sections in the book are identified with an asterisk (.) in the left margin. Most of these sections deal with interesting applications or discussions. They can be omitted without negatively affecting the logical development of the topic. However, students are strongly encouraged to pursue the optional sections to maximize their learning.
Historical Anecdotes and Biographies Biographical sketches of about 60 mathematicians and computer scientists who have played a significant role in the development of the field are threaded into the text. Hopefully, they provide a h u m a n dimension and attach a h u m a n face to major discoveries. A biographical index, keyed to page, appears on the inside of the back cover for easy access.
Examples and Exercises Each section in the book contains a generous selection of carefully tailored examples to clarify and illuminate various concepts and facts. The backbone of the book is the 560 examples worked out in detail for easy understanding. Every section ends with a large collection of carefully prepared and wellgraded exercises (more than 3700 in total), including thought-provoking true-false questions. Some exercises enhance routine computational skills; some reinforce facts, formulas, and techniques; and some require mastery of various proof techniques coupled with algebraic manipulation. Often exercises of the latter category require a mathematically sophisticated mind and hence are meant to challenge the mathematically curious. Most of the exercise sets contain optional exercises, identified by the letter o in the left margin. These are intended for more mathematically sophisticated students. Exercises marked with one asterisk (.) are slightly more advanced than the ones that precede them. Double-starred (**) exercises are more challenging than the single-starred; they require a higher level of mathematical maturity. Exercises identified with the letter c in the left margin require a calculus background; they can be omitted by those with no or minimal calculus. Answers or partial solutions to all odd-numbered exercises are given at the end of the book.
Foundation Theorems are the backbones of mathematics. Consequently, this book contains the various proof techniques, explained and illustrated in detail.
Preface
xvl
They provide a strong foundation in problem-solving techniques, algorithmic approach, verification and analysis of algorithms, as well as in every discrete mathematics topic needed to pursue computer science courses such as Data Structures, Analysis of Algorithms, Programming Languages, Theory of Compilers, Databases, and Theory of Computation.
Proofs Most of the concepts, definitions, and theorems in the book are illustrated with appropriate examples. Proofs shed additional light on the topic and enable students to sharpen their problem-solving skills. The various proof techniques appear throughout the text.
Applications Numerous current and relevant applications are woven into the text, taken from computer science, chemistry, genetics, sports, coding theory, banking, casino games, electronics, decision-making, and gambling. They enhance understanding and show the relevance of discrete mathematics to everyday life. A detailed index of applications, keyed to pages, is given at the end of the book. Algorithms Clearly written algorithms are presented throughout the text as problemsolving tools. Some standard algorithms used in computer science are developed in a straightforward fashion; they are analyzed and proved to enhance problem-solving techniques. The computational complexities of a number of standard algorithms are investigated for comparison. Algorithms are written in a simple-to-understand pseudocode that can easily be translated into any programming language. In this pseudocode: 9 Explanatory comments are enclosed within the delimeters (* and *). 9 The body of the algorithm begins with a B e g i n and ends in an E n d ; they serve as the outermost parentheses. 9 Every compound statement begins with a b e g i n and ends in an end; again, they serve as parentheses. In particular, for easy readability, a while (for) loop with a compound statement ends in e n d w h i l e (endfor).
Chapter Summaries Each chapter ends with a summary of important vocabulary, formulas, and properties developed in the chapter. All the terms are keyed to the text pages for easy reference and a quick review.
Preface
xvii
Review and Supplementary Exercises Each chapter summary is followed by an extensive set of well-constructed review exercises. Used along with the summary, these provide a comprehensive review of the chapter. Chapter-end supplementary exercises provide additional challenging opportunities for the mathematically sophisticated and curious-minded for further experimentation and exploration. The book contains about 950 review and supplementary exercises.
Computer Assignments Over 150 relevant computer assignments are given at the end of chapters. They provide hands-on experience with concepts and an opportunity to enhance programming skills. A computer algebra system, such as Maple, Derive, or Mathematica, or a programming language of choice can be used.
Exploratory Writing Projects Each chapter contains a set of well-conceived writing projects, for a total of about 600. These expository projects allow students to explore areas not pursued in the book, as well as to enhance research techniques and to practice writing skills. They can lead to original research, and can be assigned as group projects in a real world environment. For convenience, a comprehensive list of references for the writing projects, compiled from various sources, is provided in the S t u d e n t ' s Solutions Manual.
Enrichment Readings Each chapter ends with a list of selected references for further exploration and enrichment. Most expand the themes studied in this book.
Numbering System A concise numbering system is used to label each item, where an item can be an algorithm, figure, example, exercises, section, table, or theorem. Item m . n refers to item n in Chapter "m". For example, Section 3.4 is Section 4 in Chapter 3.
Special Symbols Colored boxes are used to highlight items that may need special attention. The letter o in the left margin of an exercise indicates that it is optional, whereas a c indicates that it requires the knowledge of calculus. Besides, every theorem is easily identifiable, and the end of every proof and example
Preface
xvill
is marked with a solid square (l l). An asterisk (.) next to an exercise indicates that it is challenging, whereas a double-star (**) indicates that it is even more challenging. While " - " stands for equality, the closely related symbol "~" means is approximately equal to: 0 C
II
optional exercises requires a knowledge of calculus end of a proof or a solution a challenging exercise a more challenging exercise is equal to is approximately equal to
Abbreviations For the sake of brevity, four useful abbreviations are used throughout the text: LHS, RHS, PMI, and IH: LHS RHS PMI IH
Left-Hand Side Right-Hand Side Principle of Mathematical Induction Inductive Hypothesis
Symbols Index An index of symbols used in the text and the page numbers where they occur can be found inside the front and back covers.
Web Links The World Wide Web can be a useful resource for collecting information about the various topics and algorithms. Web links also provide biographies and discuss the discoveries of major mathematical contributors. Some Web sites for specific topics are listed in the Appendix.
Student's Solutions Manual The Student's Solutions Manual contains detailed solutions of all oddnumbered exercises. It also includes suggestions for studying mathematics, and for preparing to take an math exam. The Manual also contains a comprehensive list of references for the various writing projects and assignments.
Preface
xix
Instructor's Manual
The Instructor's Manual contains detailed solutions to all even-numbered exercises, two sample tests and their keys for each chapter, and two sample final examinations and their keys. Acknowledgments
A number of people, including many students, have played a major role in substantially improving the quality of the manuscript through its development. I am truly grateful to every one of them for their unfailing encouragement, cooperation, and support. To begin with, I am sincerely indebted to the following reviewers for their unblemished enthusiasm and constructive suggestions: Gerald Alexanderson Stephen Brick Neil Calkin Andre Chapuis Luis E. Cuellar H. K. Dai Michael Daven Henry Etlinger Jerrold R. Griggs John Harding Nan Jiang Warren McGovern Tim O'Neil Michael O'Sullivan Stanley Selkow
Santa Clara University University of South Alabama Clemson University Indiana University McNeese State University Oklahoma State University Mt. St. Mary College Rochester Institute of Technology University of South Carolina New Mexico State University University of South Dakota Bowling Green State University University of Notre Dame San Diego State University Worcester Polytechnic Institute
Thanks also go to Henry Etlinger of Rochester Institute of Technology and Jerrold R. Griggs of the University of South Carolina for reading the entire manuscript for accuracy; to Michael Dillencourt of the University of California at Irvine, and Thomas E. Moore of Bridgewater State College for preparing the solutions to the exercises; and to Margarite Roumas for her excellent editorial assistance. My sincere thanks also go to Senior Editor, Barbara Holland, Production Editor, Marcy Barnes-Henrie, Copy Editor, Kristin Landon, and Associate Editor, Thomas Singer for their devotion, cooperation, promptness, and patience, and for their unwavering support for the project. Finally, I must accept responsibility for any errors that may still remain. I would certainly appreciate receiving comments about any unwelcome surprises, alternate or better solutions, and exercises, puzzles, and applications you have enjoyed.
Framingham, Massachusetts September 19, 2003
Thomas Koshy
[email protected]
A W o r d to t h e S t u d e n t Tell me a n d I will forget. S h o w me a n d I will remember. Involve me a n d I will u n d e r s t a n d . n
Confucius
The SALT of Life Mathematics is a science; it is an art; it is a precise and concise language; and it is a great problem-solving tool. Thus mathematics is the SALT of life. To learn a language, such as Greek or Russian, first you have to learn its alphabet, grammar, and syntax; you also have to build up a decent vocabulary to speak, read, or write. Each takes a lot of time and practice.
The Language of Mathematics Because mathematics is a concise language with its own symbolism, vocabulary, and properties (or rules), to be successful in mathematics, you must know them well and be able to apply them. For example, it is important to know that there is a difference between perimeter and area, area and volume, factor and multiple, divisor and dividend, hypothesis and hypotenuse, algorithm and logarithm, reminder and remainder, computing and solving, disjunction and destruction, conjunction and construction, and negation and negative. So you must be fluent in the language of mathematics, just like you need to be fluent in any foreign language. So keep speaking the language of mathematics. Although mathematics is itself an unambiguous language, algebra is the language of mathematics. Studying algebra develops confidence, improves logical and critical thinking, and enhances what is called mathematical maturity, all needed for developing and establishing mathematical facts, and for solving problems. This book is written in a clear and concise language that is easy to understand and easy to build on. It presents the essential (discrete) mathematical tools needed to succeed in all undergraduate computer science courses.
Theory and Applications This book features a perfect blend of both theory and applications. Mathematics does not exist without its logically developed theory; in fact, theorems are like the steel beams of mathematics. So study the various xxi
xxii
A Wordto the Student proof techniques, follow the various proofs presented, and try to reproduce them in your own words. Whenever possible, create your own proofs. Try to feel at home with the various methods and proofs. Besides developing a working vocabulary, pay close attention to facts, properties, and formulas, and enjoy the beautiful development of each topic. This book also draws on a vast array of interesting and practical applications to several disciplines, especially to computer science. These applications are spread throughout the book. Enjoy them, and appreciate the power of mathematics that can be applied to a variety of situations, many of which are found in business, industry, and scientific discovery in today's workplace.
Problem-Solving Strategies To master mathematics, you must practice it; that is, you must apply and do mathematics. You must be able to apply previously developed facts to solve problems. For this reason, this book emphasizes problem-solving techniques. You will encounter two types of exercises in the exercise sets: The first type is computational, and the second type is algebraic and theoretical. Being able to do computational exercises does not automatically imply that you are able to do algebraic and theoretical exercises. So do not get discouraged, but keep trying until you succeed. Of course, before you attempt the exercises in any section, you will need to first master the section; know the definitions, symbols, and facts, and redo the examples using your own steps. Since the exercises are graded in ascending order of difficulty, always do them in order; save the solutions and refine them as you become mathematically more sophisticated. The chapter-end review exercises give you a chance to re-visit the chapter. They can be used as a quick review of important concepts.
Recursion Recursion is an extremely powerful problem-solving strategy, used often in mathematics and computer science. Although some students may need a lot of practice to get used to it, once you know how to approach problems recursively, you will certainly appreciate its great power.
Stay Actively Involved Professional basketball players Magic Johnson, Larry Bird, and Michael Jordan didn't become superstars overnight by reading about basketball or by watching others play on television. Besides knowing the rules and the skills needed to play, they underwent countless hours of practice, hard work, a lot of patience and perseverance, willingness to meet failures, and determination to achieve their goal.
A Word to the Student
xxiii
Likewise, you cannot master mathematics by reading about it or by simply watching your professor do it in class; you have to get involved and stay involved by doing it every day, just as skill is acquired in a sport. You can learn mathematics only in small, progressive steps, building on skills you have already mastered. Remember the saying: Rome wasn't built in a day. Keep using the vocabulary and facts you have already studied. They must be fresh in your mind; review them every week.
A Few Suggestions for Learning Mathematics 9 Read a few sections before each class. You might not fully understand the material, but you'll follow it far better when your professor discusses it in class. In addition, you will be able to ask more questions in class and answer more questions. 9 Whenever you study the book, make sure you have a pencil and enough paper to write down definitions, theorems, and proofs, and to do the exercises. 9 Return to review the material taught in class later in the same day. Read actively; do not just read as if it was a novel or a newspaper. Write down the definitions, theorems, and properties in your own words, without looking in your notes or the book. Good note-taking and writing aid retention. Re-write the examples, proofs, and exercises done in class, all in your own words. If you find them too challenging, study them again and try again; continue until you succeed. 9 Always study the relevant section in the text and do the examples there; then do the exercises at the end of the section. Since the exercises are graded in order of difficulty, do them in order. Don't skip steps or write over previous steps; this way you'll progress logically, and you can locate and correct your errors. If you can't solve a problem because it involves a new term, formula, or some property, then re-study the relevant portion of the section and try again. Don't assume that you'll be able to do every problem the first time you try it. Remember, practice is the only way to Success.
Solutions Manual The Student's Solutions Manual contains additional helpful tips for studying mathematics, and preparing for and taking an examination in mathematics. It also gives detailed solutions to all odd-numbered exercises and a comprehensive list of references for the various exploratory writing projects.
A Final Word Mathematics is no more difficult than any other subject. If you have the motivation, and patience to learn and do the work, then you will enjoy
xxiv
A Word to the Student
the beauty and power of discrete mathematics; you will see that discrete mathematics is really fun. Keep in mind that learning mathematics is a step-by-step process. Practice regularly and systematically; review earlier chapters every week, since things must be fresh in your mind to apply and build on them. In this way, you will enjoy the subject, feel confident, and to explore more. The name of the game is practice, so practice, practice, practice. I look forward to hearing from you with your comments and suggestions. In the meantime, enjoy the beauty and power of mathematics. Thomas Koshy
Chapter 1
The L a n g u a g e of Logic Symbolic logic has been disowned by many logicians on the plea that its interest is mathematical and by many mathematicians on the plea that its interest is logical. - - A . N. W H I T E H E A D
L
ogic is the study of the principles and techniques of reasoning. It originated with the ancient Greeks, led by the philosopher Aristotle, who is often called the father of logic. However, it was not until the 17th century that symbols were used in the development of logic. German philosopher and mathematician Gottfried Leibniz introduced symbolism into logic. Nevertheless, no significant contributions in symbolic logic were made until those of George Boole, an English mathematician. At the age of 39, Boole published his outstanding work in symbolic logic, A n Investigation of the L a w s of Thought. Logic plays a central role in the development of every area of learning, especially in mathematics and computer science. Computer scientists, for example, employ logic to develop programming languages and to establish the correctness of programs. Electronics engineers apply logic in the design of computer chips. This chapter presents the fundamentals of logic, its symbols, and rules to help you to think systematically, to express yourself in precise and concise terms, and to make valid arguments. Here are a few interesting problems we shall pursue in this chapter: 9 Consider the following two sentences, both There are more residents in New York City head of any resident. No resident is totally sion: Is it true that at least two residents hairs? (R. M. Smullyan, 1978)
true: than there are hairs on the bald. What is your concluhave the same number of
9 There are two kinds of inhabitants, "knights" and "knaves," on an island. Knights always tell the truth, whereas knaves always lie. Every inhabitant is either a knight or a knave. Tom and Dick are two residents. Tom says, "At least one of us is a knave." What are Tom and Dick?
Chapter I The Language of Logic
A r i s t o t l e (384-322 B.C.), o n e of the greatest philosophers in Western culture, was born in Stagira, a small town in northern Greece. His father was the personal physician of the king of Macedonia. Orphaned young, Aristotle was . ~,; ~" i. ~'' % ~ ,,. "-":. ;'i ' . ' ~ ' raised by a guardian. At the age of 18, Aristotle entered Plato's Academy in Athens. He was the "brightest and most learned student" at the Academy which he left when Plato died in 34 7 B.C. About 342 B.C., the king of Macedonia invited him to supervise the education of his young son, Alexander, who later became Alexander the Great. Aristotle taught him until 336 B.C., when the youth became ruler following the assassination of his father. ...-*:4 ......}-"~:~i:~:.r Around 334 B.C., Aristotle returned to Athens and founded a school called the Lyceum. His philosophy and followers were called peripatetic, a Greek word meaning "walking around," since Aristotle taught his students while walking with them. The Athenians, perhaps resenting his relationship with Alexander the Great, who had conquered them, accused him of impiety soon after the Emperor's death in 323 B.C. Aristotle, knowing the fate of Socrates, who had been condemned to death on a similar charge, fled to Chalcis, so the Athenians would not "sin twice against philosophy." He died there the following year.
W h a t are t h e y if T o m says, " E i t h e r I ' m a k n a v e or Dick is a k n i g h t " ? (R. M. S m u l l y a n , 1978) 9 Are t h e r e positive i n t e g e r s t h a t can be e x p r e s s e d as t h e s u m of t w o d i f f e r e n t cubes in two d i f f e r e n t ways? 9 Does t h e f o r m u l a E ( n ) = n 2 - n + 41 yield a p r i m e n u m b e r for e v e r y positive i n t e g e r n?
A d e c l a r a t i v e s e n t e n c e t h a t is e i t h e r t r u e or false, b u t not both, is a p r o p o s i t i o n (or a s t a t e m e n t ) , w h i c h we will d e n o t e by t h e l o w e r c a s e l e t t e r p, q, r, s, or t. T h e v a r i a b l e s p, q, r, s, or t are b o o l e a n v a r i a b l e s (or l o g i c variables). T h e following s e n t e n c e s are propositions: (1) (2) (3) (4)
S o c r a t e s w a s a G r e e k philosopher. 3+4=5. 1 + 1 = 0 a n d t h e m o o n is m a d e of g r e e n cheese. If i = 2, t h e n roses are red.
T h e following s e n t e n c e s a r e not propositions: 9 Let m e go!
(exclamation)
9 x+3=5
(x is an u n k n o w n . )
1.1
Propositions
B a r o n Gottfried Wilhelm Leibniz (1646-1716), an outstanding German mathematician, philosopher, physicist, diplomat, and linguist, was born into a Lutheran family. The son of a professor of philosophy, he "grew up to be a genius with encylopedic knowledge." He had taught himself Latin, Greek, and philosophy before entering the University of Leipzig at age 15 as a law student. There he read the works of great scientists and philosophers such as Galileo, Francis Bacon, and Rend Descartes. Because of his youth, Leipzig refused to award him the degree of the doctor of laws, so he left his native city forever. During 1663-1666, he attended the universities of Jena and Altdorf, and receiving his doctorate from the latter in 1666, he began legal services for the 7 Elector of Mainz. After the Elector's death, Leibniz pursued scientific studies. In 1672, he built a calculating machine that could multiply and divide and presented it to the Royal Society in London the following year. In late 1675, Leibniz laid the foundations of calculus, an honor he shares with Sir Isaac Newton. He discovered the fundamental theorem of calculus, and invented the popular notations--d/dx for differentiation and f for integration. He also introduced such modern notations as dot for multiplication, the decimal point, the equal sign, and the colon for ratio. From 1676, until his death, Leibniz worked for the Duke of Brunswick at Hanover and his estate after the duke's death in 1680. He played a key role in the founding of the Berlin Academy of Sciences in 1700. Twelve years later, Leibniz was appointed councilor of the Russian Empire and was given the title of baron by Peter the Great. Suffering greatly from gout, Leibniz died in Hanover. He was never married. His works influenced such diverse disciplines as theology, philosophy, mathematics, the natural sciences, history, and technology. , ..........
Lb~,
9 Close the door!
(command)
9 Kennedy was a great president of the United States.
(opinion)
9 What is my line?
(interrogation)
1
Truth Value
The truthfulness or falsity of a proposition is called its t r u t h v a l u e , denoted by T(true) and F(false), respectively. (These values are often denoted by 1 and 0 by computer scientists.) For example, the t r u t h value of statement (1) in Example 1.1 is T and that of statement (2) is F. Consider the sentence, This sentence is false. It is certainly a valid declarative sentence, but is it a proposition? To answer this, assume the sentence is true. But the sentence says it is false. This contradicts our assumption. On the other hand, suppose the sentence is false. This implies the sentence
Chapter I The Language of Logic
George Boole (1815-1864), the son of a cobbler whose main interests were mathematics and the making of optical instruments, was born in Lincoln, England. Beyond attending a local elementary school and briefly a commercial school, Boole was self-taught in mathematics and the classics. When his father's business failed, he started working to support the family. At 16, he began his teaching career, opening a school of his own four years later in Lincoln. In his leisure time, Boole read mathematical journals at the Mechanics Institute. There he grappled with the works of English physicist and mathematician Sir Isaac Newton and French mathematicians Pierre-Simon Laplace and Joseph-Louis Lagrange. In 1839, Boole began contributing original papers on differential equations to The Cambridge Mathematics Journal and on analysis to the Royal Society. In 1844, he was awarded a Royal Medal by the Society for his contributions to analysis; he was elected a fellow of the Society in 1857. Developing novel ideas in logic and symbolic reasoning, he published his first contribution to symbolic logic, The Mathematical Analysis of Logic, in 184 7. His publications played a key role in his appointment as professor of mathematics at Queen's College, Cork, Ireland, in 1849, although he lacked a university education. In 1854, he published his most important work, An Investigation to the Laws of Thought, in which he presented the algebra of logic now known as boolean algebra (see Chapter 12). The next year he married Mary Everest, the niece of Sir George Everest, for whom the mountain is named. In addition to writing about 50 papers, Boole published two textbooks, Treatise on Differential Equations (1859) and Treatise on the Calculus of Finite Differences; both were used as texts in the United Kingdom for many years. A conscientious and devoted teacher, Boole died of pneumonia in Cork. .....
I
1
is true, which again contradicts our assumption. Thus, if we assume t h a t the sentence is true, it is false; and if we assume t h a t it is false, it is true. It is a meaningless and self-contradictory sentence, so it is not a proposition, but a p a r a d o x . The t r u t h value of a proposition may not be known for some reason, b u t t h a t does not prevent it from being a proposition. For example, around 1637, the F r e n c h m a t h e m a t i c a l genius Pierre-Simon de F e r m a t conjectured t h a t the equation x n + yn = z n has no positive integer solutions, where n >_ 3. His conjecture, known as F e r m a t ' s L a s t " T h e o r e m , " was one of the celebrated unsolved problems in n u m b e r theory, until it was proved in 1993 by the English m a t h e m a t i c i a n Andrew J. Wiles (1953-) of Princeton University. Although the t r u t h value of the conjecture eluded m a t h e m a t i c i a n s for over three centuries, it was still a proposition! Here is a n o t h e r example of such a proposition. In 1742 the P r u s s i a n m a t h e m a t i c i a n Christian Goldbach conjectured t h a t every even integer greater t h a n 2 is the sum of two primes, not necessarily distinct. For example, 4 - 2 + 2, 6 - 3 + 3, and 18 = 7 + 11. It has been shown true for every
1.1 Propositions
F e r m a t (1601-1665) was born near Toulouse as the son of a leather merchant. A lawyer by profession, he devoted his leisure time to mathematics. Although he published almost none of his discoveries, he did correspond with contemporary mathematicians. Fermat contributed to several branches of mathematics, but he is best known for his work in number theory. Many of his results appear in margins of his copy of the works of the Greek mathematician Diophantus (250 A.D. ?). He wrote the following about his famous conjecture: "I have discovered a truly wonderful proof, but the margin is too small to contain it."
C h r i s t i a n Goldbach (1690-1764) was born in K6nigsberg, Prussia. He studied medicine and mathematics at the University of K6nigsberg and became professor of mathematics at the Imperial Academy of Sciences in St. Petersburg in 1725. In 1728, he moved to Moscow to tutor Tsarevich Peter H and his cousin Anna of Courland. From 1729 to 1763, he corresponded with Euler on number theory. He returned to the Imperial Academy in 1732, when Peter's successor Anna moved the imperial court to St. Petersburg. In 1742, Goldbach joined the Russian Ministry of Foreign Affairs, and later became privy councilor and established guidelines for the education of royal children. Noted for his conjectures in number theory and work in analysis, Goldbach died in Moscow.
even integer less than 4 • 1014, but no one has been able to prove or disprove his conjecture. Nonetheless, the Goldbach conjecture is a proposition. Propositions (1) and (2) in Example 1.1 are s i m p l e p r o p o s i t i o n s . A compound proposition is formed by combining two or more simple propositions called c o m p o n e n t s . For instance, propositions (3) and (4) in Example 1.1 are compound. The components of proposition (4) are I = 2 and Roses are red. The truth value of a compound proposition depends on the truth values of its components. Compound propositions can be formed in several ways, and they are presented in the rest of this section.
Conjunction The conjunction of two arbitrary propositions p and q, denoted by p A q, is the proposition p a n d q. It is formed by combining the propositions using the word and, called a connective.
Chapter I The Language of Logic Consider the s t a t e m e n t s p: S o c r a t e s w a s a G r e e k p h i l o s o p h e r q: E u c l i d w a s a C h i n e s e m u s i c i a n .
and
Their conjunction is given by p A q: S o c r a t e s w a s a G r e e k p h i l o s o p h e r a n d E u c l i d w a s a Chinese musician.
m
To define the t r u t h value of p A q, where p and q are a r b i t r a r y propositions, we need to consider four possible cases: 9 p is true, q is true. 9 p is true, q is false. 9 p is false, q is true. 9 p is false, q is false. (See the t r e e d i a g r a m in Figure 1.1 and Table 1.1.) If both p and q are true, t h e n p A q is true; i f p is t r u e and q is false, t h e n p A q is false; i f p is fhlse and q is true, t h e n p A q is false; and if both p and q are false, t h e n p A q is also false.
F i g u r e 1.1
Truth value ofp
Truth value ofq T
T F F
T a b l e 1.1
P
q
T T F F
T F T F
P^q
This information can be s u m m a r i z e d in a table. In the third column of Table 1.1, enter the t r u t h value ofp A q c o r r e s p o n d i n g to each pair of t r u t h values of p and q. The resulting table, Table 1.2, is the t r u t h t a b l e for pAq.
1.1 Propositions Table 1.2
p
q
pAq
T r u t h table for p A q
T T F F
T F T F
T F F F
Expressions t h a t yield the value t r u e or false are b o o l e a n e x p r e s s i o n s , and they often occur in both m a t h e m a t i c s and computer science. For instance, 3 < 5 and 5 < 5 are boolean expressions. If-statements and whileloops in computer programs often use such expressions, and their values determine w h e t h e r or not if-statements and while-loops will be executed, as the next example illustrates. Determine w h e t h e r the assignment s t a t e m e n t , sum <-- sum + i + j , * will be executed in the following sequence of statements: i <--3 j <--5 sum ~ 0 i f ( i < 4) and ( j _< 5) t h e n sum ~- sum + i + j
SOLUTION: The assignment s t a t e m e n t will be executed if the t r u t h value of the boolean expression (i < 4) and (]" _< 5) is T. So, let us evaluate it. Since i ~-- 3, i < 4 is true; s i n c e j ~-- 5 , j _< 5 is also true. Therefore, (i < 4) and (j < 5) is t r u e (see row 1 of Table 1.2). Consequently, the given assignment s t a t e m e n t will be executed. I1
Disjunction A second way of combining two propositions p and q is by using the connective or. The resulting proposition p or q is the disjunction o f p and q and is denoted by p v q. Consider the s t a t e m e n t s
p: Harry likes pepperoni pizza for lunch and
q: Harry likes mushroom pizza for lunch. *The s t a t e m e n t x ~- y m e a n s the value of the expression y is assigned to x, w h e r e ~-- is the assignment operator. The general form of an a s s i g n m e n t s t a t e m e n t is variable <--expression.
Chapter I The Language of Logic Their disjunction is given by p v q: Harry likes pepperoni pizza for lunch or Harry likes m u s h r o o m pizza for lunch. This sentence, however, is often written as
m
p v q: Harry likes pepperoni or m u s h r o o m pizza for lunch.
A n interesting observation: In this example, H a r r y could like pepperoni pizza or m u s h r o o m pizza, or both, for lunch. In other words, the connective or is used in the inclusive sense and~or to mean at least one, maybe both. Such a disjunction is an i n c l u s i v e d i s j u n c t i o n . Table 1.3 gives the t r u t h table for an inclusive disjunction.
T a b l e 1.3
p
q
pvq
T r u t h table for p v q
T T F F
T F T F
T T T F
The disjunction of two propositions is true if at least one component is true; it is false only if both components are false. Consider the s t a t e m e n t s r: Bernie will play basketball at 3
P.M.
today
s: Bernie will go to a matinee at 3
P.M.
today.
and
Then r v s: Bernie will play basketball or go to a matinee at 3
P.M.
today,
m
In this example, Bernie cannot play basketball and go to a matinee at the same time, so the word or is used in the exclusive sense to m e a n at least one, but not both. Such a disjunction is an e x c l u s i v e d i s j u n c t i o n . (See Exercise 31.) T h r o u g h o u t our discussion, we will be concerned with only inclusive disjunction, so the word "disjunction" will mean "inclusive disjunction."
Negation The n e g a t i o n of a proposition p is It is not the case that p, denoted by ~p. You may read ~p as the negation o f p or simply not p.
1.1
Propositions
Let p. P a r i s is the capital of F r a n c e a n d q: Apollo is a H i n d u god. T h e n e g a t i o n of p is ~p: It is not the case t h a t P a r i s is the capital of France. This sentence, however, is often w r i t t e n as ~p: P a r i s is not the capital of France. Likewise, the n e g a t i o n of q is ~q: Apollo is not a H i n d u god.
m
If a proposition p is true, t h e n ~ p is false; i f p is false, t h e n ~ p is true. This definition is s u m m a r i z e d in Table 1.4.
Table 1.4
p
~p
T r u t h table for ~ p
T F
F T
E v a l u a t e each boolean expression, w h e r e a = 3, b - 5, and (1) [~(a > b)] A (b < c)
c
- 6.
(2) ~ [ ( a < b) v (b > c)]
SOLUTION: (1) Since a > b is false, ~ ( a > b) is true. Also, b < c is true. Therefore, !~ (a > b)] A (b < c) is true. (See row 1 of Table 1.2.) (2) a _< b is true; b u t b > c is false. So (a _< b) v (b > c) is true. (See row 2 of Table 1.3.) Therefore, ~ [ ( a < b) v (b > c)] is false, m N e x t we p r e s e n t a n o t h e r way of c o n s t r u c t i n g new propositions.
Implication Two propositions p and q can be c o m b i n e d to form s t a t e m e n t s of t h e form: I f p, then q. Such a s t a t e m e n t is an i m p l i c a t i o n , denoted by p --~ q. Since it involves a condition, it is also called a c o n d i t i o n a l s t a t e m e n t . T h e c o m p o n e n t p is the h y p o t h e s i s (or p r e m i s e ) of the implication a n d q t h e
conclusion. Let
p: AABC is e q u i l a t e r a l
and q" AABC is isosceles. Then
p ~ q ' I f A A B C is equilateral, then it is isosceles.
10
Chapter I The Language of Logic
Likewise,
q ~ p: I f A A B C is isosceles, then it is equilateral. (Note: In the implication q conclusion.)
--~ p, q is the hypothesis a n d p is the m
Implications occur in a variety of ways. commonly k n o w n occurrences:
The following are some
9 I f p , t h e n q.
9 I f p , q.
9 p implies q.
9 p only if q.
9 q ifp.
9 p is sufficient for q.
9 q is necessary for p. Accordingly, the implication p ~ q can be read in one of these ways. F o r instance, consider the proposition p --. q: If AABC is equilateral, t h e n it is isosceles. It m e a n s exactly the same as any of the following propositions: 9 If AABC is equilateral, it is isosceles. 9 AABC is equilateral implies it is isosceles. 9 AABC is equilateral only if it is isosceles. 9 AABC is isosceles if it is equilateral. 9 T h a t AABC is equilateral, is a sufficient condition for it to be isosceles. 9 T h a t AABC is isosceles, is a necessary condition for it to be equilateral.
Warning: The s t a t e m e n t p only if q is often m i s u n d e r s t o o d as h a v i n g the same m e a n i n g as the s t a t e m e n t p if q. R e m e m b e r , p if q m e a n s I f q, then p. So be careful. T h i n k of only if as one phrase; do not split it. .
.
.
.
.
.
.
To construct the t r u t h table for an implication I f p, then q, we shall t h i n k of it as a conditional promise. If you do p, t h e n I promise to do q. If the promise is kept, we consider the implication true; if the promise is not kept, we consider it false. We can use this analogy to c o n s t r u c t the t r u t h table, as shown below. Consider the following implication: p --~ q: If you wax my car, t h e n I will pay you $25.
1.1
Propositions
11
I f y o u wax my car (p true) and ifI pay you $25 (q true), t h e n the implication is true. If you wax my car (p true) and ifI do not pay you $25 (q false), t h e n the promise is violated; hence the implication is false. W h a t if you do not wax my car (p false)? T h e n I may give you $25 (being generous!) or not. (So q may be t r u e or false). In either case, my promise has not been tested and hence has not been violated. Consequently, the implication has not been proved false. If it is not false, it m u s t be true. In other words, i f p is false, the implication p ~ q is t r u e by default. ( I f p is false, the implication is said to be v a c u o u s l y t r u e . ) This discussion is s u m m a r i z e d in Table 1.5.
Table 1.5 T r u t h table for p -~ q
P
q
T T F F
T F T F
p'-*q
T F T T
In the ordinary use of implications in the English language, there is a relationship between hypothesis and conclusion, as in the car waxing example. This relation, however, does not necessarily hold for formal implications. For instance, in the implication, I f the p o w e r is on, then 3 + 5 - 8, the conclusion 3 + 5 = 8 is not even related to the hypothesis; however, from a m a t h e m a t i c a l point of view, the implication is true. This is so because the conclusion is true regardless of w h e t h e r or not the power is on. F r o m an implication we can form three new i m p l i c a t i o n s - - i t s converse, inverse, and c o n t r a p o s i t i v e m as defined below.
Converse, Inverse, and Contrapositive The c o n v e r s e of the implication p -~ q is q -~ p (switch the premise and the conclusion in p -~ q). The i n v e r s e o f p ~ q is ~p ~ ~q (negate the premise and the conclusion). The c o n t r a p o s i t i v e of p ~ q is ~q -~ ~p (negate the premise and the conclusion, and then switch them). L e t -P~
q. If AABC is equilateral, then it is isosceles.
Its converse, inverse, and contrapositive are given by: Converse
q ~ p: If AABC is isosceles, t h e n it is equilateral.
In verse
~p ~ ~q: If AABC is not equilateral, t h e n it is not isosceles.
Contrapositive
~q ~ ~p: If AABC is not isosceles, t h e n it is not equilateral.
A word o f caution: Many people mistakenly t h i n k t h a t an implication and its converse m e a n the same thing; they usually say one to m e a n
m
Chapter I The Language of Logic
12
the other. In fact, they need not have the same t r u t h value. You will, however, learn in Example 1.18 t h a t an implication a n d its contrapositive have the same t r u t h value, and so do the converse a n d the inverse. T h u s far, we have p r e s e n t e d four b o o l e a n o p e r a t o r s : A, v, --+, and 4. The first t h r e e enable us to combine two propositions; accordingly, t h e y are b i n a r y o p e r a t o r s . On the o t h e r hand, we need only one proposition to perform negation, so ~ is a u n a r y o p e r a t o r . These operators can be employed to construct more complex s t a t e m e n t s , as the next example d e m o n s t r a t e s . C o n s t r u c t a t r u t h table for (p --+ q) A (q -+ p).
SOLUTION: We construct the proposition (p --+ q) A (q --+ p) step-by-step. F r o m the propositions p and q, we can form p -+ q and q -+ p; t h e n take t h e i r conjunction to yield the given s t a t e m e n t . Thus, the t r u t h table for (p --+ q) A (q -+ p) requires five columns: p, q, p -+ q, q --+ p, and (p --+ q) A (q -+ p) in t h a t order (see Table 1.6). As before, first enter the possible pairs of t r u t h values for p and q in columns 1 and 2. T h e n use the t r u t h tables for implication (Table 1.5) and conjunction (Table 1.2) to complete the r e m a i n i n g columns. The resulting table is displayed in Table 1.6. It follows from the table t h a t (p --+ q) A (q -+ p) is true if both p and q have the s a m e t r u t h values. II
T a b l e 1.6
P
q
T T F F
T F T F
p--,q
T F T T
q--,p
T T F T
(p--,q)^(q--,p)
T F F T
The Island of Knights and Knaves The next two examples* illustrate the power of t r u t h tables in decisionm a k i n g and in arriving at logical conclusions in the midst of seemingly confusing and contradictory s t a t e m e n t s . ~
Faced with engine problems, Ellen Wright made an e m e r g e n c y landing on the beach of the Island of Knights and Knaves. The island is inhabited by two distinct groups of people, k n i g h t s and knaves. Knights always tell the t r u t h and knaves always lie. Ellen decided t h a t her best move was to reach the capital and call for service. *Based on C. Baltus, "A Truth Table on the Island of Truthtellers and Liars," Mathematics Teacher, Vol. 94 (Dec. 2001), pp. 730-732.
1.1
Propositions
13
Walking from the beach, she came to an intersection, where she saw two men, A and B, working nearby. After hearing her story, A told Ellen, "The capital is in the mountains, or the road on the right goes to the capital." B then said, "The capital is in the mountains, and the road on the right goes to the capital." Then A looked up and said, " T h a t man is a liar." S h r u g g i n g his shoulders, B then said, "If the capital is in the mountains, t h e n the road to the right goes to the capital." Ellen then made a table on the back of her guidebook, t h a n k e d the two men, and walked down the road on the left. Did Ellen make the correct decision?
SOLUTION: Let
c: The capital is in the m o u n t a i n s
and r: The road on the right goes to the capital. Now we build a t r u t h table, as Table 1.7 shows. Since B could not give both false and true s t a t e m e n t s (see rows 3 and 4 in columns 4 and 5), the last two rows of the table do not fit the given scenario; so they can be ignored.
T a b l e 1.7
c T T F F
r T F T F
A:cvr T T T F
B:c^r
T F F F
B:c~r
T F T T
It now follows from the rest of column 3 t h a t A is a knight. So his statement that "B is a liar" is true; thus B is a knave. Consequently, we can ignore row 1 also. This leaves us with row 2. Therefore, the s t a t e m e n t r is false; that is, the road on the left goes to the capital. Thus Ellen made the correct decision, m The following example is a continuation of Ellen's saga. ~
Walking u p the road to the left, Ellen encountered a group of people gathered at what she t h o u g h t to be a bus stop. She approached three women, C, D, and E, and asked them w h e t h e r the road went to the capital and w h e t h e r the location was indeed a bus stop. She received three different responses: C: "The road goes to the capital, and the bus stop is not here." D: "The road does not go to the capital, and the bus stop is here." E: "The road does not go to the capital, and the bus stop is not here." Confused and somewhat perplexed, Ellen asked t h e m w h e t h e r they are knights or knaves. To this they all answered, "Two of us are knights, and one is a liar." How m a n y of the three women are knights? Does the road go to the capital? Is the location where Ellen met t h e m a bus stop?
Chapter I The Language of Logic
14
SOLUTION: Once again, we build a t r u t h table. To this end, we let g: T h e road goes to t h e capital and b: T h e bus stop is here. Table 1.8 shows the r e s u l t i n g table, w h e r e only some c o l u m n s are s h o w n for convenience.
T a b l e 1.8
g
b C:g^~b
T T F F
T F T F
F T F F
D:~gAbE:~gA~b F F T F
F F F T
Since all t h r e e w o m e n m a d e the s a m e s t a t e m e n t , "Two of us are k n i g h t s , and one is a liar," t h e y m u s t all be knaves. Consequently, we can discard rows 2-4 in Table 1.8. (It now follows from row i t h a t the t h r e e w o m e n are all knaves.) So the road does indeed go to the capital and the location is a bus stop. I Ellen's story is c o n t i n u e d f u r t h e r in the exercises. See Exercises 76-78. Next we p r e s e n t yet a n o t h e r m e t h o d of combining propositions.
Biconditional Statement Two propositions p and q can be combined using the connective if and only if. The r e s u l t i n g proposition, p if and only if q, is the conjunction of two implications: (1) p only if q, and (2) p if q, t h a t is, p --~ q a n d q --* p. Accordingly, it is called a b i c o n d i t i o n a l s t a t e m e n t , symbolized b y p o q. Let
p: AABC is equilateral
and
q: AABC is equiangular.
T h e n the biconditional s t a t e m e n t is given by p o q: AABC is equilateral if a n d only if it is e q u i a n g u l a r .
I
Since the biconditional p o q m e a n s exactly the s a m e as the s t a t e m e n t (p --, q) A (q --, p), t h e y have t h e s a m e t r u t h value in every case. We can use this fact, and columns 1, 2, and 5 of Table 1.6 to c o n s t r u c t the t r u t h table for p o q, as in Table 1.9. Notice t h a t the s t a t e m e n t p ~ q is t r u e if both p a n d q have t h e s a m e t r u t h value; conversely, i f p ~ q is true, t h e n p a n d q have t h e s a m e t r u t h value.
1.1 T a b l e 1.9 T r u t h table for p ~ q
Propositions
P
q
T T F F
T F T F
15
P~q
T F F T
Here is a simple application of this fact with which you are already familiar (see Section 7.8). Let S denote the s u m of the digits in 2034. If 3 is a factor of S, t h e n 3 is a factor of 2034 also. Conversely, if 3 is a factor of 2034, t h e n 3 is a factor of S also. T h u s the biconditional, 2034 is divisible by 3 if and only if S is divisible by 3, is a t r u e proposition. Consequently, if one c o m p o n e n t m say, S is divisible by 3 m is true, t h e n the o t h e r c o m p o n e n t is also true. m Order of Precedence
To evaluate complex logical expressions, you m u s t k n o w the order of precedence of the logical operators. The order of precedence from the highest to the lowest is: (1) ~ (2) A (3) v (4) --. (5) ~ . Note t h a t parenthesized subexpressions are always evaluated first; if two operators have equal precedence, the c o r r e s p o n d i n g expression is evaluated from left to right. F o r example, the expression (p ~ q) A ~ q ~ ~ p is evaluated as [(p --. q) A (~q)] ~ (~p), and p --. q ~ -~q ~ -~p is evaluated as (p --+ q) ~ [(~q) --. (~p)]. .
.
.
.
.
.
.
.
The next example involves c o n s t r u c t i n g a t r u t h table for a conditional s t a t e m e n t and we shall use it shortly to m a k e a few definitions. C o n s t r u c t a t r u t h table for (p ~ q) ~ (~p v q). SOLUTION: We need columns for p, q, p ~ q, ~p, ~ p v q, and (p ~ q) ~ (~p v q). First, fill in the first two columns with the four pairs of t r u t h values for p and q. T h e n use the t r u t h tables for implication, negation, disjunction, and biconditional to complete the r e m a i n i n g columns. Table 1.10 shows the resulting table. T a b l e 1.10
p
q
p --~ q
~p
~p v q
(p --. q) .-~ (~p v q)
T T F F
T F T F
T F T T
F F T T
T F T T
T T T T always true!
Chapter 1 The Languageof Logic
16
Tautology, Contradiction, and Contingency An interesting observation: It is clear from Table 1.10 that the compound statement (p -~ q) ~ (~p v q) is always true, regardless of the t r u t h values of its components. Such a compound proposition is a t a u t o l o g y ; it is an eternal truth. For example, p v ~p is a tautology. (Verify this.) On the other hand, a compound statement that is always false is a contradiction. For instance, p A ~p is a contradiction (Verify this). A compound proposition that is neither a tautology nor a contradiction is a c o n t i n g e n c y . For example, p v q is a contingency. Next we show that there is a close relationship between symbolic logic and switching networks.
Switching Network (optional) A switching network is an a r r a n g e m e n t of wires and switches connecting two terminals. A switch that permits the flow of current is said to be closed; otherwise, it is open. Likewise, a switching network is c l o s e d if current can flow from one end of the network to the other; otherwise, it is open. Two switches A and B can be connected either in s e r i e s (see Figure 1.2) or in parallel (see Figure 1.3). The switching network in Figure 1.2 is closed if and only if both A and B are closed; accordingly, it is symbolically denoted by A A B. The network in Figure 1.3 is closed if and only if at least one of the two switches is closed; consequently, it is denoted by A v B.
Figure 1.2
|
|
Switches connected in series, A A B.
Figure 1.3 Switches connected in parallel, A v B.
|
! | An electrical network may contain two switches A and A' (A prime) such that if one is closed, then the other is open, and vice versa. (The o p e r a t o r ' corresponds to the logical operator ~.) A switching network, in general, consists of series and parallel connections and hence can be described symbolically using the operators A, v, and ', as the following example illustrates. Find a symbolic representation of the switching network in Figure 1.4. SOLUTION: Switches A and B' are connected in series; the corresponding portion of the circuit is symbolized by A A B'. Switch B is in parallel with A A B'; so we have (A A B') v B. Since A' and C are connected in series, the corresponding portion of the network is described by A' A C. The circuits (A A B') v B and (A' A C) are connected in parallel. Therefore, the given network is
1.1
Propositions
17
|
F i g u r e 1.4
|
| |
9
symbolized by [(A A B') v B] v (A' A C). Since the operation v is associative (see Table 1.13), this expression can be r e w r i t t e n as (A A B') v B v (A' A C). m
Exercises I.I Which of the following are propositions? 1. The e a r t h is flat.
2. T o r o n t o is the capital of Canada.
3. W h a t a beautiful day!
4. Come in.
Find the t r u t h value of each c o m p o u n d s t a t e m e n t . 5. (5 < 8) and (2 + 3 = 4) 7. I f l = 2 ,
6. Paris is in F r a n c e or 2 + 3 = 4.
then3=3.
8. AABC is equilateral if and only if it is equiangular. Negate each proposition. 9. 1 + 1 = 0.
10. The chalkboard is black.
Let x, y, and z be any real n u m b e r s . R e p r e s e n t each sentence symbolically, w h e r e p : x < y, q : y < z, and r: x < z. 11. (x>_y) o r ( y < z )
12. (y>__z) o r ( x > _ z )
13. (x >_y) and [(y < z) or (z > x)]
14. (x < y) or [(y >_ z) and (z > x)]
Evaluate each boolean expression, where a = 2, b = 3, c = 5, and d = 7.
15. [~(a > b)] v [~(c < d)]
16. [~(b < c)] A [~(c < d)]
17. ~ [ ( a > b )
18. ~ { ( a < b )
v(b
A[~(c>d)]}
Let t be a tautology and p an a r b i t r a r y proposition. Give the t r u t h value of each proposition.
19. ~ p v t
20. " - p A ~ t
21. ~ t A p
22. ~ ( ~ p A ~ t )
C o n s t r u c t a t r u t h table for each proposition.
23. ~ p v ~ q
24. ~ ( ~ p v q )
25. ( p v q ) v ( ~ q )
26. p A ( q A r )
18
Chapter I The Language of Logic
Give t h e t r u t h value of e a c h proposition, u s i n g t h e given i n f o r m a t i o n . 27. p A q, w h e r e q is n o t t r u e .
28. p A q, w h e r e u q is n o t false.
29. p v q, w h e r e u p is false.
30. p v q, w h e r e u p is n o t t r u e .
31. T h e e x c l u s i v e d i s j u n c t i o n of two p r o p o s i t i o n s p a n d q is d e n o t e d by p X O R q. C o n s t r u c t a t r u t h t a b l e for p X O R q. W r i t e e a c h s e n t e n c e in if-then form. 32. An e q u i a n g u l a r t r i a n g l e is isosceles. 33. Lines p e r p e n d i c u l a r to t h e s a m e line a r e parallel. 34.
X 2 ----
16 is n e c e s s a r y for x = 4.
35. x = 1 is sufficient for x 2 = 1. W r i t e t h e converse, inverse, a n d c o n t r a p o s i t i v e of e a c h implication. 36. If t h e c a l c u l a t o r is w o r k i n g , t h e n t h e b a t t e r y is good. 37. If L o n d o n is in F r a n c e , t h e n P a r i s is in E n g l a n d . Let x,y, a n d z be a n y real n u m b e r s . R e p r e s e n t each s e n t e n c e symbolically, w h e r e p" x < y, q" y < z, a n d r" x < z. 39. I f z >__y a n d x < y, t h e n
38. I f x >__y a n d x < z, t h e n
y
z>x.
40. x < z if a n d only i f x < y a n d y < z.
41. x >__y a n d y > z if a n d only i f x > z.
D e t e r m i n e w h e t h e r or not t h e a s s i g n m e n t s t a t e m e n t x ~- x + 1 will be e x e c u t e d in each s e q u e n c e of s t a t e m e n t s , w h e r e i ~ 2, j ~ 3, k ~ 6, a n d x~0. 42. I f ( i < 3) A (j < 4) t h e n
43. I f ( i < j ) v (k > 4) t h e n
x~---x+l
x<----x-1
else
else
y+--y+1
x~x+l
44. While u ( i < j ) do begin
45. While u ( i + j >_ k) do x ~-- x + 1
x<----x+l i~---i+l endwhile Let t be a t a u t o l o g y a n d p an a r b i t r a r y proposition. F i n d t h e t r u t h value of each.
46. (ut) ~ p
47. p ~ t
48. (p v t) ~ t
49. (p v t)---~ (ut)
50. ( p A t ) - - + p
51. p ~
52. t o ( p V t )
53. p o ( p A t )
(pAt)
1.1
Propositions
19
Construct a t r u t h table for each proposition. 54. p -~ (p v q )
55. (p Aq) ~ p
56. ( p A q ) ~
57. (p V q) ~ (p A q)
(pvq)
Determine whether or not each is a tautology. 58. p v ( ~ p) 60. [ ( p ~ q )
A(~q)]~p
59.
[p A (p ~ q)] --+ q
61.
[(pVq) A(~q)]~p
Determine whether or not each is a contradiction. 62. p
A (~p)
63. p ~ ~ p
64. ~ ( p v ~ p )
65. ~ p ~ (p v ~ p )
Indicate the order in which each logical expression is evaluated by properly grouping the operands using parentheses. 66. p v q A r
67. p Aq --* ~ p V ~ q
68. p v q ~ ~ p A ~ q
69. p - - + q ~ ~ p v q
Represent each switching network symbolically. 70.
-@
(~
71.
@ @
@
9 @--@
Draw a switching network with each representation. 72. ( A v B ) A ( A v C )
73. ( A v B ' ) v ( A v B )
74. ( A A B ' ) v ( A ' A B )
75. (AAB) v ( A ' A B ) v ( B ' A C )
76. (Examples 1.11 and 1.12 continued) At the bus stop, Ellen noticed signs for three buses, B1, B2, and B3, and approached another trio of women, F, G, and H. A conversation ensued: Ellen: Where do the buses go? F: At least one of B1 and B2 goes to the capital. G: B1 goes to the capital. H: B2 and B3 go to the capital. F: B3 goes to the beach. G: B2 and B3 go to the beach. H: B1 goes to the beach. Which bus did Ellen take?
20
Chapter I The Language of Logic 77. After reaching the bus terminal at the capital, Ellen saw three personal computers. She asked a y o u n g woman, I, w h e t h e r the computers had I n t e r n e t connections. She replied, " C o m p u t e r 1 is not connected to the Internet. Ask t h a t man, J; he is a knight." When Ellen approached the man, he told her, " C o m p u t e r 2 has an I n t e r n e t connection, but computer 3 does not." A second man, K, who overheard the conversation, t h e n said, "If computer 2 has an I n t e r n e t connection, t h e n so does computer 1. Computer 3 is not connected to the I n t e r n e t . " Which computer had an I n t e r n e t connection? 78. At the bus terminal, Ellen overheard the following conversation between two baseball fans, L and M: L: I like the Yankees. M: You do not like the Yankees. You like the Dodgers. L: We both like the Dodgers. Does fan L like the Yankees? Who likes the Dodgers?
Two compound propositions p and q, although they may look different, can have identical t r u t h values for all possible pairs of t r u t h values of their components. Such s t a t e m e n t s are l o g i c a l l y e q u i v a l e n t , symbolized by p -- q; otherwise, we write p ~ q. I f p -- q, the columns headed by t h e m in a t r u t h table are identical. The next two examples illustrate this definition. Verify t h a t -P- *
q - u p v q.
SOLUTION: Construct a t r u t h table containing columns headed by p --* q and u p v q, as in Table 1.11. Use the t r u t h tables for implication, negation, and disjunction to fill in the last three columns. Since the columns headed by p --, q and u p v q are identical, the two propositions have identical t r u t h values. In other words, p --* q - u p v q.
T a b l e 1.11
p
q
p--,q
~p
,,~pvq
T T F F
T F T F
T F T T
F F T T
T F T T
L identical columns --~
1.2
Logical Equivalences
21
(Note" This example shows t h a t an implication can be expressed in t e r m s I of negation and disjunction.)
~q ~ ~p; t h a t is, an implication is logically equivalent q Show t h a t -P+ to its contrapositive. SOLUTION:
Once again, construct a t r u t h table, with columns headed by p , q , p --+ q, ~q, ~p, and ~q ~ ~p. Use the t r u t h tables for implication and negation to complete the last four columns. The resulting table (see Table 1.12) shows t h a t the columns headed by p --~ q and ~q -~ ~p are identical; therefore, p~
Table
1.12
q-~q
~
~p.
P
q
P --* q
~q
~p
T T F F
T F T F
T F T T
F T F T
F F T T
~--
~q
identical columns
~ ~p
T F T T _3
m
This is an extremely useful, powerful result t h a t plays an i m p o r t a n t role in proving theorems, as we will see in Section 1.5. It follows by this example t h a t q -+ p - u p __~ ~q (Why?); t h a t is, the converse of an implication and its inverse have identical t r u t h values. Using t r u t h tables, the laws of logic in Table 1.13 can be proved. We shall prove one of the De Morgan laws and leave the others as routine exercises. Table
1.13
Laws of Logic
Let p, q, and r be any three propositions. Let t denote a tautology and f a contradiction. Then: Idempotent 1. p A p =_p
laws 2. p V p - - p
Identity laws 3. p A t = p
4. p v f - - p
Inverse laws 5. p A ( ~ p ) - - f
6. p V ( ~ p ) - - t
Domination 7. p v t = t
laws 8. p A f - - f Continued
Chapter I The Language of Logic
22
T a b l e 1.13 (continued)
C o m m u t a t i v e laws 10. p v q = q v p
9. p A q - - q A p
Double negation 11. ~ ( ~ p ) - p A s s o c i a t i v e laws 12. p A ( q A r ) - - = ( p A q ) A r
13. p V ( q V r ) = ( p V q ) V r
D i s t r i b u t i v e laws 14. p A (q v r) -- (p A q) v (p A r)
15. p v ( q A r ) = ( p v q ) A ( p v r )
De Morgan's laws 16. ~ ( p A q ) _ = ~ p v ~ q
17. ~ ( p v q ) - ~ p A ~ q
I m p l i c a t i o n c o n v e r s i o n law 18. p - - , q - = ~ p v q C o n t r a p o s i t i v e law 19. p ~ q = _ ~ q ~ p R e d u c t i o ad absurdum law 20. p - - - , q - ( p A ~ q ) ~ f
We can make a few observations about some of the laws. The comm u t a t i v e laws imply t h a t the order in which we take the conjunction (or disjunction) of two propositions does not affect their t r u t h values. The associative laws say t h a t the way we group the c o m p o n e n t s in a conjunction (or disjunction) of t h r e e or more propositions does not alter the t r u t h value of the resulting proposition; accordingly, p a r e n t h e s e s are not needed to indicate the grouping. In o t h e r words, the expressions p A q A r and p v q v r are no longer ambiguous, b u t do make sense. Nonetheless, p a r e n t h e s e s are essential to indicate the g r o u p i n g s in the distributive laws. For instance, if we delete the p a r e n t h e s e s in law 14, t h e n its left-hand side (LHS) becomes p A q v r = (p A q) v r, since A has higher priority t h a n v. But (p A q) v r ~ p A (q v r). (You m a y verify this.) We now verify De M o r g a n ' s law 16 in the following example. ~
Verify t h a t ~ ( p A q) - ~ p v '~q, SOLUTION: C o n s t r u c t a t r u t h table with columns headed b y p , q , p Aq, ~ ( p Aq), ~p, ~q, and ~ p v ~q. Since c o l u m n s 4 and 7 in Table 1.14 are identical, it follows t h a t ~(p A q) - ~ p v ~q. m
1.2
23
Logical Equivalences
A u g u s t u s De M o r g a n (1806-1871) was born in Madurai, Tamil Nadu, India, where his father was a colonel in the Indian army. When the young De Morgan was 7 months old, the family moved to England. He attended private schools, where he mastered Latin, Greek, and Hebrew and developed a strong interest in mathematics. After graduating in 1827 from Trinity College, Cambridge, he pondered a career either in medicine or law, but pursued mathematics. His professional career began in 1828 at University College, London. Three years later, however, when the college dismissed a colleague in anatomy without explanation, De Morgan resigned on principle. He returned to Trinity in 1836 when his successor died and remained there until a second resignation in 1866. A fellow of the Astronomical Society and a founder of the London Mathematical Society, De Morgan greatly influenced the development of mathematics in the 19th century. He exuded his passion for the subject in his teaching, stressing principles over techniques. An incredibly prolific writer, De Morgan authored more than 1000 articles in more than 15journals, as well as a number of textbooks, all characterized by clarity, logical presentation, and meticulous detail. De Morgan's original contributions to mathematics were mainly in analysis and logic. In 1838, he coined the term mathematical induction and gave a clear justification to this proof method, although it had been in use. His The Differential and Integral Calculus (1842) gives the first precise definition of a limit and some tests for convergence of infinite series. De Morgan was also interested in the history of mathematics. He wrote biographies of Sir Isaac Newton and Edmund Halley. His wife wrote De Morgan's biography in 1882. His researches into all branches of knowledge and his prolific writing left him little time for social or family life, but he was well-known for his sense of humor.
Table
1.14
p
q
p ^ q
~ ( p ^ q)
,~p
~q
T T F F
T F T F
T F F F
F T T T
F F T T
F T F T
L
~p
identical columns
v ,-~q
T F T T __2
De Morgan's laws, although important, can be confusing, so be careful when you negate a conjunction or a disjunction. The negation of a conjunction (or disjunction) of two s t a t e m e n t s is the disjunction (or conjunction) of their negations. The next two examples illustrate De Morgan's laws. ~
Let
p" Peter likes plain yogurt
and q: Peter likes flavored yogurt.
24
Chapter I
The Language of Logic
Then p A q: P e t e r likes plain y o g u r t and flavored y o g u r t . p v q: P e t e r likes plain y o g u r t or flavored yogurt. By De M o r g a n ' s laws, ~ ( p A q) -
~p
v
~q" P e t e r does not like plain y o g u r t or does not like flavored y o g u r t
and ~ ( p v q) -
~ p A ~q" P e t e r likes n e i t h e r plain y o g u r t n o r flavored yogurt.
m
De M o r g a n ' s laws can be used in reverse order also; t h a t is, ~ p v ~ q --(p A q) and ~ p A ~ q - ~ ( p v q). For instance, the sentence, Claire does not like a sandwich or does not like pizza for lunch can be r e w r i t t e n as It is false that Claire likes a sandwich and pizza for lunch. Likewise, the sentence, The earth is not fiat a n d not round can be r e s t a t e d as It is false
that the earth is fiat or round. D e t e r m i n e w h e t h e r or not the s t a t e m e n t x ~-- x + 1 will be executed in the following sequence of s t a t e m e n t s : O ~-- 7; b ~-- 4 i f ~ [ ( a < b) v x~--x+l
(b >__ 5)]
then
SOLUTION: The s t a t e m e n t x ~-- x + 1 will be executed if the value of the boolean expression ~ l ( a < b) v (b >__5)1 is true. By De M o r g a n ' s law, ~ l ( a < b) v (b >__5)1 - ~ ( a < b) A ~(b >__5) - (a > b) A (b < 5) Sincea-7andb-4, botha>_bandb < 5 are true; so, (a >__b ) A(b < 5) is true. Therefore, the a s s i g n m e n t s t a t e m e n t will be executed, m One of the elegant applications of the laws of logic is employing t h e m to simplify complex boolean expressions, as the next example illustrates. Using the laws of logic simplify the boolean expression (p A ~q) v q v (~p Aq). SOLUTION" [The justification for every step is given on its r i g h t - h a n d - s i d e (RHS). ] (p A ~q) v q v (~p A q) - [(p A ~q) v q] v (--p A q) --[qV(pA~q)]V(~pAq)
assoc, law comm. law
25
1.2 Logical Equivalences - [(q v p) A (q v ~q)] v (~p A q)
dist. law
-- [(q V p) A t] V (~p A q)
qv~q-t
= (q V p) V (~p A q)
rAt--r
= (~p
comm. law
A
q)
v
(p
v
q)
-- [~p v (p v q)]
A
[q v (p v q)]
dist. law
= [(~p v p) v q]
A
[q v (p v q)]
assoc, law
-_- (t
v
q)
A
[q
v
(p
v
q)]
~p vp-t
=- t A [q V (p Vq)]
tvq-t
-- q V (p V q)
tAr----r
=_qV(qVp)
comm. law
=(qVq)
assoc, law
Vp
=_qvp
idem. law
--pVq
comm. law
For any propositions p, q, and r, it can be shown t h a t p --~ (q v r) (p A~q) --~ r (see Exercise 12). We shall employ this result in Section 1.5. Here are two e l e m e n t a r y but elegant applications of this equivalence. Suppose a and b are any two real n u m b e r s , and we would like to prove the following theorem: I f a . b = O, then either a = 0 or b = 0. By virtue of the above logical equivalence, we need only prove the following proposition: I f a . b = 0 a n d a V: O, t h e n b = 0 (see Exercise 43 in Section 1.5). Second, suppose a and b are two a r b i t r a r y positive integers, and p a prime number. Suppose we would like to prove the following fact: Ifp[ab,* then either p la or p lb. Using the above equivalence, it suffices to prove the following equivalent s t a t e m e n t : I f plab a n d p Xa, t h e n p]b (see Exercise 37 in Section 4.2). We shall now show how useful symbolic logic is in the design of switching networks.
Equivalent Switching Networks (optional) Two switching n e t w o r k s A and B are equivalent if they have the same electrical behavior, either b o t h open or both closed, symbolically described by A - B. One of the i m p o r t a n t applications of symbolic logic is to replace an electrical network, w h e n e v e r possible, by an equivalent simpler network to minimize cost, as illustrated in the following example. To this end,
*xly m e a n s
"x is a f a c t o r o f y . "
Chapter 1 The Language of Logic
26
let A be any circuit, T a closed circuit, and F an open circuit. T h e n A A T -A, A A A' - F, A v T -= T, and A v A' -- T (see laws 3 t h r o u g h 8). Likewise, laws 1 t h r o u g h 11 can also be extended to circuits in an obvious way. ~
Replace the switching n e t w o r k in Figure 1.5 by an equivalent simpler network.
|
F i g u r e 1.5
@ 9
SOLUTION: The given network is r e p r e s e n t e d by (A A B') v [(A A B) v C]. Let us simplify this expression using the laws of logic. (The reason for each step is given on its RHS.) (A A B') v I(A A B) v CI -= I(A A B') v (A A B)I v C
assoc, law
- [A A (B' v B)I v C
dist. law
-- (A A T) v C
B'vB-T
_=AvC
AAT=A
Consequently, the given circuit can be replaced by the simpler circuit in Figure 1.6.
|
F i g u r e 1.6
9 We close this section with a brief introduction to fuzzy logic.
Fuzzy Logic (optional) "The binary logic of m o d e r n computers," wrote Bart Kosko and Satoru Isaka, two pioneers in the development of fuzzy logic systems, "often falls short when describing the vagueness of the real world. Fuzzy logic offers more graceful alternatives." Fuzzy logic, a b r a n c h of artificial intelligence, incorporates the vagueness or value j u d g e m e n t s t h a t exist in everyday life, such as "young," "smart," "hot," and "cold." The first company to use a fuzzy system was F. L. Smidth and Co., a cont r a c t i n g company in Copenhagen, Denmark, which in 1980 used it to r u n a
27
1.2 LogicalEquivalences
B a r t Kosko holds degrees in philosophy and economics from the Universityof Southern California, an
M.S. in applied mathematics, and a Ph.D. in electrical engineering from the University of California, Irvine. Currently, he is on the faculty in electrical engineering at the University of Southern California. S a t o r u I s a k a received his M.S. and Ph.D. in systems science from the University of California, San Diego. He specializes in fuzzy information processing at Omron Advanced Systems at Santa Clara, and in the application of machine learning and adaptive control systems to biomedical systems and factory automation.
cement kiln. Eight years later, Hitachi used a fuzzy system to r u n the subway system in Sendai, Japan. Since then Japanese and American companies have employed fuzzy logic to control hundreds of household appliances, such as microwave ovens and washing machines, and electronic devices, such as cameras and camcorders. (See Figure 1.7.) It is generally believed t h a t fuzzy, common-sense models are far more useful and accurate t h a n standard mathematical ones.
F i g u r e 1.7
JuST TeEw~y (;INA LIKESIT
JUST THE WHY TEl) LIKES ir dUSTTHEWAY THE FEDEX 6UT LIKES IT
In fuzzy logic, the t r u t h value t(p) of a proposition p varies from 0 to 1, depending on the degree of its truth; so 0 _< t(p) _< 1. For example, the s t a t e m e n t "The room is cool" may be assigned a t r u t h value of 0.4; and the s t a t e m e n t "Sarah is smart" may be assigned a t r u t h value of 0.7.
(~hapter 1 The Language of Logic
28
Let 0 < x , y _< 1. T h e n t h e o p e r a t i o n s A, V, a n d ' a r e defined as follows" x A y -- min{x,y} x v y -- max{x,y} !
x -1-x w h e r e min{x,y} d e n o t e s t h e m i n i m u m o f x a n d y, a n d max{x,y} d e n o t e s t h e m a x i m u m of x a n d y. N o t all p r o p e r t i e s in p r o p o s i t i o n a l logic are valid in fuzzy logic. F o r i n s t a n c e , t h e l a w o f e x c l u d e d m i d d l e , p v ~ p is true, does n o t hold in fuzzy logic. To see this, let p be a simple p r o p o s i t i o n w i t h t(p) = 0.3. T h e n t(p') = 1 - 0 . 3 = 0. 7; so t ( p v p ' ) = t ( p ) v t ( p ' ) = 0 . 3 v 0 . 7 = m a x { 0 . 3 , 0.7} = 0 . 7 # 1. T h u s p v p ' is not a t a u t o l o g y in fuzzy logic, l In p r o p o s i t i o n a l logic, t(p v p') = 1; so p v p' is a t a u t o l o g y . T h i n k of 1 r e p r e s e n t i n g a T a n d 0 r e p r e s e n t i n g an F. I Likewise, t(p A p') = t(p) A t(p') = 0.3 A 0. 7 = min{0.3, 0.7} = 0 . 3 # 0; so p A p ' is not a c o n t r a d i c t i o n , u n l i k e in p r o p o s i t i o n a l logic. N e x t we p r e s e n t briefly an i n t e r e s t i n g application* of fuzzy logic to decision m a k i n g . It is based on t h e Y a g e r m e t h o d , developed in 1981 by R o n a l d R. Yager of Iona College, a n d e m p l o y s fuzzy i n t e r s e c t i o n a n d i m p l i c a t i o n -~, defined by p --~ q = u p v q.
Fuzzy Decisions S u p p o s e t h a t from a m o n g five U.S. c i t i e s - - B o s t o n , Cleveland, M i a m i , N e w York, a n d San D i e g o - - w e would like to select t h e b e s t city to live in. We will use seven c a t e g o r i e s C I t h r o u g h C7 to m a k e t h e decision; t h e y are climate, cost o f h o u s i n g , cost o f living, o u t d o o r activities, e m p l o y m e n t , crime, a n d culture, respectively, a n d are j u d g e d on a scale 0 - 6 : 0 = terrible, 1 = bad, 2 = pool', 3 = average, 4 = fairly good, 5 = very good, a n d 6 = excellent. T a b l e 1.15 shows t h e relative i m p o r t a n c e of each c r i t e r i o n on a scale 0 - 6 a n d t h e r a t i n g for e a c h city in each category. T a b l e 1.15
Category
Importance
Boston
Cleveland
Miami
New York
San Diego
C1 C2 C3 C4 C5 C6 C7
6 3 2 4 4 5 4
3 1 3 5 4 2 6
2 5 4 3 3 4 3
5 4 3 6 3 0 3
1 0 1 2 4 1 6
6 1 5 6 3 3 5
*Based on M. Caudill, "Using Neural Nets: Fuzzy Decisions," A/Expert, Vol. 5 (April 1990), pp. 59-64.
1.2 Logical Equivalences
29
The ideal city to live in will score high in the categories considered m o s t i m p o r t a n t . In order to choose the finest city, we need to evaluate each city by each criterion, weighing the relative i m p o r t a n c e of each category. Thus, given a p a r t i c u l a r category's i m p o r t a n c e , we m u s t check the city's score in t h a t category; in o t h e r words, we m u s t c o m p u t e the t r u t h value of i --+ s - ~ i v s for each city, w h e r e i denotes t h e i m p o r t a n c e r a n k i n g for a p a r t i c u l a r category and s the city's score for t h a t category. Table 1.16 shows the r e s u l t i n g data. Now we take the conjunction of all scores for each city, using the m i n function (see Table 1.16). The lowest combined score d e t e r m i n e s t h e city's overall ranking. It follows from the table t h a t San Diego is clearly t h e winner.
T a b l e 1.16
Category
~i
C1 C2 C3 C4 C5 C6 C7
0 3 4 2 2 1 2
Intersection
N e w York
San D i e g o
s
Boston ~ivs
s
Cleveland ,~ivs
s
,.~ivs
s
s
~ivs
3 1 3 5 4 2 6
3 3 4 5 4 2 6
2 5 4 3 3 4 3
2 5 4 3 3 4 3
5 4 3 6 3 0 3
5 4 4 6 3 1 3
1 0 1 2 4 1 6
6 1 5 6 3 3 5
6 3 5 6 3 3 5
2
Miami
2
1
,~ivs
1 3 4 2 4 1 6 1
next best choices
3 winner
Finally, suppose we add a sixth city, say, Atlanta, for consideration. T h e n the Yager m e t h o d e n s u r e s t h a t the revised choice will be the existing choice (San Diego) or Atlanta; it c a n ' t be any of the others. T h u s the p r o c e d u r e allows i n c r e m e n t a l decision making, so m a n a g e a b l e subdecisions can be combined into an overall final choice.
Exercises 1.2 Give the t r u t h value o f p in each case. 1. p -- q, and q is not true.
2. p - q, q - r, and r is true.
Verify each, w h e r e f denotes a contradiction. (See Table 1.14.)
3. ~ ( ~ p ) =-p
4. p Ap ------p
5. p Vp = p
6. p A q = - - q A p
7. p V q = q V p
8. " ~ ( p V q ) = - - ~ p A ' - q
9. ~ ( p --> q) - p
A ~q
30
Chapter I
The Language of Logic
10. p ~ q = ( p A ~ q ) - - ~ f
11. p A ( q A r ) = - - ( p A q ) A r
12. p ~ ( q V r ) - - ( p A ' ~ q ) ~ r
13.
(p v q) ~
r -- (p --~ r) A (q ~
r)
U s e De M o r g a n ' s laws to e v a l u a t e e a c h b o o l e a n e x p r e s s i o n , w h e r e x = 2, y = 5, a n d z = 3. 14. ~ [ ( x < z ) 16.
A(y
"~[(X _> y) V (3' < Z)]
15.
~[(y<X)
A(Z<X)]
17.
~[(X < Z) V (z < y)]
D e t e r m i n e w h e t h e r t h e a s s i g n m e n t s t a t e m e n t c ~- c + 1 will be e x e c u t e d by t h e if-statement or while-loop, w h e r e x ~- 5, y ~-- 3, a n d z ~- 7. 18. I f ~ l ( x < y) A (y _< z)] t h e n c+--c+l 20.
If~l(x >__ y) v (x c~-c+l
<
z)! t h e n
z) A (x _< Y)! t h e n
19. If ~ [ ( x = c~c+l 21.
If ~ [ ( x _< z) v (y = c~c+l
z)i t h e n
2 2 . W h i l e "~[(x _< z) v (x < 3)! do c~-c+l
23. While ~l(x c<--c+l
> 6) A (y = 4)! do
2 4 . W h i l e ~ l ( x = y) v (y = z)l do c~--c+l
25. While ~l(x c~-c+l
= 6) v (y = z)l do
T h e logical o p e r a t o r s N A N D (not and) a n d N O R (not or) a r e defined as follows: p N A N D q _= ~ ( p A q) p N O R q = ~ ( p v q) C o n s t r u c t a t r u t h table for each proposition. 26. p N A N D q
27. p N O R q
M a r k each s e n t e n c e as t r u e or false, w h e r e p , q , statements, t a tautology, and f a contradiction. 28. p A q = _ q A p
29. p v q - q w p
30. p A t = p
32. pv--p=t
33. pA~p--=f
34.
35.
38.
39. I f p = q a n d q = r , If p v q - _ - p v r ,
31. p v f = _ p
~(pAq)=upA~q
36. p ~ q = - - q ~ p
~(pvq)~pv~q
37. p = p
41.
and r are arbitrary
thenp=r.
Ifp=_q, thenq=p.
40. I f p A q = p A r ,
thenq=r.
thenq-r.
Use De M o r g a n ' s laws to verify each. (Hint: p ~ q = ~ p v q). 42.
~ ( ~ p A ~ q ) -- p V q
43.
~ ( ~ p V q) =_ p A ~ q
45.
~ ( p A ~ q ) -- ~ p V q
46. ~ ( p ~ q) - - p A ~ q
44.
~(~p v ~q) - p A q
47. p --~ ~ q -- ~ ( p A q )
1.2 Logical Equivalences
31
48. Show t h a t the connectives A, -+, and ~ can be expressed in t e r m s of v and ~. (Hint: Use Exercise 44, law 18, and Tables 1.6 and 1.7.) Simplify each boolean expression. 49. p A ( p A q )
50. p v ( p v q )
51. p V ( ~ p A q )
52. ( p A ~ q ) v ( p A q ) V r *54. (p A ~q) V (~p A q) V (~p A ~ q )
*53. p A (p V ~q) A (~p V ~q)
C o n s t r u c t an equivalent, simpler n e t w o r k for each switching network.
55.
@
@
9 56.
|
@
|
@
The S h e f f e r s t r o k e I is a binary operator** defined by the following t r u t h table. P
q
Plq
T T F F
T F T F
F T T T
(Note: On page 25 we used the vertical bar ] to m e a n is a f a c t o r of. The actual m e a n i n g should be clear from the context. So be careful.) Verify each. (Note: Exercise 58 shows t h a t the logical operators I and NAND are the same.)
57. ~ p = pip
58. plq -- ~ ( P A q)
59. p A q - (Plq)l(Plq)
60. p v q =_ (PLP)l(q]q)
61. p ~ q =_ ((P[P)I(P[P))[(q[q)
62. ~ ( p v q) - ((P[P)l(qlq))l((P[P)l(qlq))
*63. Express p XOR q in t e r m s of the Sheffer stroke. (Hint: p XOR q - [(p v q) A ~ ( p A q)]. ) **The Sheffer stroke, named after the American logician Henry M. Sheffer (1883-1964), was devised by the American logician Charles S. Peirce (1839-1914).
32
Chapter I The Language of Logic
*64. Express p o q in terms of the Sheffer stroke. (Hint: p ~ q (p ~ q) A (q --~ p).) [Note: Exercises 57-64 indicate t h a t all boolean operators can be expressed in t e r m s of the Sheffer stroke!] Exercises 6 5 - 7 8 deal w i t h p r o p o s i t i o n s in f u z z y logic.
Let p, q, and r be simple propositions with t(p) = 1, t(q) - 0.3, and t(r) = 0.5. Compute the t r u t h value of each, where s' denotes the negation of the s t a t e m e n t s. 65. (p')'
66. p A q
67. p v r
68. q v q'
69. q A q'
70. p' v q
71. (p A q)'
72. p' v q'
73. (p v q)'
74. p A q'
75. q V r'
76. ( p V q ) A ( p ' V q )
Let p be a simple proposition with t(p) = x and p' its negation. Find each. 77. t(p v p')
78. t(p A p')
We now investigate a class of propositions different from those presented in the preceding sections. Take a good look at the following propositions: 9 All people are mortal. 9 Every computer is a 16-bit machine. 9 No birds are black. 9 Some people have blue eyes. 9 There exists an even prime number. Each contains a word indicating quantity such as all, every, none, some, and one. Such words, called q u a n t i f i e r s , give us an idea about how m a n y objects have a certain property. There are two different quantifiers. The first is all, the u n i v e r s a l q u a n tifier, denoted by V, an inverted A. You may read V as for all, for each, or for every. The second quantifier is some, the e x i s t e n t i a l q u a n t i f i e r , denoted by 3, a backward E. You may read 3 for some, there exists a, or for at least one. Note t h a t the word some means at least one. The next two examples d e m o n s t r a t e how to write quantified propositions symbolically. Let x be any apple. T h e n the sentence A l l apples are green can be written as For every x, x is green. Using the universal quantifier V, this sentence can be represented symbolically as (Vx)(x is green) or (Vx)P(x) where P(x) :x is green. (Note: x is j u s t a d u m m y variable.) m
1.3
Quantifiers
33
Predicate
Here P(x), called a p r e d i c a t e , states the property the object x has. Since P(x) involves just one variable, it is a u n a r y predicate. The set of all values x can have is called the u n i v e r s e o f d i s c o u r s e (UD). In the above example, the UD is the set of all apples. Note t h a t P(x) is not a proposition, but just an expression. However, it can be transformed into a proposition by assigning values to x. The t r u t h value of P(x) is predicated on the values assigned to x from the UD. The variable x in the predicate P(x) is a f r e e variable. As x varies over the UD, the t r u t h value of P(x) can vary. On the other hand, the variable x in (Vx)P(x) is a b o u n d variable, bound by the quantifier V. The proposition (u has a fixed t r u t h value. Rewrite the sentence Some chalkboards are black, symbolically. SOLUTION: Choose the set of all chalkboards as the UD. Let x be an a r b i t r a r y chalkboard. Then the given sentence can be written as: There exists an x such t h a t x is black. Using the existential quantifier, this can be symbolized as (3x)b(x), where b(x): x is black, m The next example illustrates how to find the t r u t h values of quantified propositions. The a b s o l u t e v a l u e of a real n u m b e r x, denoted by Ixl, is defined by
I x l - {x --X
if x > 0 ifx < 0
Determine the t r u t h value of each proposition, where the UD = set of all real numbers: (1) ( V x ) ( x 2 > 0)
(2) (Vx) (ixl > 0)
SOLUTION: (1) Since the square of every real n u m b e r is nonnegative, the t r u t h value of (Vx) (X2 > 0) is T. (2) It is not true that the absolute value of every n u m b e r is positive, since 10i - 0, not greater t h a n zero. So the t r u t h value of (Vx) (Ixl > 0) is F. m A predicate may contain two or more variables. A predicate t h a t contains two variables is a b i n a r y predicate. For instance, P(x,y) is a binary predicate. If a predicate contains n variables, it is an n - a r y predicate. The next two examples involve binary predicates.
34
Chapter I The Language of Logic Rewrite each proposition symbolically, w h e r e UD - set of real n u m b e r s . (1) (2) (3) (4)
For each i n t e g e r x, t h e r e exists an i n t e g e r y such t h a t x + y - 0. T h e r e exists an i n t e g e r x such t h a t x + y = y for every i n t e g e r y. For all integers x a n d y, x .y = y . x. T h e r e are i n t e g e r s x a n d y such t h a t x + y = 5.
SOLUTION: (1) (2) (3) (4)
(u (3x)(Vy)(x (Vx)(Vy)(x (3x)(3y)(x
+ y - 0)), which is usually w r i t t e n as (Vx)(3y)(x + y - 0). + y = y) . y = y . x) + y = 5) m
The order of the variables x a n d y in (Vx)(Vy) a n d (3x)(3y) can be c h a n g e d w i t h o u t affecting the t r u t h values of t h e propositions. For instance, (Vx)(Vy)(xy = yx) ==_ (Vy)(Vx)(xy = yx). Nonetheless, t h e order is import a n t in (Vx)(3y) and (3y)(Vx). For example, let P(x,y): x < y w h e r e x and y are integers. T h e n (Vx)(3y)P(x,y) m e a n s For every integer x, there is a suitable i n t e g e r y such t h a t x < y; y = x + 1 is such an integer. Therefore, (Vx)(3y)P(x,y) is true. But (3y)(Vx)P(x,y) m e a n s There exists an integer y, say, b, such that (Vx)P(x,b); t h a t is, every integer x is less than b. Clearly, it is false. Moral? T h e proposition (Qlx)(Q2y)P(x,y) is e v a l u a t e d as (Qlx)[ (Q2y)P(x,y)], w h e r e Q1 and Q2 are quantifiers. A graphical approach can be helpful in finding the t r u t h values of propositions in the form (Qlx)(Q2y)P(x,y), w h e r e x and y are real n u m b e r s , as the next example illustrates. (optional*) D e t e r m i n e t h e t r u t h value of each proposition, w h e r e P(x,y)" y < x 2, and x and y are real n u m b e r s . (1) (Vx)(Vy)P(x,y) (4) (Vy)(3x)P(x,y)
(2) (Sx)(3y)P(x,y) (5) (3x)(Vy)P(x,y)
(3) (Vx)(3y)P(x,y) (6) (3y)(Vx)P(x,y)
SOLUTION: The g r a p h of the e q u a t i o n y = x 2 is a parabola, as s h o w n in F i g u r e 1.8. The p a r a b o l a is shown as a b r o k e n g r a p h since no points on it satisfy the i n e q u a l i t y y < x 2. The shaded region r e p r e s e n t s t h e solutions of the inequality. (1) Is y < x 2 for all x and y? In o t h e r words, is the e n t i r e plane shaded? Since this is not t h e case, proposition (1) is false. (2) (3x)(3y)P(x,y) is t r u e i f y < x 2 for some real n u m b e r s x a n d y; t h a t is, if and only if some portion of the c a r t e s i a n plane is shaded. Since this is true, proposition (2) is true.
*Based on E. A. Kuehls, "The Truth-Value of {V,3, P(x,y)}: A Graphical Approach," Mathematics Magazine, Vol. 43 (Nov. 1970), pp. 260-261.
35
1.3 Quantifiers F i g u r e 1.8
y y =X 2 I I I I / / /
\
/
/
y
<X 2
/
\ \
/
(3) (Vx)(ay)P(x,y) is t r u e if t h e r e is a point (x,y) in the shaded a r e a corresponding to every x; t h a t is, it is t r u e if every vertical line i n t e r s e c t s the shaded area. Since this is the case, the proposition is true. (4) (Vy)(ax)P(x,y) is t r u e since every horizontal line intersects the s h a d e d area. (5) (ax)(Vy)P(x,y) m e a n s t h e r e is a n x such t h a t y < x 2 for ally. Therefore, the proposition is t r u e if t h e r e is a vertical line which lies wholly w i t h i n the shaded region. Since no such line exists, the proposition is false. (6) (ay)(Vx)P(x,y) is t r u e if t h e r e is a horizontal line which lies wholly within the shaded area. Since t h e r e are such lines, the proposition is true.
I Note: This graphical approach elucidates the difference b e t w e e n (Vx)(3y) and (3x)(u and also b e t w e e n (u and (::lx)(u (3x)(u d e m a n d s a fixed x, w h e r e a s (u does not d e m a n d such a fixed x. Next we discuss how to negate quantified propositions. Recall from E x a m p l e 1.24 t h a t the proposition All apples are green can be symbolized as (u w h e r e P(x): x is green. Its negation is: It is false t h a t all apples are green. T h a t is, t h e r e exists an apple t h a t is not green. In symbols, this can be w r i t t e n as (3x)(~P(x)). Thus, ~[(Vx)P(x)] _= (3x)[~P(x)]. Similarly, ~[ (3x)P(x)] - (Vx)[~P(x)]. These two properties are De M o r g a n ' s laws for n e g a t i n g quantifiers.
De M o r g a n ' s l a w s 9 ~[(Vx)P(x)l ~ (3x)[~P(x)l 9 ~[('v'x)P(x)l ~ (Vx)[~P(x)l
m
Chapter I The Language of Logic
36
By virtue of these laws, be careful w h e n n e g a t i n g quantified propositions. W h e n you negate the universal quantifier u it becomes the existential quantifier 3; w h e n you negate the existential quantifier, it becomes the universal quantifier. In Section 1.5, we discuss a nice application of the first law to disproving propositions.
Negate each proposition, where the UD - set of integers. (1) (Vx) (X 2
--
X)
(2) (3X) (IXl -- X)
SOLUTION: 9 ~l(Vx)(x 2 - x)l - (3x)l~(x 2 - x)! -
(3x)(x 2 r x).
9 "-l(3x)(Ixl - x)l = (Vx)l-~( xl - x)! - (Vx)(Ixl # x). Negate each quantified proposition. (1) (2) (3) (4)
Every c o m p u t e r is a 16-bit machine. Some girls are blondes. All chalkboards are black. No person has green eyes.
SOLUTION: Their negations are: (1) (2) (3) (4)
Some c o m p u t e r s are not 16-bit machines. No girls are blondes. Some chalkboards are not black. Some people have green eyes.
m
In closing, we should point out t h a t w h a t we discussed in Sections 1.1 and 1.2 is p r o p o s i t i o n a l logic; it deals with u n q u a n t i f i e d propositions. However, as we saw t h r o u g h o u t this section, not all propositions can be symbolized in propositional logic, so quantifiers are needed. The area of logic t h a t deals with quantified propositions is p r e d i c a t e logic.
Exercises 1.3 D e t e r m i n e the t r u t h value of each proposition, where the UD consists of the n u m b e r s +1, i 2 , and 0. 1.
(VX)(X 2 - -
4)
4. (Vy)(y4 + 3y 2 -- 2)
2.
( 3 X ) ( X 3 + 2X 2 - - X ~-
5. ~(u
3 -x)
2) 3. (Vx)(x 5 + 4x
-
5 x 3)
6. (Vx)l~(x 5 - 4x)l
1.3
Quantifiers
37
L e t P(x): x 2 > x, Q(x): x 2 = x, a n d t h e U D = set of i n t e g e r s . D e t e r m i n e t h e t r u t h v a l u e of e a c h p r o p o s i t i o n . 7. (Vx)l~P(x)]
8. ( 3 x ) l ~ P ( x ) ]
10. (Vx)[P(x) A Q(x)]
9. ( ~ x ) l P ( x ) A Q(x)!
11. ( 3 x ) [ P ( x ) v Q(x)]
12. (Vx)[P(x) v Q(x)]
R e w r i t e e a c h s e n t e n c e symbolically, w h e r e P(x): x is a 16-bit m a c h i n e , Q(x): x u s e s t h e ASCII** c h a r a c t e r set, a n d t h e U D = set of all c o m p u t e r s . 13. T h e r e is a c o m p u t e r t h a t is a 16-bit m a c h i n e a n d u s e s t h e A S C I I c h a r a c t e r set as well. 14. We can find a 16-bit c o m p u t e r t h a t does n o t u s e t h e A S C I I c h a r a c t e r set. 15. We can find a c o m p u t e r t h a t is e i t h e r a 16-bit m a c h i n e or d o e s n o t u s e t h e ASCII c h a r a c t e r set. 16. T h e r e exists a c o m p u t e r t h a t is n e i t h e r a 16-bit m a c h i n e n o r u s e s t h e ASCII c h a r a c t e r set. N e g a t e each p r o p o s i t i o n , w h e r e x is a n a r b i t r a r y i n t e g e r . 17. (Vx)(x 2 > 0) 18. ( 3 x ) ( x 2 r 5x - 6) 19. E v e r y s u p e r c o m p u t e r is m a n u f a c t u r e d in J a p a n . 20. T h e r e a r e no w h i t e e l e p h a n t s . R e w r i t e each s e n t e n c e numbers.
symbolically,
where
the
UD
consists
of real
21. T h e p r o d u c t of a n y two real n u m b e r s x a n d y is positive. 22. T h e r e a r e real n u m b e r s x a n d y s u c h t h a t x = 2y. 23. F o r each real n u m b e r x, t h e r e is s o m e real n u m b e r y s u c h t h a t x .y - x. 24. T h e r e is a real n u m b e r x s u c h t h a t x + y = y for e v e r y real n u m b e r y. 25-28.
F i n d t h e t r u t h v a l u e of e a c h p r o p o s i t i o n in E x e r c i s e s 2 1 - 2 4 .
R e w r i t e e a c h in words, w h e r e U D = set of i n t e g e r s . 29. (VX)(X2 >_ 0)
30. ~(3X)(X 2 = 2)
31. ( 3 X ) ( 3 y ) ( x + y = 7)
32. (VX)(3y)(xy = 3)
33. (3X)(Vy)(y -- X = y)
34. (VX)(Vy)(x + y = y + X)
35-40.
F i n d t h e t r u t h v a l u e of e a c h p r o p o s i t i o n in E x e r c i s e s 2 9 - 3 4 .
L e t U D = set of i n t e g e r s , P(x,y): x is a m u l t i p l e of y, a n d Q(x,y) : x > y. D e t e r m i n e t h e t r u t h v a l u e of e a c h p r o p o s i t i o n .
**ASCII is the acronym for American Standard Code for Information Interchange.
38
Chapter I The Language of Logic
42. (Vx)P(x, 2)
41. (3x)P(15,x)
43. ~(3x)P(x, 5)
44. (3x)[P(x, 3) A Q(x, 3)1
45. (3x)[P(x, 2) v Q(x, 6)1
46. (Vx)(3y)P(x,y)
47. (Vx)(3y)Q(x, y)
48. (Vx)[P(x, 3) ~ Q(x, 3)]
49. (3x)[Q(x, 3) --~ P(x, 3)]
Let UD = set of real n u m b e r s and P(x,y): y2 < x. D e t e r m i n e the t r u t h value of each proposition. 50. (Vx)(Vy)P(x,y)
51. (3x)(3y)P(x,y)
52. (Vx)(3y)P(x,y)
53. (Vy)(3x)P(x,y)
54. (3x)(u
55. (3y)(Vx)P(x,y)
A third useful quantifier is the u n i q u e n e s s q u a n t i f i e r 3!. T h e proposition (3!x)P(x) means There exists a unique (meaning exactly one) x such that P(x). Determine the t r u t h value of each proposition, where UD - set of integers. 56. (3!x)(x + 3 = 3)
57. (3!X)(X 2 : 1)
58. (3!x)(3!y)(xy = 1)
59. (3!x)(Vy)(x + y = y)
60. (3!x)(3!y)(2x = 3y)
61. (Vx)(3!y)(x + y = 4)
Determine the t r u t h value of each, where P(s) denotes an a r b i t r a r y predicate. 62. (3x)P(x) --* (3!x)(P(x)
63. (3!x)P(x) --* (3x)P(x)
64. (Vx)P(x) --* (3!x)P(x)
65. (3x)P(x) ~ (Vx)P(x)
66. (Vx)P(x) ~ (3x)P(x)
67. (3!x)P(x) ~ (3!y)P(y)
*68. Define the quantifier 3! in t e r m s of the quantifiers 3 and v.
Suppose we are given a finite set of propositions (called h y p o t h e s e s ) H1, H 2 , . . . , Hn, all assumed true. Also assume t h a t from these p r e m i s e s , we can arrive at a conclusion C t h r o u g h reasoning (or argument). Such a discussion can be written in i n f e r e n t i a l f o r m as follows, where the symbol .'. means therefore" H1
H2
hypotheses
Hn .'. C
~ conclusion
1.4 Arguments(optional)
39
What does it mean to say that our reasoning in such a discussion is logical-that is, that the argument is valid?
Valid and Invalid Arguments An argument is v a l i d if the conjunction of the hypotheses H1, H 2 , . . . , Hn logically implies the conclusion C: that is, the implication H1 A H2 A ... A Hn -~ C is a tautology. Otherwise, the argument is i n v a l i d , a fallacy. Thus, an argument is valid if and only if the conclusion is a logical consequence of the hypotheses. In other words, if the hypotheses are assumed true, then the conclusion must follow logically from them. True hypotheses always lead to a true conclusion by a valid argument. We begin checking the validity of arguments by using a well-known logic puzzle, due to R. M. Smullyan. Test the validity of the following argument. H1 : There are more residents in New York City than there are hairs in the head of any resident. H2 : No resident is totally bald. .'. At least two residents must have the same number of hairs on their heads. SOLUTION: (The argument contains two hypotheses. We always assume they are true and need to check whether the given conclusion follows logically from them.) Suppose there are n residents in New York City. By H1, the number of hairs on the head of every resident is less n; by H2 every resident has at least one hair on his head. If each person has a different number of hairs, there must be n positive integers less than n, which is impossible. Therefore, at least two residents must have the same number of hairs on their heads. Since the logical conclusion agrees with the given conclusion, the argument is valid. (This example is an application of the pigeonhole principle presented in Section 3.4.) m The next example presents another well-known logic puzzle, again due to Smullyan. There are two kinds of inhabitants, knights and knaves, on an island. Knights always tell the truth, whereas knaves always lie. Every inhabitant is either a knight or a knave. One day three i n h a b i t a n t s - - A , B, and C - were standing together in a garden. A nomad came by and asked A, "Are you a knight or a knave?" Since A answered rather indistinctly, the stranger could make nothing out of his reply. So he asked B, "What did A say?" B replied, "A said, he is
40
Chapter 1
The Language of Logic
Henry Ernest Dudeney (1857-1930), England's greatest puzzlist and perhaps the greatest puzzlist who ever lived, was born in Mayfield, Sussex, England. Dudeney and Sam Loyd, the American puzzle genius, used to exchange puzzles and collaborate on puzzle articles in magazines and newspapers. Dudeney authored six books on puzzles, beginning with The Canterbury Puzzles (1907). Three of his collections were published posthumously.
a knave." At this point C j u m p e d into the conversation and said, "Don't believe B; he is lying." What are B and C? SOLUTION: A knight would never say, "I'm a knave," since he never lies. A knave would not say that either since he never tells the truth. Therefore, A did not say he was a knave. So B lied to the nomad and hence is a knave. Consequently, C was telling the truth, so C is a knight. Thus B is a knave and C is a knight. (This example is pursued f u r t h e r in the exercises.) m The next puzzle* is a variation of a brainteaser developed by the English puzzlist, Henry Dudeney. Its solution does not employ any logic variables, but illustrates a clever problem-solving technique. ~
Smith, Jones, and Robinson are the brakeman, engineer, and fireman o n a train, not necessarily in that order. Riding on the train are three passengers with the same last names who are identified by a "Mr." before their names. Assuming the following premises are true, determine who the engineer is. No two passengers live in the same city. Mr. Robinson lives in New York. The b r a k e m a n lives in Dallas. Mr. Jones has forgotten all the algebra he learned in high school. H5: The passenger whose last name is the same as the b r a k e m a n ' s lives in Los Angeles. H6 : The b r a k e m a n and one of the passengers, a m a t h e m a t i c a l genius, attend the same local church. H7: Smith beats the fireman in golf.
HI: H2: H3: H4 :
*Based on M. Gardner, Mathematical Puzzles and Diversions, The University of Chicago Press, Chicago, 1987.
1.4 Arguments(optional)
41
SOLUTION: We begin with two three-by-three arrays of empty cells with labels as in Figure 1.9. Use the premises to fill in the cells with O's and l's; enter a i in a cell with headings x and y if x has property y and enter a 0 otherwise. Premise H7 implies Smith is not a fireman, so enter a 0 in the u p p e r right cell in Figure 1.9b. Since Mr. Robinson lives in New York (H2), place a i in the lower left cell in Figure 1.9a and O's in the r e m a i n i n g cells of the same row and column (why?). It now follows t h a t either Mr. Smith or Mr. Jones lives in Dallas. Does Mr. Jones live there?
F i g u r e 1.9
J Mr. Smith
Smith
Mr. Jones
Jones
Mr. Robinson
Robinson (a)
(b)
Since Mr. Jones cannot be a mathematical genius by H4, the passenger genius m u s t be Mr. Smith. By H6, Mr. Smith and the b r a k e m a n live in the same city. Since it m u s t be Dallas by H3, enter a 1 in the upper middle cell in Figure 1.9a and O's in the r e m a i n i n g cells of the same row and column. It now follows t h a t Mr. Jones lives in Los Angeles, so place a 1 in the middle cell of the third column in Figure 1.9a and O's everywhere else. Figure 1.10a displays the resulting array. By premise H5, the b r a k e m a n and the passenger who lives in Los Angeles have the same last name, so the b r a k e m a n m u s t be Jones; therefore, put a 1 in the first cell of the middle row in Figure 1.9b and O's in the r e m a i n i n g cells of the same row and column. By now, the top row in Figure 1.9b contains two O's, so the middle cell must occupy a i (why?); so the middle cell in the bottom row a 0; hence the lower right cell m u s t occupy a 1. Figure 1.10b shows the resulting array.
F i g u r e 1.10 Mr. Smith
0
1
0
Smith
0
1
0
Mr. Jones
0
0
1
Jones
1
0
0
Mr. Robinson
1
0
0
Robinson
0
0
1
(a)
(b)
It follows from Figure 1.10b t h a t Smith is the engineer,
m
42
Chapter I The Language of Logic
B e r t r a n d A r t h u r William Russell (1872-1970), a British philosopher and mathematician, was born into a prominent, aristocratic, and progressive-minded family near Trelleck, Wales. His mother died in 1874 and his father two years later; so the young Russell was brought up by his father's parents. Russell was home-educated by tutors. In 1890 he entered Trinity College, Cambridge, where he excelled in both mathematics and the moral sciences. In 1895, he was awarded a fellowship for his original dissertation on the foundations of geometry, published in 1897. After graduation, he worked briefly in the British embassy in Paris and then he went to Germany, where he wrote his first book, German Social Democracy (1896). In 1910, Trinity appointed him a lecturer in logic and the philosophy of mathematics. Russell's outspokenness and liberal views often landed him in controversies. Around 1907, Russell fought hard for women's suffrage in the United Kingdom. During World War I, he was dismissed by Trinity for his protests and pacifist views. In 1918, he was imprisoned for 6 months for an article that was branded seditious. While in prison, he wrote Introduction to Mathematical Philosophy. When he was about 90 years old, he was imprisoned again for campaigning for nuclear disarmament. In 1925, Trinity, realizing that the 1916 dismissal was excessively harsh, invited Russell back. He served there as a fellow from 1944 until his death. Russell wrote more than 40 books on diverse subjects, including philosophy and physics; his greatest work is the three-volume Principia Mathematica (1910-1913), which he coauthored with the Cambridge philosopher Alfred North Whitehead (1861-1947). It describes the logical construction of the foundations of mathematics from a set of primitive axioms. Russell won the 1950 Nobel prize for literature "as a defender of humanity and freedom of thought."
The following example is yet another well-known puzzle, the b a r b e r p a r a d o x , presented by the British mathematician and philosopher Bertrand Russell in 1918. There is a male barber in a certain town. He shaves all those men and only those men who do not shave themselves. Does the barber shave himself?. SOLUTION: Suppose the barber shaves himself. Then he belongs to the class of men who shave themselves. But no one in this class is shaved by the barber, so the barber does not shave himself, which is a contradiction. On the other hand, suppose the barber does not shave himself. Since the barber shaves all those men who do not shave themselves, he shaves himself, again a contradiction. Thus either case leads to a paradox: If the barber shaves himself, he does not shave himself; and conversely if he does not shave himself, then he shaves himself. So, logically, no such barber exists, m The symbols and the laws of logic can often be applied to check the validity of an argument, as the next two examples illustrate. To this end, follow the steps below: 9 Rewrite the hypotheses symbolically.
1.4 Arguments(optional)
43
9 Assume the hypotheses are true. 9 If the i n f e r e n c e rules in Table 1.17 and/or the laws of logic can be used to reach the given conclusion, t h e n the given a r g u m e n t is valid; otherwise, it is invalid; t h a t is, the a r g u m e n t contains a flaw.
Table 1.17
Inference Rules 1. p A q ~
conjunction simplification addition law of detachment law of the contrapositive disjunctive syllogism hypothetical syllogism
(pAq)
2. p A q - - + p 3. p - - + p V q 4. [p A (p ~ q)l ~ q
5. [(p ~ q) A (~q)] ~ ~p 6. [(p Vq) A (~P)l -+ q 7. [ ( p o q ) A ( q ~ r ) l ~ ( p ~ r )
A few words of explanation about each rule: The c o n j u n c t i o n rule says t h a t if both p and q are true, then p A q is t r u e - - a fact you already knew. According to the s i m p l i f i c a t i o n rule, i f p A q is true, t h e n p is true. The a d d i t i o n r u l e says t h a t ifp is true, then p v q is true regardless of the t r u t h value of q. By the l a w of d e t a c h m e n t , if an implication p -~ q is true and the premise p is true, then you can always conclude t h a t q is also true; in other words, a true premise leads to a true conclusion logically. The l a w of the c o n t r a p o s i t i v e says t h a t if an implication p -~ q is true, but the conclusion q is false, then the premise p m u s t be false. The two syllogisms can be interpreted similarly. It is obvious t h a t the inference rules play a central role in d e t e r m i n i n g the validity of an argument. These rules, which are tautologies, can be established using t r u t h tables. Try a few. Each of the inference rules can be written in inferential form. For instance, the law of d e t a c h m e n t can be r e w r i t t e n as follows: P p~q .'.
q
Check the validity of the following argument. If the computer was down Saturday afternoon, t h e n Mary went to a matinee. Either Mary went to a matinee or took a nap S a t u r d a y afternoon. Mary did not take a nap t h a t afternoon. .'. The computer was down S a t u r d a y afternoon.
44
Chapter I The Language of Logic
SOLUTION: To avoid our emotions' playing any role in the way we reason, first t r a n s l a t e the discussion into symbols. Let p: The c o m p u t e r was down S a t u r d a y afternoon. q: M a r y went to a m a t i n e e S a t u r d a y afternoon. r: M a r y took a nap S a t u r d a y afternoon. T h e n the given a r g u m e n t can be symbolized as follows:
Hl "p --~ q H2 q v r
hypotheses
H3 " ~ r .'. p
~ conclusion
Every step in our logical r e a s o n i n g and the c o r r e s p o n d i n g justification are given below: 1. 2. 3. 4. 5.
~ r is true. q v r is true. q is true. p -~ q is true. T h e n p may be true or false.
hypothesis H3 hypothesis H~ step 1, step 2, and disjunctive syllogism hypothesis H 1 step 4, step 5, and definition of implication.
Since our logical conclusion does not agree with the given conclusion, the given a r g u m e n t is invalid. (Using a t r u t h table you may verify t h a t I(p --~ q) A (q V r) A (~r)i --~ p is not a tautology. This provides an a l t e r n a t e d e m o n s t r a t i o n t h a t this a r g u m e n t is invalid.) Note: Trivial steps may be omitted from such a r e a s o n i n g w i t h o u t jeopardizing the logical progression, m We conclude this section with an example from Lewis Carroll's famous book Symbolic Logic. Two additional examples appear in the exercises. Check the validity of the following a r g u m e n t . Babies are illogical. Nobody is despised who can m a n a g e a crocodile. Illogical persons are despised. .'. Babies cannot m a n a g e crocodiles.
SOLUTION: First t r a n s l a t e the sentences into if-then form using symbols, so we let p: q: r: s:
Harry Harry Harry Harry
is a baby. is illogical. can m a n a g e a crocodile. is despised.
1.4 Arguments(optional)
9.: ;
[email protected]":. .....'i'. ,' :,!~u'~':"., , . , '..~." "',;~4.~'.~i, ..,,. .~'. ~ .... ....., :-.,. :...,
~" :., ... ~:..
~.,.:,.~ "~ ,~. . ,~
.:~.,,. v,.,.....~,~';.... . .:%, . ,:~.,:.... 9 ,,-,,7% .i{?}~" ;;:,
" . :!.;..'.'.~.~: ~.,v~-,.~.
45
L e w i s C a r r o l l (1832-1898) (a pseudonym of Charles Lutwidge Dodgson) was the son of a clergyman and was born in Daresbury, England. He graduated from Christ Church College, Oxford University, in 1854 and began teaching mathematics at his alma mater in 1855, where he spent most of his life. He became a deacon in the Church of England in 1861. Carroll's famous Alice in Wonderland and its sequel, Through the LookingGlass and What Alice Found There, have provided a lot of pleasure to both children and adults all over the world. Alice in Wonderland is available in more than 30 languages, including Arabic and Chinese, and also in braille. The character is named for Alice Liddell, a daughter of the dean of Christ Church College.
, ":{.~.t~::"
T h e n t h e a r g u m e n t can be w r i t t e n as: Hl:p~q H2: r ~ ~ s H3: q --+ s .'. p --~ ~ r E v e r y step of o u r logical r e a s o n i n g is given below: 1. 2. 3. 4. 5.
(p --~ q) A (q --~ s) is true. p --+ s is t r u e . s --+ ~ r is t r u e . (p --~ s) A (S --+ ~ r ) is t r u e . p --~ ~ r is t r u e .
c o n j u n c t i o n rule h y p o t h e t i c a l syllogism law of t h e c o n t r a p o s i t i v e c o n j u n c t i o n rule h y p o t h e t i c a l syllogism
Since t h e given conclusion a g r e e s w i t h t h e logical conclusion, t h e a r g u m e n t is valid, m
Exercises 1.4 R e w r i t e each i m p l i c a t i o n in i n f e r e n t i a l form. 1. [(p ~ q) A ( ~ q ) ] - + ~P
2. [(p -+ q) A (q ~ r ) ] - ~ (p -~ r)
Verify t h a t each i n f e r e n c e rule is a tautology. 3. p--+ ( p v q )
4. [ ( p ~ q )
T e s t t h e validity of each a r g u m e n t . 5. p v q qvr ~r .'. p
6. p ~ q ~.pvr ~r
.'. ~ q
A(qor)l~
(p~r)
46
Chapter I The Language of Logic
7. If Bill likes cats, he dislikes dogs. Bill likes dogs. .. Bill dislikes cats. 8. If P a t passes this course, she will g r a d u a t e this year. P a t does not pass this course. .. P a t will not g r a d u a t e this year. 9. F r a n k b o u g h t a personal c o m p u t e r or a video cassette recorder (VCR). If he b o u g h t a VCR, t h e n he likes to watch movies at home. He does not like to watch movies at home. .. F r a n k b o u g h t a personal computer. 10. If P e t e r is married, he is happy. If he is happy, t h e n he does not read the c o m p u t e r magazine. He does read the c o m p u t e r magazine. .'. Peter is u n m a r r i e d .
(Exercises 11 and 12 come from Lewis Carroll's Symbolic Logic.) "11. All philosophers are logical. An illogical person is always obstinate. .'. Some obstinate persons are not philosophers. "12. No ducks waltz. No officers ever decline to waltz. All my poultry are ducks. .'. My poultry are not officers. Give the simplest possible conclusion in each a r g u m e n t . A s s u m e each premise is true. 13. p o q up v r ~r
14. p ~ q p v ~r r
15. p - ~ ~ q ~ r --~ q p
16. p - ~ q ~ r --* ~q ~r
17. The p r o g r a m is r u n n i n g if and only if the c o m p u t e r is working. The c o m p u t e r is w o r k i n g or the power is off. The power is on. 18. Linda has a video cassette recorder (VCR). If she has a personal computer, t h e n she does not have a VCR. If she does not have a personal computer, t h e n she has a calculator.
1.4 Arguments (optional)
47
19. Carol is a baby if and only if she is illogical. Either she is illogical or unhappy. But she is happy. 20. Three persons took a room for $30 at a hotel. Soon after they checked out, the room clerk realized she had overcharged them since the room rents for $25. She sent a bellhop to them with a $5 reimbursement, but he returned to them only $3, keeping $2 for himself. Thus the room cost $30 - $3 -- $27 and $27 + $2 - $29, so what happened to the extra dollar? 21. Aaron, Benjamin, Cindy, and Daphne 28, and 27 years old, not necessarily to the oldest person. Aaron is older Daphne. Who is married to whom and Teacher, 1990)
are all friends. They are 34, 29, in that order. Cindy is married than Cindy, but younger t h a n how old are they? (Mathematics
22. A family party consisted of one grandfather, one grandmother, two fathers, two mothers, four children, three grandchildren, one brother, two sisters, two sons, two daughters, one father-in-law, one mother-inlaw, and one daughter-in-law. A total of 23 people, apparently. But no; there were only seven people at the party. How could this be possible? (B. Hamilton, 1992) 23. Three g e n t l e m e n ~ Mr. Blue, Mr. Gray, and Mr. W h i t e ~ have shirts and ties that are blue, gray, and white, but not necessarily in that order. No person's clothing has the same color as his last name. Mr. Blue's tie has the same color as Mr. Gray's shirt. What color is Mr. White's shirt? (Mathematics Teacher, 1986) 24. Three men and their wives were given $5400. The wives together received $2400. Sue had $200 more than Jan, and Lynn had $200 more than Sue. Lou got half as much as his wife, Bob the same as his wife, and Matt twice as much as his wife. Who is married to whom? (Mathematics Teacher, 1986) There are seven lots, 1 through 7, to be developed in a certain city. A builder would like to build one bank, two hotels, and two restaurants on these lots, subject to the following restrictions by the city planning board (The Official LSAT PrepBook, 1991): used. If lot 2 is used, lot 4 cannot be used. If lot 5 is used, lot 6 cannot be built on |1 The bank can be built only on lot 5, 6, or 7. A hotel cannot be lot 5. A restaurant_ can _be built._ only on lot~ 1, 2, 3, or 5. ]
J
25. Which of the following is a possible list of locations for building them? A. The bank on lot 7, hotels on lots 1 and 4, and restaurants on lots 2 and 5.
48
Chapter I The Language of Logic
B. T h e b a n k on lot 7, hotels on lots 3 a n d 4, a n d r e s t a u r a n t s on lots 1 a n d 5. C. T h e b a n k on lot 7, hotels on lots 4 a n d 5, a n d r e s t a u r a n t s on lots 1 and 3. 26. If a r e s t a u r a n t is built on lot 5, which of t h e following is not a possible list of locations? A. A hotel on lot 2 a n d lot 4 is left undeveloped. B. A r e s t a u r a n t on lot 2 a n d lot 4 is left undeveloped. C. A hotel on lot 2 a n d lot 3 is left undeveloped. Exercises 27-31 refer to E x a m p l e 1.32 a n d are based on S m u l l y a n ' s What is the name of this book ? A and B are i n h a b i t a n t s of the island. W h a t are t h e y if A says each of t h e following? 27. "At least one of us is a k n a v e . " 28. " E i t h e r I ' m a knave or B is a k n i g h t . " 29. A, B, and C are i n h a b i t a n t s of the island. Two r e s i d e n t s are of the same type if they are both k n i g h t s or both knaves. A says, "B a n d C are of the s a m e type." Someone t h e n asks C, "Are A and B of t h e s a m e type?" W h a t does C answer? 30. A says, "All of us are knaves," and B says, " E x a c t l y one of us is a k n i g h t . " W h a t are A, B, and C? 31. A says, "All of us are knaves," and B says, "Exactly one of us is a knave." W h a t is C? Every i n h a b i t a n t on a m y s t e r i o u s p l a n e t is e i t h e r red or green. In addition, each i n h a b i t a n t is e i t h e r male or female. E v e r y red m a n always tells the t r u t h , w h e r e a s every green m a n always lies. T h e women, on t h e o t h e r hand, are opposite: every green w o m a n tells the t r u t h and every red w o m a n lies. Since the natives always disguise t h e i r voices, and w e a r m a s k s a n d gloves, it is impossible to identify t h e i r sex or color. B u t a clever a n t h r o p o l o g i s t from M a t h l a n d m e t a native who m a d e a s t a t e m e n t from which he was able to deduce t h a t the native was a green w o m a n . (R. S m u l l y a n , Discover, 1993) 32. W h a t could the native have said? J u s t i f y y o u r answer. 33. The second native t h e a n t h r o p o l o g i s t interviewed also m a d e a statem e n t from which he was able to conclude t h a t the native was a m a n (but not his color). Give a s t a t e m e n t t h a t would work. Again, justify y o u r answer.
1.5 Proof Methods
49
Four women, one of whom was known to have committed a serious crime, made the following statements when questioned by the police: (B. Bissinger, Parade Magazine, 1993) Fawn: Kitty: Bunny: Robin:
"Kitty did it." "Robin did it." "I didn't do it." "Kitty lied."
34. If exactly one of these statements is true, identify the guilty woman. 35. If exactly one of these statements is false, identify the guilty woman. *36. "How is it, Professor Whipple," asked a curious student, "that someone as notoriously absentminded as you are manages to remember his telephone number?" "Quite simple, young man" replied the professor. "I simply keep in mind that it is the only seven-digit number such that the number obtained by reversing its digits is a factor of the number." What is Professor Whipple's telephone number? (A. J. Friedland, 1970) *37. Five angry cowgirls, standing in a field, accuse each other of rustling. No two distances between every two women are the same. Each has one bullet in her gun. At the count of ten, each shoots the nearest person in the toe. Will any cowgirl be shot or will at least one escape injury? (M. Gardner, Parade Magazine, 1993)
Proofs, no matter how simple or complicated they are, are the heart and soul of mathematics. They play a central role in the development of mathematics and guarantee the correctness of mathematical results and algorithms (see Chapters 4 and 5). No mathematical results or computer algorithms are accepted as correct unless they are proved using logical reasoning. A t h e o r e m in mathematics is a true proposition. Many theorems are implications H1 A H2 A . . . A Hn ---> C. P r o v i n g such a theorem means verifying that the proposition HI A H2 A.-. A Hn --> C is a tautology. This section presents six standard methods for proving theorems: v a c u o u s p r o o f , t r i v i a l p r o o f , d i r e c t p r o o f , i n d i r e c t p r o o f , p r o o f b y cases, and e x i s t e n c e proof. Vacuous and trivial proofs are, in general, parts of larger and complicated proofs, as will be seen in Chapters 4 and 5. Vacuous Proof
Suppose the hypothesis H of the implication H ~ C is false. Then the implication is true regardless of whether C is true or false. Thus if the
50
Chapter I The Language of Logic hypothesis H can be shown to be false, the t h e o r e m H ~ C is t r u e by default; such a proof is a v a c u o u s p r o o f . Vacuous proofs, a l t h o u g h rare, are necessary to h a n d l e special cases, as will be seen in C h a p t e r 5. Since the hypothesis of the s t a t e m e n t I f I = 2, t h e n 3 = 4 is false, the proposition is vacuously true. m
Trivial Proof Suppose the conclusion c of the implication H ~ C is true. Again, the implication is true irrespective of the t r u t h value of H. Consequently, if C can be shown to be true, such a proof is a t r i v i a l p r o o f . Let P(n)" Ifx is a positive real n u m b e r and n any nonnegative integer, then (1 + x ) n > 1 + n x . Since (1 + x) ~ > 1 + 0. x always, the proposition P(0) is true. Thus the theorem is trivially true when n = 0. In this trivial proof we did not use the premise t h a t x > 0. m
Next we pursue a n o t h e r proof method.
Direct Proof In the d i r e c t p r o o f of the t h e o r e m H1 A H2 A . . . A Hn ~ C, assume the given hypotheses Hi are true. Using the laws of logic or previously known facts, establish the desired conclusion C as the final step of a chain of implications: H ~ C1, C1 ~ C2,... ,Cn -* C. Then, by the repeated application of the hypothetical syllogism, it follows t h a t H ~ C. The next example illustrates this method. Often, theorems are stated in terms of sentences, so we need to first rewrite t h e m symbolically and t h e n work with the symbols, as the next example demonstrates. Prove directly t h a t the product of any two odd integers is an odd integer.
PROOF: Let x and y be any two odd integers. Then there exist integers m and n such t h a t x = 2m + 1 and y = 2n + 1. Thus, x . y - (2m + 1). (2n + 1) = 4mn
+ 2m + 2n + 1
= 2(2mn + m + n) + 1 =2k+1 where k - 2 m n + m + n is an integer. Therefore, x y is an odd integer. This concludes the proof. (Can you rewrite this proof as a chain of implications?) m
1.5 ProofMethods
51
Indirect Proof T h e r e are two kinds of i n d i r e c t p r o o f s for the t h e o r e m H1 A H2 A . . - A Hn ---> C: p r o o f o f t h e c o n t r a p o s i t i v e and p r o o f b y c o n t r a d i c t i o n . The first m e t h o d is based on the law of the contrapositive, H1 A H2 A - . . A Hn ---> C - ~ C -+ ~(H1 A H2 A-.. A Hn). [You m a y recall, by De M o r g a n ' s law, t h a t ~(H1 A H2 A . . . A Hn) -= ~H1 v ~ H 2 v . . . v ~Hn.] In this method, a s s u m e the desired conclusion C is false; t h e n using the laws of logic, establish t h a t some hypothesis Hi is also false. Once you have done this, the t h e o r e m is proved. The next example enlightens this method. Prove indirectly: If the square of an integer is odd, t h e n the integer is odd.
PROOF OF THE CONTRAPOSITIVE Let x be any integer such t h a t X 2 is odd. We would like to prove t h a t x m u s t be an odd integer. In the indirect method, we a s s u m e the conclusion is false; t h a t is, x is not odd; in o t h e r words, a s s u m e x is an even integer. Let x - 2k for some integer k. T h e n x 2 - (2k) 2 - 4k 2 - 2(2k2), which is an even integer. This makes our hypothesis t h a t x 2 is an odd integer false. Therefore, by the law of the contrapositive, our a s s u m p t i o n m u s t be wrong; in other words, x m u s t be an odd integer. Thus, ifx 2 is an odd integer, t h e n x is also an odd integer, m P r o o f b y c o n t r a d i c t i o n , the other variation of indirect proof, is based on the law of reductio ad absurdum: H1 A H2 A . . . A H,~ --~ C ~ IH1 A H2 A . . . A H,~ A (~C)| ~ F. In this method, a s s u m e the given hypotheses Hi are true, but the conclusion C is false. T h e n argue logically and reach a contradiction F. The next example illustrates this method, where a p r i m e n u m b e r p is a positive integer with exactly two positive factors, 1 and p. Prove by contradiction: T h e r e is no largest prime n u m b e r ; t h a t is, there are infinitely m a n y prime n u m b e r s . P R O O F BY C O N T R A D I C T I O N (Notice that the theorem has no explicit hypothesis.) Suppose the given conclusion is false; t h a t is, t h e r e is a largest prime n u m b e r p. So the prime n u m b e r s we have are 2, 3, 5 , . . . ,p; a s s u m e t h e r e are k such primes, p l , p 2 , . . . , and Pk. Let x denote the product of all of these prime n u m b e r s plus one: x = ( 2 . 3 - 5 . . . p ) + 1. Clearly, x > p. W h e n x is divided by each of the primes 2, 3, 5 , . . . ,p, we get 1 as the remainder. So x is not divisible by any of the primes. Hence either x m u s t be a prime, or if x is composite t h e n x is divisible by a prime q # Pi. In either case, there are more t h a n k primes. But this contradicts the a s s u m p t i o n t h a t there are k primes, so our a s s u m p t i o n is false. In other words, t h e r e is no largest prime number, m Now we t u r n to yet a n o t h e r proof technique.
Chapter I
52
The Language of Logic
Proof by Cases Suppose we would like to prove a t h e o r e m of the form H1 v H2 v . . . v Hn -+ C. Since H I v H2 v . . . v H a -+ C --- ( H I ---> C) A (H2 ---> C) A . . - A (Hn ~ C), the s t a t e m e n t H1 v H2 v . . . v Hn ~ C is t r u e if a n d only if each i m p l i c a t i o n Hi --> C is true. Consequently, we need only prove t h a t each
implication is true. Such a proof is a p r o o f b y c a s e s , as i l l u s t r a t e d in the following example, due to R. M. Smullyan. Let A, B, and C be three i n h a b i t a n t s of the island described in Example 1.32. Two i n h a b i t a n t s are of the s a m e type if they are b o t h k n i g h t s or both knaves. Suppose A says, "B is a knave," and B says, "A a n d C are of the same type." Prove t h a t C is a knave.
PROOF BY CASES Although this t h e o r e m is not explicitly of the form I-I1 v H2 v . . . v I-In ~ C, we artificially create two cases, namely, A is a k n i g h t and A is a knave.
Case 1
Suppose A is a knight. Since k n i g h t s always tell the t r u t h , his s t a t e m e n t t h a t B is a knave is true. So B is a knave and hence B's s t a t e m e n t is false. Therefore, A and C are of different types; t h u s C is a knave.
Case 2
Suppose A is a knave. T h e n his s t a t e m e n t is false, so B is a knight. Since k n i g h t s always tell the t r u t h , B's s t a t e m e n t is true. So A and C are of the same type; t h u s C is a knave. T h u s in both cases, C is a knave,
m
Existence Proof Finally, t h e o r e m s of the form (~x)P(x) also occur in m a t h e m a t i c s . To prove such a theorem, we m u s t establish the existence of an object a for which P(a) is true. Accordingly, such a proof is an e x i s t e n c e p r o o f . T h e r e are two kinds of existence proofs: the c o n s t r u c t i v e e x i s t e n c e proof and the n o n c o n s t r u c t i v e e x i s t e n c e p r o o f . If we are able to find a m a t h e m a t i c a l object b such t h a t P(b) is true, such an existence proof is a c o n s t r u c t i v e p r o o f . The following example elucidates this method. Prove t h a t there is a positive integer t h a t can be expressed in two different ways as the sum of two cubes.
CONSTRUCTIVE PROOF By the discussion above, all we need is to produce a positive integer b t h a t has the required properties. Choose b - 1729. Since 1729 - 13 + 123 = 93 + 103, 1729 is such an integer.* m
*A fascinating anecdote is told about the number 1729. In 1919, when the Indian mathematical genius Srinivasa Ramanujan (1887-1920) was sick in a nursing home in England, the eminent
1.5 ProofMethods
53
A n o n c o n s t r u c t i v e existence proof of the t h e o r e m (3x)P(x) does not provide us with an e l e m e n t a for which P(a) is true, b u t r a t h e r establishes its existence by an indirect m e t h o d , usually contradiction, as i l l u s t r a t e d by the next example. Prove t h a t t h e r e is a p r i m e n u m b e r > 3.
NONCONSTRUCTIVE PROOF Suppose t h e r e are no primes > 3. T h e n 2 and 3 are the only primes. Since every integer >_ 2 can be expressed as a p r o d u c t of powers of primes, 25 m u s t be expressible as a p r o d u c t of powers of 2 and 3, t h a t is, 25 - 2 i 3 j for some integers i and j. But n e i t h e r 2 nor 3 is a factor of 25, so 25 c a n n o t be w r i t t e n in the form 2 i 3 j , a contradiction. Consequently, t h e r e m u s t be a p r i m e > 3. II We invite you to give a constructive proof of the s t a t e m e n t in the example. We conclude this section with a brief discussion of counterexamples.
Counterexample Is the s t a t e m e n t E v e r y g i r l is a b r u n e t t e t r u e or false? Since we can find at least one girl who is not a b r u n e t t e , it is false! More generally, suppose you would like to show t h a t the s t a t e m e n t (Vx)P(x) is false. Since ~[(Vx)P(x)] _= (3x)[~P(x)] by De M o r g a n ' s law, the s t a t e m e n t (Vx)P(x) is false if t h e r e exists an item x in the UD for which the predicate P(x) is false. Such an object x is a c o u n t e r e x a m p l e . Thus, to disprove the proposition (Vx)P(x), all we need is to produce a c o u n t e r e x a m p l e c for which P(c) is false, as the next two examples d e m o n s t r a t e . N u m b e r theorists d r e a m of finding formulas t h a t g e n e r a t e p r i m e n u m b e r s . One such f o r m u l a was found by the Swiss m a t h e m a t i c i a n L e o n h a r d E u l e r (see C h a p t e r 8), namely, E ( n ) - n 2 - n + 41. It yields a p r i m e for n = 1, 2, . . . , 40. Suppose we claim t h a t the f o r m u l a g e n e r a t e s a p r i m e for every positive integer n. Since E(41) = 412 - 41 + 41 = 412 is not a prime, 41 is a counterexample, t h u s disproving the claim. II A r o u n d 1640, F e r m a t conjectured t h a t n u m b e r s of the form f ( n ) - 22'' + 1 are prime n u m b e r s for all n o n n e g a t i v e integers n. For instance, f(0) = 3, f(1) = 5, f(2) = 17, f(3) = 257, and f(4) = 65,537 are all primes. In 1732, however, E u l e r established the falsity of F e r m a t ' s conjecture by producing a counterexample. He showed t h a t f(5) - 22'~ + 1 - 641 • 6700417, a composite n u m b e r . (Prime n u m b e r s of the form 22'' + I are called F e r m a t primes.) I1 English mathematician Godfrey Harold Hardy (1877-1947) visited him. He told Ramanujan that the number of the cab he came in, 1729, was "a rather dull number" and hoped that it wasn't a bad omen. "No, Hardy," Ramanujan responded, "It is a very interesting number. It is the smallest number expressible as the sum of two cubes in two different ways."
Chapter I The Language of Logic
54
Exercises 1.5 D e t e r m i n e if each implication is vacuously t r u e for the indicated value of n. 1. If n > 1, t h e n 2 n > n; n - 0 2. If n > 4, t h e n 2 n >_ n2"n, - O, 1, 2, 3 D e t e r m i n e if each implication is trivially true. 3. If n is a p r i m e n u m b e r , t h e n n 2 -+- n is an even integer. 4. If n > 41, t h e n n 3 - n is divisible by 3. Prove each directly. 5. The s u m of a n y two even i n t e g e r s is even. 6. The s u m of a n y two odd i n t e g e r s is even. 7. The s q u a r e of an even i n t e g e r is even. 8. The product of any two even i n t e g e r s is even. 9. The s q u a r e of an odd integer is odd. 10. The product of any two odd i n t e g e r s is odd. 11. The product of any even i n t e g e r a n d any odd integer is even. 12. The s q u a r e of every integer of t h e form 3k + 1 is also of t h e s a m e form, w h e r e k is an a r b i t r a r y integer. 13. The s q u a r e of every integer of t h e form 4k + 1 is also of t h e s a m e form, w h e r e k is an a r b i t r a r y integer. 14. T h e a r i t h m e t i c
mean
~-~ of a n y two n o n n e g a t i v e real n u m b e r s a
and b is g r e a t e r t h a n or equal to t h e i r g e o m e t r i c m e a n j~ab. IHint" consider (v/-a- v/-b)2 > 0.] Prove each u s i n g the law of the contrapositive. 15. If the s q u a r e of an integer is even, t h e n the integer is even. 16. If the s q u a r e of an integer is odd, t h e n the i n t e g e r is odd. 17. If the product of two integers is even, t h e n at least one of t h e m m u s t be an even integer. 18. If the product of two integers is odd, t h e n both m u s t be odd integers. Prove by contradiction, w h e r e p is a p r i m e n u m b e r . 19. j ~ is an irrational n u m b e r . 21. v/~ is an irrational n u m b e r .
20. v ~ is an i r r a t i o n a l n u m b e r . *22. log102 is an i r r a t i o n a l n u m b e r .
Prove by cases, w h e r e n is an a r b i t r a r y integer and Ixl denotes t h e absolute value of x.
1.5 ProofMethods
55
23. n 2 + n is a n e v e n i n t e g e r .
25. n 3 - n is divisible by 3.
24. 2n 3 + 3n 2 + n is a n e v e n i n t e g e r .
( H i n t : A s s u m e t h a t e v e r y i n t e g e r is of t h e f o r m
3k, 3k + 1, or 3k + 2.)
26. ] - x [ = [ x [
27. [ x . y [ = [ x [ . [ y ]
28. [x +y] _< [x[ + [y[
P r o v e by t h e e x i s t e n c e m e t h o d . 29. T h e r e a r e i n t e g e r s x s u c h t h a t x 2 = x. 30. T h e r e a r e i n t e g e r s x s u c h t h a t [x] = x. 31. T h e r e a r e i n f i n i t e l y m a n y i n t e g e r s t h a t c a n be e x p r e s s e d as t h e s u m o f t w o c u b e s in t w o d i f f e r e n t ways. 32. T h e e q u a t i o n x 2 + y2 = z 2 h a s infinitely m a n y i n t e g e r s o l u t i o n s . Give a c o u n t e r e x a m p l e to d i s p r o v e e a c h s t a t e m e n t , w h e r e P(x) d e n o t e s a n arbitrary predicate. 33. T h e a b s o l u t e v a l u e of e v e r y real n u m b e r is positive. 34. T h e s q u a r e of e v e r y real n u m b e r is positive. 35. E v e r y p r i m e n u m b e r is odd. 36. E v e r y m o n t h h a s exactly 30 days. 37. (3x)P(x) ~
(3!x)P(x)
38. (~x)P(x) -~ (Vx)P(x) 39. F i n d t h e flaw in t h e following "proof": L e t a a n d b be real n u m b e r s s u c h t h a t a = b. T h e n a b = b 2. Therefore, a 2 - ab = a 2 - b 2 F a c t o r i n g , a ( a - b) - ( a + b ) ( a - b) C a n c e l a - b f r o m b o t h sides: a=a+b
Since a - b, t h i s yields a - 2a. C a n c e l a f r o m b o t h sides. T h e n we get 1 = 2. L e t a, b, a n d c b e a n y real n u m b e r s . T h e n a < b if a n d only if t h e r e is a positive real n u m b e r x s u c h t h a t a + x - b. U s e t h i s fact to p r o v e each. 40. If a < b a n d b < c, t h e n a < c. ( t r a n s i t i v e 41. I f a < b ,
thena+c
property)
56
Chapter I The Language of Logic
42. I f a + c < b + c ,
thena
43. Let a and b be any two real n u m b e r s such t h a t a . b - 0. T h e n e i t h e r a - 0 or b - O. [ H i n t : p ~ (q v r ) - ( p A ~ q ) ~ r.] *44. The f o r m u l a f ( n ) - n 2 - 79n + 1601 yields a p r i m e for 0 _< n < 10. Give a c o u n t e r e x a m p l e to disprove t h e claim t h a t t h e f o r m u l a yields a p r i m e for every n o n n e g a t i v e i n t e g e r n. *45. P r i m e n u m b e r s of the form f ( n ) = 2 n - 1, w h e r e n is a positive integer, are called M e r s e n n e p r i m e s , after the F r a n c i s c a n m o n k M a r i n M e r s e n n e (1588-1648). For example, f(2) = 3,f(3) = 7, a n d f ( 5 ) = 31 are M e r s e n n e primes. Give a c o u n t e r e x a m p l e to disprove t h e claim t h a t if n is a prime, t h e n 2 n - 1 is a prime.
This c h a p t e r p r e s e n t e d the f u n d a m e n t a l s of symbolic logic and the s t a n d a r d techniques of proving t h e o r e m s . Proposition 9 A p r o p o s i t i o n is a declarative sentence t h a t is either t r u e or false, b u t not both (page 2). 9 A c o m p o u n d p r o p o s i t i o n can be formed by c o m b i n i n g two or more simple propositions, using logical operators" A, v, 4 , 4 , and ( page 5). 9 The c o n j u n c t i o n of two propositions is t r u e if and only if b o t h compon e n t s are true; their d i s j u n c t i o n is t r u e if at least one c o m p o n e n t is true. An i m p l i c a t i o n is false only if the premise is t r u e and the conclusion is false. A b i c o n d i t i o n a l is t r u e if and only if both c o m p o n e n t s have the same t r u t h value (pages 5-14). 9 The t r u t h tables for the various logical operations can be combined into a single table, as in Table 1.18.
T a b l e 1.18
p
q
pAq
T T F F
T F T F
T F F F
(pVq)
,.~p
T T T F
F F T T
p--.q
T F T T
p~q
T F F T
9 T h r e e new implications can be c o n s t r u c t e d from a given implication: c o n v e r s e , i n v e r s e , and c o n t r a p o s i t i v e (page 11).
Chapter Summary
57
9 Various types of sentences and propositions can be s u m m a r i z e d in a tree diagram, as in Figure 1.11.
Figure 1.11
sentence ~
interrogative
declarative
~
~
imperative matory
proposition
simple
non-proposition
compound
conjunction
biconditional
disjunction
inclusive
exclusive
conditional
implication
converse
inverse
contrapositive
9 A tautology is a compound s t a t e m e n t t h a t is always true. A contradiction is a compound s t a t e m e n t t h a t is always false. A c o n t i n g e n c y is a proposition t h a t is neither a tautology nor a contradiction (page 16). 9 Two compound propositions, p and q, are l o g i c a l l y e q u i v a l e n t if t h e y have identical t r u t h values, symbolized by p - q (page 20). 9 The i m p o r t a n t laws of logic are listed in Table 1.13 on page 21.
Argument 9 An a r g u m e n t H1 A H2 A . . - A Hn ---> C is valid if the implication is a tautology; otherwise, it is invalid (page 39). 9 The i m p o r t a n t inference rules are listed in Table 1.15 on page 43.
Quantifiers 9 There are two quantifiers: u n i v e r s a l quantifier (V) and e x i s t e n t i a l quantifier (3) (page 32). 9 A predicate P(x) is a sentence about the properties of the object x. The set of all values of x is the u n i v e r s e o f d i s c o u r s e (UD) (page 33).
9 De Morgan's laws:
--~[(Vx)P(x)] = (3x)[~P(x)l ~[(3x)P(x)] ~ (Vx)[~P(x)l
(page 35)
Chapter I The Language of Logic
58 Proof Methods
9 T h e r e are six c o m m o n l y used proof techniques: v a c u o u s proof, trivial proof, direct method, indirect method, proof by cases, a n d existence proof (pages 49-53).
Figure 1.12
proof vacuous
trivial
direct
contrapositive
indirect
by cases
contradiction
exi~sence
constructive
nonconstructive
9 In a direct proof, a s s u m e the given h y p o t h e s e s are true. T h e n t r y to reach the given conclusion logically (page 50). 9 For indirect proof by contrapositive, a s s u m e the given conclusion is false. T h e n establish directly t h a t the given hypothesis is also false (page 51). 9 For indirect proof by contradiction, a s s u m e the given hypothesis is true, but the given conclusion is false. T h e n try to reach a contradiction ( page 51). 9 For a constructive existence proof of a t h e o r e m (3x)P(x), produce an element b such t h a t P(b) is t r u e (page 52). In a n o n c o n s t r u c t i v e existence proof, establish the existence of such an element b by an indirect m e t h o d (page 53).
Counterexample 9 To disprove the proposition (Vx)P(x), it suffices to produce an object c for which P(c) is false (page 53).
Review Exercises C o n s t r u c t a t r u t h table for each proposition. 1. (p vq) A (~q)
2. (p ~ q) ~ r
3. p --. (q --* r)
4. (p ~ q) V r
Evaluate each boolean expression, where a - 3, b -- 7, c - 2, and d - 11.
5. (a_
c ) v ( b > d ) ]
6. l ( a > b ) A ( b < c ) l v ( c < d )
7. ( c > d ) v l ( b < c ) A ( d < b ) l
8. ( b < c ) v ~ [ ( a < c ) A ( c < d ) l
Represent each sentence symbolically, numbers. 9. I f w < x a n d y < z ,
thenw+y<x+z.
where w , x , y ,
and z are real
Chapter Summary
59
10. If w - x a n d y - z, t h e n w .y = x . z. D e t e r m i n e if t h e a s s i g n m e n t s t a t e m e n t x ~ y + z will be e x e c u t e d in e a c h s e q u e n c e of s t a t e m e n t s , w h e r e i ~ 5, j ~-- 3, a n d k ~ 7. 11. If (i < j ) v (j _< k) t h e n
12. If (i > j ) A (j > k) t h e n
x+--y+z 13. I f ~ [ ( i
x+--y+z
> j ) v (j
<
k)] t h e n
x+--y-z
14. O d d +--0 w h i l e (odd < 2) A (i < 4) do
x+--y+z
else
x+--y+z R e p r e s e n t e a c h n e t w o r k symbolically. 15.
| |
| | 9
16.
-@
|
Let t be a t r u e s t a t e m e n t a n d p a n a r b i t r a r y s t a t e m e n t . F i n d t h e t r u t h v a l u e of each. 17. p v
~ t --+p
18. p
v
t ~ ~t
19. t A ( p V t )
20. p A t -->pVt
U s e t h e g i v e n i n f o r m a t i o n to d e t e r m i n e t h e t r u t h v a l u e of e a c h s t a t e m e n t . 21. p ~ q, i f p v q is false.
22. p --+ q, if ~ p v q is false.
23. p --* ~ q , if q ~
24. p A q, i f p - . q is false.
~ p is false.
25. p v q, i f p ~ q is false.
26. p ~ q, i f p A q is t r u e .
27. p ~ q, i f p A ~ q is t r u e .
28. p v ~ q , if q A ~ p is t r u e .
29. p A (q A r), if r --= s a n d s is n o t t r u e . Give t h e c o n v e r s e , i n v e r s e , a n d c o n t r a p o s i t i v e of e a c h i m p l i c a t i o n . 30. If P a t is a girl, t h e n she h a s g r e e n eyes. 31. I f x < y ,
thenx+z
60
Chapter 1 The Language of Logic
Write t h e contrapositive of each implication. 32. If Ixl < 3, t h e n x < 3 a n d x > - 3 . 33. If Ixl > 3, t h e n e i t h e r x > 3 o r x < - 3 .
D e t e r m i n e if each is a logical equivalence. 34. p A q = ~ ( p o
35.
uq)
36. p A (p v q ) = p v (p A q )
~ ( p A ~ q ) = u p v q.
37. p --~ (q --~ r) -- (p --~ q) --~ r
D e t e r m i n e if each is a tautology. 38. p v (p A q ) ~ p
39. p A (p v q ) o p
40.
41. (p --~ ~q) ~ (q ~ u p )
(p A q) ~ u ( p ~ ~ q )
M a r k t r u e or false, w h e r e p, q, r, and s are a r b i t r a r y s t a t e m e n t s . 42. I f q _ = r , t h e n p A q - - = p A r .
43. I f q - r ,
thenpvq-pvr.
44. I f p _ = q , t h e n p ~
45. I f q - r ,
thenp~q-p~r.
r=q~r.
46. If p ,-. q is a tautology, t h e n
47. I f p --~ q - p --. r, t h e n q - r.
p-q.
C o n s t r u c t an equivalent simpler switching n e t w o r k for each circuit. 48.
~
49.
Test the validity of each a r g u m e n t . 51. p __~ u q (q A r) ~ u s
50. p v q q-.r ur
rAS
... u p
... u p
52. E i t h e r J a n e is not J o h n ' s sister or M a r y is not H a r r y ' s wife. M a r y is H a r r y ' s wife or J a n e is not m a r r i e d . J o h n goes to school if and only if J a n e is not m a r r i e d . J o h n does not go to school. .'. J a n e is not J o h n ' s sister. D e t e r m i n e the t r u t h value of each, w h e r e the UD consists of the integers 0 and 1. 53. ( 3 x ) ( x 3 ~= X) 55. ( 3 y ) l ( y - 1) 2 # y 2 _
54. (Vx)I(X + 1) 2 : X2 + 11 11
56. (Vx)(Vy)l(x + y ) 2 = x 2 +y21
Chapter Summary
61
Let UD - set of integers, P(x)" x < 3, and Q(x): x >_ 3. D e t e r m i n e the t r u t h value of each. 57. (Vx)lP(x) A Q(x)l
58. (Vx)[P(x) v Q(x)]
59. (3y)[P(y) A Q(y)]
60. (Sz)lP(z)vQ(z)l
61. (Vx)[~P(x)]
62. (3z)[~Q(z)]
Prove each, where a, b, c, d, and n are any integers. 63. The product of two consecutive integers is even. 64. n 3 + n is divisible by 2. 65. n 4 -- n 2 is divisible by 3. 66. I f a < b a n d c < d , 67. I f a + b
thena+c
> 12, t h e n e i t h e r a > 6 o r b
>6.
68. I f a b - ac, t h e n either a - 0 or b - c. [ H i n t : p ---> (qvr) - (p A~q) ~ r.] 69. If a 2 -- b 2, t h e n either a - b or a - - b . [ H i n t : p --> (q v r) -
( p A ~ q ) --+ r.]
70. Give a c o u n t e r e x a m p l e to disprove the following s t a t e m e n t : If n is a positive integer, t h e n n 2 + n + 41 is a prime n u m b e r . [Note: In 1798 the e m i n e n t F r e n c h m a t h e m a t i c i a n Adrien-Marie Legendre (1752-1833) discovered t h a t the formula L ( n ) - n 2 Zr- n + 41 yields distinct primes for 40 consecutive values of n. Notice t h a t L ( n ) - E ( - n ) ; see Example 1.45. ] The propositions
Let p , q , t(r)-0.5.
in Exercises
71-81 are fuzzy logic.
and r be simple propositions with t ( p )
-
1, t ( q ) -
0.3,
and
C o m p u t e the t r u t h value of each, where s' denotes the negation of the s t a t e m e n t s. 71. p A ( q v r )
72. p V ( q A r )
73. ( p A q ) V ( p A r )
74. ( p V q ) A ( p V r )
75. p'
76. (p
A
q'
77. (p v q')' v q
v
q')
v
(p
A
q)
78. (p A q)' A (p V q)
79. Let p be a simple proposition with t ( p ) = x and p' its negation. Show t h a t t ( p v p') = 1 if and only if t ( p ) = 0 or 1. Let p and q be simple propositions with t ( p ) 0 <_ x , y _< 1. Verify each.
-
x and t ( q )
-
80. ( p A q)' -- p ' V q' [ H i n t : Show t h a t t ( ( p A q ) ' ) -- t ( p ' ) v t(q').] 81. ( p v q)' -- p ' A q' [ H i n t : Show t h a t t ( ( p v q ) ' ) = t ( p ' ) A t(q').]
y, where
62
Chapter I
The Language of Logic
Supplementary Exercises W r i t e t h e converse, inverse, a n d c o n t r a p o s i t i v e of e a c h i m p l i c a t i o n . 2. Iflxl > a , t h e n x < - a o r x > a .
1. Iflxl < a , t h e n - a < x < a . Simplify each b o o l e a n expression.
3. (p
v
~q)
A
*5. (p
A
~q)
v
~(p (~p
A A
*4. [p v q v (~p A -~q)] v (p A ~q)
q)
q)
v
(~p
A
*6. (p V q) A "~(p A q) A (~p V q)
~q)
7. Let p - q a n d r - s. D e t e r m i n e i f p --+ (p A r) -- q --+ (q A S). N e g a t e each proposition, w h e r e U D = set of real n u m b e r s .
9. (Vx)(Vy)(xy = yx)
8. (VX)(3y)(xy >__1)
11. (Vx)(3y)(3z)(x + y = z)
10. (Vx)(Vy)(3z)(x + y = z) P r o v e each.
12. T h e e q u a t i o n x 3 + y3 = z 3 h a s infinitely m a n y i n t e g e r solutions. "13. Let n be a positive integer. T h e n n(3n 4 + 7n 2 + 2) is divisible by 12. "14. Let n be a positive integer. T h e n n(3n 4 + 13n 2 + 8) is divisible by 24. "15. In 1981 O. H i g g i n s discovered t h a t t h e f o r m u l a h(x) = 9x 2 471x + 6203 g e n e r a t e s a p r i m e for 40 c o n s e c u t i v e v a l u e s of x. Give a c o u n t e r e x a m p l e to show t h a t not every value of h(x) is a p r i m e . "16. T h e f o r m u l a g ( x ) = x 2 - 2999x + 2248541 yields a p r i m e for 80 consecutive v a l u e s ofx. Give a c o u n t e r e x a m p l e to disprove t h a t every value o f g ( x ) is a prime. In a t h r e e - v a l u e d l o g i c , developed by t h e Polish logician J a n L u k a s i e w i c z (1878-1956), t h e possible t r u t h values of a p r o p o s i t i o n a r e 0, u, a n d 1, w h e r e 0 r e p r e s e n t s F, u r e p r e s e n t s u n d e c i d e d , a n d 1 r e p r e s e n t s T. T h e logical c o n n e c t i v e s A, V, ', --~, a n d o are defined as follows: A
0
v
U
0
!
u
0
0
0
0
0
u
0
1
u
0
u
u
u
u
u
u
1
0
u
1
1
1
1
0
--+
0
u
0 u 1
1 u 0
1 1 u
0 u 1
0
u
1 u 0
u 1 u
Let p a n d q be a r b i t r a r y p r o p o s i t i o n s in a t h r e e - v a l u e d logic, w h e r e r' d e n o t e s t h e n e g a t i o n of s t a t e m e n t r a n d t(r) d e n o t e s t h e t r u t h value of r.
Chapter Summary
63
17. If t(p v p') = 1, show t h a t t(p) = 0 or 1. 18. Show t h a t p A q ~ p v q is a three-valued tautology. 19. Show t h a t (p --+ q) ~ (p' v q) is not a three-valued tautology. 20. Show t h a t (t9 ~ q) ~ (~q ~ ~p) is a three-valued tautology. 21. D e t e r m i n e if [p A (p ~ q)] ~ q is a three-valued tautology. Verify each. 22. (p A q)' =_p' v q'
[Hint: Show t h a t t((p A q)') = t(p') V t(q').]
23. (p V q)' -- p' A q'
[Hint: Show t h a t t((p v q)') = t(p') A t(q').]
Computer Exercises Write a p r o g r a m to perform each task. C o n s t r u c t a t r u t h table for each proposition. 1. ( p v q ) A ~ q
2. p N A N D q
3. p N O R q
4. (p ~ q) ~ ( ~ p v q)
5. (p --+ q) ~ r
6. (p --+ q) <-+ ( ~ q ~
~p)
D e t e r m i n e if each proposition is a tautology, by c o n s t r u c t i n g a t r u t h table. 7. p A ( p o q ) - - + q
9. p A ( p v q )
op
11. p A q --~ p V q
8. ( p V q ) A ( ~ q ) - - + p
10. ( p ~ q )
A ( ~ q ) - ~ ~p
12. (p --~ q) A (q --~ r) --~ (p -~ r)
D e t e r m i n e if the given propositions are logically equivalent, by c o n s t r u c t i n g t r u t h tables. 13. ~ ( p A q), ~ p A ~ q
14. p --~ q, ~ q --~ --p
15. p A ( q A r ) , (pAq) Ar
16. p A ( q V r ) , (pAq) V ( p A r )
17. (p --~ q) --~ r, p -~ (q --~ r)
18. p --~ (q v r), p A (~q) -+ r
Exploratory Writing Projects Using library and I n t e r n e t resources, write a t e a m r e p o r t on each of the following in y o u r own words. Provide a well-documented bibliography. 1. Write an essay on the c o n t r i b u t i o n s of G. Boole and W. Leibniz to m a t h e m a t i c a l logic. 2. Explain how (symbolic) logic helps you in everyday life. Give concrete examples. 3. Explain why proofs are i m p o r t a n t in m a t h e m a t i c s and c o m p u t e r science. Do they help you in everyday life? In problem-solving? In a work e n v i r o n m e n t ? Give examples of proofs in c o m p u t e r science.
Chapter I The Language of Logic
64
4. Give a detailed history of Fermat's last theorem. Include biographies of mathematicians who have worked on the problem. 5. Collect a number of well-known conjectures from number theory and explain recent advances toward establishing them or disproving them. Study a number of puzzles from R. M. Smullyan's Alice in Puzzle-land, What is the name of this book ?, and The Lady or the Tiger. 6. Write each as an argument and test the validity of it. 7. Write each as a theorem and establish it. 8. List a number of applications of fuzzy logic to everyday life. How do they enrich our lives? 9. Write a biography of H. M. Sheffer, C. S. Peirce, and A. M. Legendre. 10. Collect several examples on arguments from Lewis Carroll's Symbolic Logic and test the validity of each. Explain with examples the use of Euler diagrams in the analysis of arguments. 11. Collect several logic puzzles from recent issues of Discover magazine and Parade magazine. Solve each. 12. Study logic problems in the recent edition of The official L S A T PrepBook and solve them. 13. List several attempts to develop formulas for generating prime numbers. 14. Write an account of Fermat primes, Mersenne primes, the infinitude of each family, and their applications. 15. Investigate the pentomino puzzle, developed in 1954 by S. W. Golomb of the University of Southern California. Enrichment Readings
1. L. Carroll, Symbolic Logic and the Game of Logic, Dover, New York, 1958. 2. L. Carroll, Alice's Adventures in Wonderland and Through the Looking-Glass and What Alice Found There, Oxford, New York, 1982. 3. N. Falletta, The Paradoxicon, Wiley, New York, 1990. 4. M. Gardner, Mathematical Puzzles and Diversions, The University of Chicago Press, Chicago, 1987. 5. J. T. Johnson, "Fuzzy Logic," Popular Science, Vol. 237 (July 1990), pp. 87-89. 6. B. Kosko and S. Isaka, "Fuzzy Logic," Scientific American, Vol. 269 (July 1993), pp. 76-81.
Chapter Summary
65
7. H. T. Nguyen and E. A. Walker, A First Course in Fuzzy Logic, 2nd ed., Chapman and Hall/CRC, Boca Raton, FL, 2000. 8. R. M. Smullyan, Alice in Puzzle-land, Penguin, New York, 1984. 9. R. M. Smullyan, What is the name of this book?, Prentice Hall, Englewood Cliffs, NJ, 1978. 10. R. M. Smullyan, The Lady or the Tiger?, Random House, New York, 1992. 11. D. Solow, How to Read and Do Proofs, Wiley, New York, 1982.
Chapter 2
The L a n g u a g e of S e t s The essence of mathematics lies in its freedom. -- GEORG
CANTOR
T
he concept of a set is so f u n d a m e n t a l t h a t it unifies m a t h e m a t i c s and its cognates. It has revolutionized m a t h e m a t i c a l thinking, enabling us to express ourselves in clear and concise terms. The foundation of set theory was laid by the e m i n e n t G e r m a n mathematician Georg Cantor during the latter part of the 19th century. "Today, Cantor's set theory has p e n e t r a t e d into almost every b r a n c h of m a t h e m a t ics," as the m a t h e m a t i c a l historian Howard Eves writes in An Introduction to the History of Mathematics. In this chapter we present the language of sets. We introduce the concept of a set, the various ways of describing a set and of constructing new sets from known sets, a variety of applications, and a brief introduction to fuzzy sets. The following are some of the problems we shall p u r s u e in this chapter: 9 Find the n u m b e r of positive integers < N and divisible by a, b, or c. 9 How m a n y subsets does a finite set with n elements have? 9 How would you define the set of legally paired parentheses? 9 How m a n y sequences of legally paired p a r e n t h e s e s can be formed using n pairs of left and right parentheses?
This section introduces the concept of a set, various methods of defining sets, and relationships between sets.
67
Chapter2 The Language of Sets
68
Georg Cantor (1845-1918) was born in St. Petersburg, Russia, where his father was a successful merchant and broker. Cantor showed great interest in mathematics from early childhood. In 1856, the family moved to Germany. Six years later, he entered the University of Zurich, but in the following year he moved to the University of Halle to study mathematics, physics, and philosophy. There he was greatly influenced by the eminent mathematician Karl Weierstrass (1815-1897). Although his father wanted him to become an engineer, Cantor relentlessly pursued his interest in mathematics and received his doctorate of philosophy at 22 from the University of Berlin for his work in number theory. In 1869, Cantor began his professional career as an unsalaried lecturer at the University of Halle. Five years later, he published his revolutionary work on set theory. Cantor developed an arithmetic of transfinite numbers analogous to that of finite numbers, thus creating another area of mathematical study. He proved that the set of real numbers is uncountable and he also established the existence of infinitely many different transfinite cardinal numbers by ingenious methods. He also made significant contributions to indeterminate equations and trigonometric series. Deeply religious, Cantor was also interested in art, music, and philosophy. Being unhappy with his low salary at the University, Cantor tried to secure a better-paid position at the University of Berlin, but was sabotaged by Leopold Kronecker (1823-1891), an eminent mathematician at the University, who severely criticized Cantor's views on sets. Relentless attacks by contemporary mathematicians intensified the manic depression he suffered from. Cantor died in a mental hospital in Halle in 1918. Cantor was "one of the greatest intellects of the nineteenth century," according to Bertrarzd Russell. He "was an imaginative genius whose work has inspired/evel;y aspect of/mathematical thought," Hazel Perfect of the UnJiversity of Sheffield wrote in 1994.
Set A s e t is a collection of well-defined objects,* called e l e m e n t s (or m e m b e r s ) of the set. T h e r e should be no a m b i g u i t y in d e t e r m i n i n g w h e t h e r or not a given object belongs to the set. For example, the vowels of the E n g l i s h a l p h a b e t form a (well-defined) set, w h e r e a s beautiful cities in the U n i t e d S t a t e s do not form a set since its m e m b e r s h i p would be debatable. Sets are denoted by capital letters and t h e i r e l e m e n t s by lowercase letters. If an object x is an e l e m e n t of a set A, we write x E A; otherwise x CA. For example, let A be the set of New E n g l a n d states. T h e n Connecticut E A, w h e r e a s M i c h i g a n r A. T h e r e are two m e t h o d s of defining sets.
Listing Method A set can s o m e t i m e s be described by listing its m e m b e r s w i t h i n braces. For instance, the set B of New E n g l a n d states can be described as B = {ME, VT, NH, MA, CT, RI}. *To be precise, this is a circular definition; set is an undefined term, like point and line in geometry.
2.1 The Concept of a Set
69
The order in which the elements are e n u m e r a t e d is immaterial. Thus B can also be written as {VT, RI, MA, CT, NH, ME}. If an element is repeated, it is not counted more t h a n once. For example, { x , x , y , x , y , z } {x,y,z}. A set with a large n u m b e r of elements t h a t follow a definite p a t t e r n is often described using ellipses (...) by listing a few elements at the beginning. For example, the set of letters of the alphabet can be written as {a, b, c , . . . , z} and the set of odd positive integers as {1, 3, 5 , . . . }. Set-Builder Notation
Another way of describing a set is by using the s e t - b u i l d e r n o t a t i o n . Its general form is {x IP(x)}, where P(x) is a predicate indicating the p r o p e r t y (or properties) the object x has. You may read {x I P(x) } as the set c o n s i s t i n g o f all objects x such that x has the property P(x). Here the vertical bar "1" means such that. (Again, the m e a n i n g of the vertical bar should be clear from the context.) Let B be the set of all m o n t h s of the year with exactly 30 days. Then B - {xlx is a m o n t h of the year with exactly 30 days }
= {September, April, June, November}
I1
Next we present another of Russell's paradoxes introduced in 1901, which is quite similar to the barber paradox. Russell's Paradox
Let S = {X IX r X}; that is, S consists of all sets that do not belong to themselves as elements. Does S c S? I f S ~ S, then, by definition, S ~ S; on the other hand, if S r S, then, again by definition, S E S. Thus, in either case, we have a contradiction. This paradox shows, not every predicate defines a set; t h a t is, there is no set of all sets. Next we present several relationships between sets. Subset
If every element of A is also an element of B, A is a s u b s e t of B, denoted by A c_ B. In symbols, (A c_ B) o (Vx)(x ~ A --* x e B). If A c_ B, we also say that B c o n t a i n s A and write B D A. If A is not a subset of B, we write A ~ B; thus (A ~ B) ~ (3x)(x c A A x r B). Let A = set of states in the United States, B - set of New England states, and C - set of Canadian provinces. Then B g A, but B ~ C and A ~ C. I1 To show t h a t a set X is a subset of Y, select an arbitrary element x in X; then using the laws of logic and known facts, show that x is in Y also. We shall apply this technique in later sections. To show t h a t X ~ Y, all you need is to find an element x e X which does not belong to Y.
70
Chapter 2 The Language of Sets
Equal Sets Two sets A and B are e q u a l , denoted by A = B, if they contain the same I elements. In other words, A - B if (A _ B)/x (B c__A). (We shall use this ] property to prove the equality of sets.) If A c B and A 7~ B, t h e n A is a p r o p e r s u b s e t of B, denoted by A c B. Consider the sets A - {x ]x is a vowel of the alphabet}, B - {a, e, i, o, u}, C - {2, 3, 4}, and D - { x l x is a digit in the n u m e r a l 23432.} Then A - B, and C - D . m Does a set have to contain any element? Can there be a set with no elements? Suppose Fred went h u n t i n g in a nearby jungle and r e t u r n e d home with great tales, but no animals. The set of animals he caught is null. This leads us to the following definition.
Empty Set The set containing no elements is the empty (or n u l l ) set; it is denoted by 0 o r {}. The set of pink elephants is empty. So are the set of m o u n t a i n s on the earth t h a t are 50,000 feet tall and the set of prime n u m b e r s between 23 and 28. m Many people mistakenly believe t h a t {~} = IZI; this is n o t true, since {0} contains an element ~, whereas ~ = {} contains no elements. T h u s
Logically, it can be proved t h a t ~ is a subset of every set; t h a t is, 121 _ A for every set A. Besides, although m a n y people t h i n k t h a t there are m a n y empty sets, it can be proved t h a t it is unique, m e a n i n g there is exactly one empty set. (See Exercises 53 and 54.)
Universal Set It is always possible to choose a special set U(r ~) such that every set u n d e r discussion is a subset of U. Such a set is called a u n i v e r s a l set, denoted by U. Thus A c_ U for every set A. Suppose we wish to discuss something about the sets {a}, {b, c, d}, and {b, d, e, f}. Then U - {a, b, c, d, e, f} may be chosen as a valid universal set. (There are other valid choices also.) m
2.1
The Concept of a Set
71
(optional) Programming languages such as Pascal support the data type SET, although the implementations have a limit on the number of elements on the base-type of the set, that is, on the size of the universal set. For example, consider the Pascal declarations: TYPE
MONTHS = (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC); SETOFMONTHS = SET OF MONTHS; VAR
SPRING,SUMMER,FALL,WINTER: SETOFMONTHS;
Here the universal set is SETOFMONTHS = { JAN, FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC}.
The above variable declarations define four set variables, namely, SPRING, SUMMER, FALL, and WINTER. The set values assigned to them must be subsets of SETOFMONTHS. For instance, SPRING := [JAN,FEB,MAR];
is a legal Pascal assignment, although it is preposterous. The set membership operator in Pascal is IN and can be used to determine if an element belongs to a set. For example, FEB IN SPRINGis a legal boolean expression. Likewise, the set inclusion and containment operators are < = and > =, respectively, m
Disjoint Sets Sets need not have common elements. Two such sets are d i s j o i n t sets. For example, the sets {Ada, BASIC, FORTRAN} and {C++, Java} are disjoint; so are the sets { + , - , . , / } and {A, v , - ~ , ~ }.
Venn Diagrams Relationships between sets can be displayed using Venn diagrams, named after the English logician John Venn. In a Venn diagram, the universal set U is represented by the points inside a rectangle and sets by the points enclosed by simple closed curves inside the rectangle, as in Figure 2.1. Figure 2.2 shows A c B, whereas Figure 2.3 shows they are not disjoint.
F i g u r e 2.1
U
Chapter 2
72 Figure
2.2
The Language of Sets
U
AcB.
Figure
2.3
A and B m a y have c o m m o n elements.
9 . ~:~,~" ,,,~,
J o h n V e n n (1834-1923) was born into a philanthropic family in Hull, England. After attending the high schools at Highgate and Islington, in 1853 he entered Gonville and Caius College, Cambridge, and graduated in mathematics three years later. He was elected a fellow of the College, a position he held until his death. 9 'x~ In 1859 Venn was ordained in the Church of England, but after a brief period of church work, he returned to Cambridge as a lecturer on moral sciences. In 1883 he gave up his priesthood. The same year, he received a D.Sc. . . . . . !,. ~ ,::.,~, from Cambridge and was elected a fellow of the Royal Society of London. Venn was greatly influenced by Boole's work in ,symbolic logic. Venn's masterpiece, Symbolic Logic (1881), clarifies the inconsistencies and ambiguities in Boole's ideas and notations. He employed geometric diagrams to represent logical arguments, a technique originated by Leibniz and developed further by Euler. Venn added a rectangle to represent the universe of discourse. Venn published two additional books, The Logic of Chance (1866) and The Principles of Empirical Logic (1889).
~
.,. ;~:.,=~.,"
I
Can the elements of a set be sets? Certainly. { {a}, {b, c} }, and {0, {0}, {a, b } } are two such sets. In fact, the subsets of a set can be used to build a new set.
Power Set
The family of subsets of a set A is the p o w e r Find the power set P(A) of the set A - {a, b}.
s e t of A, denoted by P(A).
2.1 The Concept of a Set
73
SOLUTION: Since 0 is a subset of every set, 0 e P(A). Also, {a} a n d {b} are s u b s e t s of A. F u r t h e r , every set is a s u b s e t of itself, so A E P(A). T h u s , t h e v a r i o u s e l e m e n t s of P(A) are O, {a}, {b}, a n d A; t h a t is, P(A) - {0, {a}, {b},A}. m Sets can be classified as finite a n d infinite sets, as defined below.
Finite and Infinite Sets A set w i t h a definite n u m b e r of e l e m e n t s is a f i n i t e set. A set t h a t is n o t finite is i n f i n i t e . T h e sets {a,b,c} a n d t h e set of c o m p u t e r s in t h e w o r l d are finite, b u t t h e set of i n t e g e r s a n d t h e set of points on a line are infinite, m It m a y s o m e t i m e s be difficult to k n o w t h e exact n u m b e r of e l e m e n t s in a finite set. B u t t h a t does not affect its finiteness. F o r example, t h e set of r e s i d e n t s in California at a given t i m e is finite, a l t h o u g h it is difficult to d e t e r m i n e the actual count. It is impossible to list all t h e e l e m e n t s of an infinite set. C o n s e q u e n t l y , the e n u m e r a t i o n m e t h o d w i t h ellipsis or t h e set-builder n o t a t i o n is u s e d to define infinite sets. In t h e f o r m e r case, t h e ellipsis would come at t h e end of t h e list, for example, 1~ - {1, 2, 3 , . . . }. T h e following are some special infinite sets we will be u s i n g f r e q u e n t l y : Z = set of i n t e g e r s = {..., - 2 , - 1, 0, 1, 2 , . . . } 1~ = Z + = set of positive i n t e g e r s = {1, 2, 3 , . . . } Z - = set of negative i n t e g e r s - {..., - 3 , - 2 , - 1 } W = set of whole n u m b e r s - {0, 1, 2, 3 , . . . } Q - set of r a t i o n a l n u m b e r s - { p / q l p , q ~ Z A q # 0} R = set of real n u m b e r s R + = set of positive real n u m b e r s = {x ~ RIx > 0} IR- = set of negative real n u m b e r s - {x E IRIx < 0} A few additional subsets of R, called i n t e r v a l s , will prove useful in o u r discussions. T h e y are given below, w h e r e a < b"
closed interval
[a,b] - {x ~ IRla _< x _< b}
closed-open
interval
[a,b) - {x c Rla _< x < b}
open-closed
interval
(a,b] - {x ~ IRla < x _< b}
open interval
(a,b) -
{x ~ I~la < x < b}
Chapter2 The Language of Sets
74
-,q
~.,~,~.
.
9
,,
D a v i d H i l b e r t (1862-1943) was born and educated in KSnigsberg, Germany (now in Russia). He made significant contributions to algebra, analysis, geometry, and mathematical physics. He described the importance of set theory in the development of mathematics: "No one shall expel us from the paradise which Cantor has created for us."
..
.$. ~.,~'
A bracket at an endpoint indicates it is included in the set, whereas a parenthesis indicates it is not included. The set {x c R ix > a} is denoted by [a, oc) using the i n f i n i t y s y m b o l o~. Likewise, the set {x ~ R Ix < a} is denoted by ( - ~ , a]. Next we present two interesting paradoxes related to infinite sets and proposed in the 1920s by the G e r m a n m a t h e m a t i c i a n David Hilbert.
The Hilbert Hotel Paradoxes Imagine a grand hotel in a major city with an infinite n u m b e r of rooms, all occupied. One m o r n i n g a visitor arrives at the registration desk looking for a room. "I'm sorry, we are full," replies the manager, "but we can certainly accommodate you." How is this possible? Is she contradicting herself?. To give a room to the new guest, Hilbert suggested moving the guest in Room 1 to Room 2, the guest in Room 2 to Room 3, the one in Room 3 to Room 4, and so on; Room 1 is now vacant and can be given to the new guest. The clerk is happy t h a t she can accommodate him by moving each guest one room down the hall. The second paradox involves an infinite n u m b e r of conventioneers arriving at the hotel, each looking for a room. The clerk realizes t h a t the hotel can make a fortune if she can somehow accommodate them. She knows she can give each a room one at a time as above, but t h a t will involve moving each guest constantly from one room to the next, resulting in total chaos and frustration. So Hilbert proposed the following solution: move the guest in Room 1 to Room 2, the guest in Room 2 to Room 4, the one in Room 3 to Room 6, and so on. This puts the old guests in even-numbered rooms, so the new guests can be checked into the odd-numbered rooms. Notice t h a t in both cases the hotel could accommodate the guests only because it has infinitely m a n y rooms.
2.1 The Concept of a Set
75
A third paradox: Infinitely m a n y hotels with infinitely m a n y rooms are leveled by an earthquake. All guests survive and come to Hilbert Hotel. How can they be accommodated? See Example 3.23 for a solution. We close this section by introducing a special set used in the study of formal languages. Every word in the English language is an a r r a n g e m e n t of the letters of the alphabet {A, B , . . . ,Z, a, b , . . . , z}. The alphabet is finite and not every a r r a n g e m e n t of the letters need make any sense. These ideas can be generalized as follows.
Alphabet A finite set Z of symbols is an alphabet. (E is the uppercase Greek letter sigma.) A w o r d (or s t r i n g ) o v e r E is a finite a r r a n g e m e n t of symbols from E. For instance, the only alphabet understood by a computer is the b i n a r y a l p h a b e t {0,1 }; every word is a finite and unique a r r a n g e m e n t of O's and l's. Every zip code is a word over the alphabet {0,... ,9}. Sets such as {a, b, c, ab, bc} are not considered alphabets since the string ab, for instance, can be obtained by juxtaposing, that is, placing next to each other, the symbols a and b.
Length of a Word The l e n g t h of a word w, denoted by llwli, is the n u m b e r of symbols in it. A word of length zero is the e m p t y w o r d (or the null w o r d ) , denoted by the lowercase Greek letter ~ ( l a m b d a ) ; It contains no symbols. For example, llabll = 2, llaabba]l - 5, and IIs = 0. The set of words over an alphabet E is denoted by Z*. The empty word belongs to Z* for every alphabet Z. In particular, if Z denotes the English alphabet, then Z* consists of all words, both meaningful and meaningless. Consequently, the English language is a subset of Z*. More generally, we make the following definition.
Language A l a n g u a g e over an alphabet Z is a subset of E*. The following two examples illustrate this definition. The set of zip codes is a finite language over the alphabet E -- { 0 , . . . , 9}. m Let E - {a, b}. Then E* - {~, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, b a a , . . . }, an infinite set. Notice that {aa, ab, ba, bb} is a finite language over E, whereas {a, aa, aba, bab, aaaa, a b b a , . . . } is an infinite language, m Words can be combined to create new words, as defined below.
Chapter2 The Language of Sets
76 Concatenation
The c o n c a t e n a t i o n of two words x a n d y over an a l p h a b e t , d e n o t e d by x y , is obtained by a p p e n d i n g t h e word y at t h e end of x. T h u s if x = x l . . . X m a n d y = Yl...Yn, xy - Xl . . .XmYl . . .Yn. For example, let E be t h e E n g l i s h alphabet, x = CAN, a n d y = ADA; t h e n x y = CANADA. Notice t h a t c o n c a t e n a t i o n is n o t a c o m m u t a t i v e operation; t h a t is, x y 7/= y x . It is, however, associative; t h a t is, x ( y z ) = ( x y ) z = x y z . Two i n t e r e s t i n g p r o p e r t i e s are satisfied by t h e c o n c a t e n a t i o n operation: 9 The c o n c a t e n a t i o n of a n y word x with )~ is itself; t h a t is, ~x - x - x~ for every x e E*. 9 Let
x,y
~
E*. T h e n
[]xY]l -
][xll +
ilYi]. (See Section 5.1 for a proof.)
For example, let E = {a,b }, x = aba, and y - bbaab. T h e n x y - a b a b b a a b and [[xyl[ - 8 - 3 + 5 - IIxl[ + IlyJl. A useful notation: As in algebra, t h e e x p o n e n t i a l n o t a t i o n can be employed to e l i m i n a t e the r e p e a t i n g of symbols in a word. Let x be a symbol and n an i n t e g e r >_ 2; t h e n x n denotes the c o n c a t e n a t i o n x x . . . x to n - 1 times. U s i n g this compact notation, the words a a a b b a n d a b a b a b can be a b b r e v i a t e d as a3b 2 a n d (ab) 3, respectively. Notice, however, t h a t (ab) 3 = ababab ~: a3b 3 - aaabbb.
Exercises 2.1 Rewrite each set using the listing method. 1. The set of m o n t h s t h a t begin with the l e t t e r A. 2. The set of letters of the word GOOGOL. 3. The set of m o n t h s with exactly 31 days. 4. The set of solutions of t h e e q u a t i o n x 2 - 5x + 6 - 0. Rewrite each set u s i n g the set-builder notation. 5. The set of integers b e t w e e n 0 and 5. 6. The set of J a n u a r y , F e b r u a r y , May, a n d July. 7. The set of all m e m b e r s of t h e U n i t e d Nations. 8. {Asia, Australia, Antarctica} D e t e r m i n e if t h e given sets are equal. 9.
{x,y,z},
{x,z,y}
11.
{xlx 2 -
x},
10.
{xlx 2
= 1}, {xlx 2 - x}
12. {x, {y}}, {{x},y}
{0, 1}
M a r k each as t r u e or false.
13. a E {alfa}
14. b _ {a,b,c}
15. {x} _ {x,y, z}
2.1 The Concept of a Set
77
16. { 0 } - 0
17. 0 ~ 0
18. { 0 } - 0
19. {0} = 0
20. 0 __ 0
21. 0 ~ {0}
22. {xlx ~ x } - 0
23. {x,y} - {y,x}
24. {x} ~ {{x},y}
25. 0 is a subset of every set.
26. E v e r y set is a subset of itself.
27. Every n o n e m p t y set has at least two subsets. 28. The set of people in the world is infinite. 29. The set of words in a dictionary is infinite. Find the power set of each set. 30. 0
31. {a}
32. {a,b,c}
33. Using Exercises 30-32, predict the n u m b e r of subsets of a set with n elements. In Exercises 34-37, n denotes a positive integer less t h a n 10. Rewrite each set using the listing method. 34. {nln is divisible by 2}
35. {nln is divisible by 3}
36. {nln is divisible by 2 and 3}
37. {nln is divisible by 2 or 3}
Find the family of subsets of each set t h a t do not contain consecutive integers. 38. {1,2}
39. {1,2,3}
40. Let an denote the n u m b e r of subsets of the set S - {1, 2 , . . . , n} t h a t do not contain consecutive integers, where n > 1. F i n d a 3 and a4. In Exercises 41-46, a language L over E -- {a, b} is given. Find five words in each language. 41. L - {x e E ' I x begins with and ends in b.} 42. L - {x ~ E*lx contains exactly one b. } 43. L - {x E E*fx contains an even n u m b e r of a's. } 44. L - {x e E ' I x contains an even n u m b e r of a ' s followed by an odd n u m b e r of b's. } C o m p u t e the length of each word over {a, b }. 45. aab
46. aabbb
47. ab 4
48. a3b 2
A r r a n g e the b i n a r y words of the given length in increasing order of magnitude. 49. L e n g t h two.
50. L e n g t h three.
Chapter 2 The Language of Sets
78
A t e r n a r y w o r d is a word over the alphabet {0, 1, 2}. A r r a n g e the t e r n a r y words of the given length in increasing order of magnitude. 51. Length one.
52. Length two.
Prove each. *53. The empty set is a subset of every set. (Hint: Consider the implication x e ~ ~ x e A.) *54. The empty set is unique. (Hint: Assume there are two empty sets, 01 and ~2. T h e n use Exercise 53.) *55. Let A, B, and C be a r b i t r a r y sets such t h a t A c B and B c C. T h e n
AcC. (transitive property) *56. If E is a n o n e m p t y alphabet, t h e n E* is infinite. (Hint: Assume Z* is finite. Since Z # 0, it contains an e l e m e n t a. Let x e E* with largest length. Now consider xa.)
J u s t as propositions can be combined in several ways to construct new propositions, sets can be combined in different ways to build new sets. You will find a close relationship between logic operations and set operations.
Union The u n i o n of two sets A and B, denoted by A u B, is obtained by merging them; t h a t is, A u B - {xl(x e A) v (x e B)}. Notice the similarity between union and disjunction.
~
Let A - {a, b, c}, B - {b, C, d , e } , a n d C - { x , y } . T h e n A u B - { a , b ,
BUAandBUC-
{b,c,d,e,x,y}-CUB.
C, d , e } -
m
The shaded areas in Figure 2.4 r e p r e s e n t the set A u B in t h r e e different cases.
Intersection The i n t e r s e c t i o n of two sets A and B, denoted by A N B, is the set of elements common to both A and B; t h a t is, A 5 B - {xl(x e A) v (x e B)}.
79
2.2 Operationswith Sets F i g u r e 2.4
U
A UB
U
AUB=B
A U B, where A and B are disjoint
Notice the relationship between intersection and conjunction.
Let A {Nov, Dec, Jan, Feb}, B - {Feb, Mar, Apr, May}, and C - {Sept, Oct, Nov, Dec}. T h e n A n B - {Feb} - B N A a n d B n C - 0 - C A B . (Notice t h a t B and C are disjoint sets. More generally, two sets are disjoint if and only if their intersection is null.) m
F i g u r e 2.5
O9 O9
Berkeley Street intersection
Figure 2.5 shows the intersection of two lines and t h a t of two streets, and Figure 2.6 displays the set A n B in three different cases.
F i g u r e 2.6
U
U
G ANB
Let A - {a, b, c, d, g}, B and (A u B) N (A U C).
ANB=O
{b, c, d, e, f}, and C -
ANB=A
{b,c,e,g,h}.FindAu(BnC)
Chapter 2 The Language of Sets
80
SOLUTION: (1)
BNC
= {b,c,e} {a,b, c, d, e, g}
AU(BNC)-
A UB = { a , b , c , d , e , f,g}
(2)
AuC-{a, (AuB) N(AuC)-
b, c, d, e, g, h} {a,b,c,d,e,g}
= A u (B n C) See the Venn diagram in Figure 2.7. F i g u r e 2.7
m A third way of combining two sets is by finding their difference, as defined below. Difference The d i f f e r e n c e of two sets A and B (or the r e l a t i v e c o m p l e m e n t of B in A), denoted by A - B (notice the order), is the set of e l e m e n t s in A t h a t are not in B. T h u s A - B = {x ~ AIx r B}. L e t A - { a , . . . , z , 0 , . . . , 9 } , and B - {0,...,9}. T h e n A - B - { a , . . . , z } and B-A=O. The shaded areas in Figure 2.8 r e p r e s e n t the set A - B in t h r e e different cases.
F i g u r e 2.8
U
U
A-B
A - B =A
A-B
m F o r any set A r U, a l t h o u g h A - U - ~, the difference U - A ~: ~. This shows yet a n o t h e r way of obtaining a new set.
2.2 Operationswith Sets
81
Complement T h e difference U - A is the (absolute) c o m p l e m e n t of A, d e n o t e d by A' (A prime). T h u s A ' = U - A = {x ~ U Ix r A}. I F i g u r e 2.9 r e p r e s e n t s t h e c o m p l e m e n t of a set A. ( C o m p l e m e n t a t i o n c o r r e s p o n d s to negation.)
F i g u r e 2.9
U
A'
~
{ a , . . . , Z }. F i n d the c o m p l e m e n t s of the sets A - {a, e, i, O~U} a n d Let U B = {a, c, d, e, . . . , w}. T h e n A' = U - A = set of all c o n s o n a n t s in t h e alphabet, and B' = U - B = {b, x, y, z}. m Let A = { a , b , x , y , z } , B F i n d (A u B)' and A' N B'. SOLUTION: (1)
{c, d, e, x, y, z}, and U -
{a,b,c,d,e,w,x,y,z}.
A U B = {a, b, c, d, e, x, y, z} (A u B)' = {w}
(2)
A' = {c, d, e, w}
B' = {a, b, w} A' N B' = {w} = (A U B)' See F i g u r e 2.10.
F i g u r e 2.10
U
m Since as a rule, A - B r B - A , new set.
by t a k i n g t h e i r u n i o n we can form a
82
Chapter2 The Language of Sets Symmetric Difference The s y m m e t r i c d i f f e r e n c e of A and B, denoted by A @ B, is defined by A @ B - (A - B) U (B - A ) . LetA - {a,...,z,0,...,9} andB - {0,...,9,+,-,.,/}. ThenA-B { a , . . . , z } and B - A = {+,-,.,/}. SoA@B - (A-B) u (B-A) { a , . . . , z, + , - , . , / } .
a
The s y m m e t r i c difference of A and B is pictorially displayed in Figure 2.11 in three different cases.
Figure 2.11
A|
AOB=AUB
A|
=A-B
Set and Logic Operations Set operations and logic operations are closely related, as Table 2.1 shows.
Table 2.1
Set operation AuB ANB A' A@B
Logic operation pvq pvq ~p
pXORq
The i m p o r t a n t properties satisfied by the set operations are listed in Table 2.2. (Notice the similarity between these properties and the laws of logic in Section 1.2.) We shall prove one of them. Use its proof as a model to prove the others as routine exercises. We shall prove law 16. It uses De M o r g a n ' s law in symbolic logic, a n d the fact t h a t X = Y if and only if X ___ Y and Y __C_X.
PROOF: In order to prove t h a t (AUB)' - A' NB', we m u s t prove two parts" (A UB)' c A' N B' and A' n B' c (A u B)'. 9 To prove t h a t (A u B)' c_ (A' n B')Let x be an a r b i t r a r y element of (A u B)'. T h e n x r (A u B). Therefore, by De M o r g a n ' s law, x r A and x r B; t h a t is, x e A' and x e B'. So x e A' NB'. T h u s every element of (A UB)' is also an element ofA' NB'; t h a t is, (A u B)' ___A' n B'.
83
2.2 Operations with Sets
T a b l e 2.2
Laws of Sets Let A, B, and C be any three sets and U the universal set. Then:
I d e m p o t e n t laws 2. A n A = A
1. A u A = A
I d e n t i t y laws 4. A n U = A
3. A u O = A
Inverse laws
6. A n A I = O
5. A u W = U
D o m i n a t i o n laws 8. A n O = O
7. A u U = U
C o m m u t a t i v e laws 10. A n B = B n A
9. A u B = B u A
Double c o m p l e m e n t a t i o n law 11. (At)t = A
A s s o c i a t i v e laws 12. A u ( B u C ) - ( A u B ) u C
13. A n ( B n C ) - ( A n B ) n C
D i s t r i b u t i v e laws 14. A u ( B n C ) = ( A u B ) n ( A u C )
15. A n ( B u C ) - ( A n B ) u ( A n C )
De Morgan's laws 16. (A u B)' - A' n B'
17. (A n B)' - A' u B'
A b s o r p t i o n laws 18. A u ( A n B ) - A
19. A n ( A u B ) = A (Note: The following laws have no names.)
20. I f A c _ B , t h e n A n B = A .
21. I f A c _ B , t h e n A u B = B .
22. I f A c _ B , t h e n B tC_A t.
23. A - B - A n B
t
24. A |
9 To p r o v e t h a t A' c~ B' c_ (A u B ) " Let x be a n y e l e m e n t of A' n B'. T h e n x E A' a n d x ~ B'. T h e r e f o r e , x r A a n d x r B. So, by De M o r g a n ' s law, x r (A u B). C o n s e q u e n t l y , x ~ (A w B)'. T h u s , since x is a r b i t r a r y , A' • B' c (A u B)'. T h u s , (A u B)' - A' n B'. See t h e V e n n d i a g r a m s in F i g u r e 2.12 also.
Note" L a w 23 is a v e r y u s e f u l r e s u l t a n d will be u s e d in t h e n e x t section.
A few words of explanation" T h e c o m m u t a t i v e laws i m p l y t h a t t h e o r d e r in w h i c h t h e u n i o n (or i n t e r s e c t i o n ) of t w o sets is t a k e n is i r r e l e v a n t . T h e associative laws i m p l y t h a t w h e n t h e u n i o n (or i n t e r s e c t i o n ) of t h r e e or m o r e
84
Chapter 2 The Language of Sets
F i g u r e 2.12
(A U B)' = shaded area
A' n B' = cross-shaded area
I
sets is taken, the way the sets are grouped is immaterial; in other words, such expressions without p a r e n t h e s e s are perfectly legal. For instance, A U B u C - A u (B U C) = (A u B) U C is certainly valid. The two De M o r g a n ' s laws in propositional logic play a central role in deriving the corresponding laws in sets. Again, as in propositional logic, p a r e n t h e s e s are essential to indicate the groupings in the distributive laws. For example, if you do not parenthesize the expression A N (B U C) in law 15, t h e n the LHS becomes A N B U C = (A N B ) U C = (A U C) N (B U C) r (A N B ) U (A N C).
Notice the similarity between the set laws and the laws of logic. For example, properties 1 t h r o u g h 19 and 22 have their c o u n t e r p a r t s in logic. Every corresponding law of logic can be obtained by replacing sets A, B, and C with propositions p, q, and r, respectively, the set operators N, U, a n d ' with the logic operators A, v, and ~ respectively, and equality (=) with logical equivalence (=_). Using this procedure, the absorption law A w (A N B) = A, for instance, can be t r a n s l a t e d as p v (p A q) - p, which is the corresponding absorption law in logic. J u s t as t r u t h tables were used in Chapter I to establish the logical equivalence of compound statements, they can be applied to verify set laws as well. The next example illustrates this method. Using a t r u t h table, prove t h a t (A u B)' - A' N B'. SOLUTION. Let x be an a r b i t r a r y element. T h e n x may or may not be in A. Likewise, x may or may not belong to B. E n t e r this information, as in logic, in the first two columns of the table, which are headed by x E A and x e B. The table needs five more columns, headed by x ~ (A u B), x ~ (A u B)', x ~ A', x ~ B', and x ~ (A' n B') (see Table 2.3). Again, as in logic, use the entries in the first two columns to fill in the r e m a i n i n g columns, as in the table.
85
2.2 Operations with Sets
T a b l e 2.3
x e A
x e B
x e (A U B )
x e (A u B)'
x e A'
x 9 B'
x 9 (A' n B')
T T F F
T F T F
T T T F
F F F T
F F T T
F T F T
F F F T
Note: The shaded columns are identical Since the columns headed by x e (A u B)' and x e (A' n B') are identical, it follows t h a t (A u B)' = A' n B'. I Using t r u t h tables to prove set laws is purely mechanical a n d elem e n t a r y . It does not provide any insight into the d e v e l o p m e n t of a m a t h e m a t i c a l proof. Such a proof does not build on previously k n o w n set laws, so we shall not r e s o r t to such proofs in s u b s e q u e n t discussions. .
.
.
.
.
.
J u s t as the laws of logic can be used to simplify logic expressions a n d derive new laws, set laws can be applied to simplify set expressions a n d derive new laws. In order to be successful in this art, you m u s t k n o w the laws well and be able to apply t h e m as needed. So, practice, practice, practice.
Using set laws, verify t h a t (X - Y) - Z = X - (Y u Z). PROOF(X - Y) - Z - (X - Y) n Z'
A-B
=AnB'
= (X n Y') n Z'
A-B
=AnB'
= X n (Y' n Z')
associative law 13
= X n (Y u Z)'
De M o r g a n ' s law 16
=X-(YuZ)
A-B
=AnB'
Simplify the set expression (A n B') U (A' n B) U (A' n B'). SOLUTION: (You m a y supply the justification for each step.) (A n B') u (A' n B) u (A' n B') - (A n B') u [(A' n B) u (A' n B')] = ( A n B') u [A' n (B u B')] = ( A n B') u (A' n U) = (A riB') u A '
I
(Jhapter2 The Languageof Sets
86
= A' u (A N B') = (A' u A) n (A' u B') = U n (A' u B')
=A'uB'
m
Often subscripts are used to n a m e sets, so we now t u r n o u r a t t e n t i o n to such sets.
Indexed Sets Let I, called the i n d e x s e t , be the set of subscripts i used to n a m e the sets Ai. T h e n the u n i o n of the sets Ai as i varies over I is d e n o t e d b y . u Ai. Similarly, tEI
n Ai denotes the i n t e r s e c t i o n of the sets Ai as i r u n s over I. In p a r t i c u l a r ,
iEI
let I - {1, 2 , . . . , n }. T h e n u Ai - A1 uA2 u . . . UAn, which is often w r i t t e n as n U
i=1
iEI
n
Ai or simply U1 Ai. Likewise, N
iEI
Ai -
n n Ai i=I cx.)
I f I - N, the expression
n ? Ai - A1 n A2 N...
NAn.
('x.)
u Ai is w r i t t e n as u Ai - ~ Ai, u s i n g the infinity iEb~
/el
symbol oc; similarly, i ?b~ A i - i=ln A i - N1 A i . Before we proceed to define a new b i n a r y o p e r a t i o n on sets n , we define an o r d e r e d set. i=1
Ordered Set Recall t h a t the set {al, a 2 , . . . , a , } is an u n o r d e r e d collection of elements. Suppose we assign a position to each element. T h e r e s u l t i n g set is an o r d e r e d s e t with n e l e m e n t s or an n - t u p l e , d e n o t e d by ( a l , a 2 , . . . , an). (Notice the use of p a r e n t h e s e s versus braces.) The set (al, a2) is an o r d e r e d pair. Two n-tuples are e q u a l if and only if t h e i r c o r r e s p o n d i n g e l e m e n t s are equal. T h a t is, (al, a 2 , . . . , a,,) = (bl, b 2 , . . . , b,) if a n d only if ai = bi for every i.
•
Every n u m e r a l and word can be considered an n-tuple. F o r instance, 345 = (3, 4, 5) l
t
$
ones tens hundreds
c o m p u t e r = (c, o, m, p, u, t, e, r) 1001011 = (1, 0, 0, 1, 0, 1, 1) 11010010 = (1, 1, 0, 1, 0, 0, 1, 0)
ASCII* code for letter K EBCDIC** code for letter K
*American Standard Code for Intbrmation Interchange. **Extended Binary Coded Decimal Interchange Code.
m
87
2.2 Operationswith Sets
Rend D e s c a r t e s (1596-1650) was born near Tours, France. At eight, he entered the Jesuit school at La Fleche, where because of poor health he developed the habit of lying in bed thinking until late in the morning; he considered those times the most productive. He left the school in 1612 and moved to Paris, where he studied mathematics for a brief period. After a short military career and travel through Europe for about 5years, he returned to Paris and studied mathematics and philosophy. He then moved to Holland, where he lived for 20years writing several books. In 1637 he wrote Discours, which contains his contributions to analytic geometry. In 1649 Descartes moved to Sweden at the invitation of Queen Christina. There he contracted pneumonia and died.
~Z ( .::
We are now ready to define the next and final operation on sets.
Cartesian Product The c a r t e s i a n p r o d u c t of two sets A and B, denoted by A x B, is the set of all ordered pairs (a,b) with a 9 A and b 9 B. T h u s A x B = {(a,b)l a 9 A A b 9 B}.A x A is denoted b y A 2. It is n a m e d after the F r e n c h philosopher and m a t h e m a t i c i a n Ren~ Descartes. Let A -
{a, b } and B -
{x, y, z}. T h e n
A x B = {(a, x), (a, y), (a, z), (b, x), (b, y), (b, z)} B z A = {(x, a), (x, b), (y, a), (y, b), (z, a), (z, b)} A 2 - A x A = {(a, a), (a, b), (b, a), (b, b)}
m
(Notice t h a t A x B r B x A.)
The various elements of A x B in Example 2.22 can be displayed in a r e c t a n g u l a r fashion, as in F i g u r e 2.13, and pictorially, using dots as in Figure 2.14. The circled dot in row a and column y, for instance, r e p r e s e n t s the element (a, y). The pictorial r e p r e s e n t a t i o n in F i g u r e 2.14 is the g r a p h ofA x B .
F i g u r e 2.13
a Elements of A b
(a, x)
(a, y)
(a, z)
(b, x)
(b, y)
(b, z)
x
y Elements of B
z
88
Figure
2.14
Pictorial representation ofA •
Chapter 2
The Language of Sets
a
9
|
9
x
y
z
Figure 2.15 shows the graph of the infinite set 1~ 2 - - 1~ x N. The circled dot in column 4 and row 3, for instance, represents the element (4,3). The horizontal and vertical dots indicate that the pattern is to be continued indefinitely in both directions. Figure
2.15
9
9
9
1
2
3
},
4
.
.
.
More generally, R 2 - - R • R consists of all possible ordered pairs (x,y) of real numbers. It is represented by the familiar x y - p l a n e or the c a r t e s i a n p l a n e used for graphing (see Figure 2.16).
Figure
2.16
The cartesian plane R 2"
(-3,4)
(0,3)
(5,0) The following example presents an application of cartesian product. ~
Linda would like to make a trip from Boston to New York and then to London. She can travel by car, plane, or ship from Boston to New York, and by plane or ship from New York to London. Find the set of various modes of transportation for the entire trip. SOLUTION:
Let A be the set of means of transportation from Boston to New York and B the set from New York to London. Clearly A - {car, plane, ship} and B - {plane, ship}. So the set of possible modes of transportation is given by
89
2.2 Operationswith Sets F i g u r e 2.17
London N Boston
e
plane
w
~
-.~---"~'~ship
A x B - {(car, plane), (car, ship), (plane, plane), (plane, ship), (ship, plane), (ship, ship)}. See Figure 2.17. I The definition of the product of two sets can be extended to n sets. The c a r t e s i a n p r o d u c t o f n s e t s A 1 , A 2 , . . . ,An consists of all possible n -tuples (al, a 2 , . . . , an), where ai ~ Ai for every i; it is denoted by A1 x A2 x ... x An. If all Ai's are equal to A, the product set is denoted by An. LetA-
{x},B - {y,z}, and C -
A x B x C-
{1,2,3}. Then
{(a,b,c)la ~ A , b ~ B, a n d c ~ C}
= {(x, y, 1), (x, y, 2), (x, y, 3), (x, z, 1), (x, z, 2), (x, z, 3)} Finally, take a look at the map of the continental United States in Figure 2.18. It provides a geographical illustration of partitioning, a concept that can be extended to sets in an obvious way.
F i g u r e 2.18
I
Partition
Consider the set S = {a, b, c, d, e, f, g, h, i} and the subsets $1 = {a, b }, $ 2 - {c}, $3 = {d, e, f}, $4 - {g, h}, and $5 - {i}. Notice t h a t these subsets have three interesting properties: (1) They are nonempty; (2) they are pairwise disjoint; that is, no two subsets have any common elements; (3) their union
90
Chapter 2 The Language of Sets is S. (See Figure 2.19.) T h e set P - { S 1 , $ 2 , $ 3 , $ 4 , $ 5 } of S.
is called a p a r t i t i o n
F i g u r e 2.19
S1
More generally, let I be an index set and P a family of s u b s e t s Si of a n o n e m p t y set S, w h e r e i ~ I. T h e n P is a p a r t i t i o n of S if: 9 Each set Si is n o n e m p t y . 9 The subsets are pairwise disjoint; t h a t is, Si n S j - ~,~ if i ~=j. 9 The union of the subsets Si is S; t h a t is, u Si = S. i~I
(Each subset Si is a b l o c k of the partition.) T h u s a p a r t i t i o n of S is a collection of n o n e m p t y , pairwise disjoint subsets of S whose u n i o n is S. ~
Let Z,. denote the set of integers which, w h e n divided by 5, leave r as the r e m a i n d e r . T h e n 0 < r < 5 (see Section 4.1): w
Z0 = { . . . , - 5 , 0 , 5 , . . . } Zl = { . . . , - 4 , 1 , 6 , . . . } Z 2 -- { . . . , - 3 , 2 , 7,...} Z3 = { . . . , - 2 , 3 , 8 , . . . } Z4 = { . . . , - 1 , 4 , 9 , . . . } P = {Z0, Zl, Z2, Z3, Z4} is a partition of the set of integers. See F i g u r e 2.20. (This example is discussed in more detail in Section 7.4.) m
F i g u r e 2.20 Set of integers Z.
2.2 Operationswith Sets
91
The sports pages of newspapers provide fine examples of partitions, as the next example illustrates. ~
In 2003, the set of teams S in the National Football League was divided into two conferences, American and National, and each conference into four divisions m East, South, North, and West. Let El, $1, N1, and W1 denote the set of teams in East, South, North, and West Divisions in the American Conference, respectively, and E2, $2, N2, and W2 the corresponding sets in the National Conference. Then: E1 - {Buffalo, Miami, New England, NY Jets} $1 -- {Indianapolis, Tennessee, Houston, Jacksonville} N1 - {Baltimore, Cincinnati, Cleveland, Pittsburgh} W1 - {Denver, Kansas City, Oakland, San Diego} E2 = {Washington, Philadelphia, Dallas, NY Giants} $2 - {Atlanta, Tampa Bay, Carolina, New Orleans} N2 = {Chicago, Detroit, Minnesota, Green Bay } W2 = {Arizona, Seattle, St. Louis, San Francisco } Clearly, P - {E1,S1,N1, W 1 , E 2 , S 2 , N 2 , W2} is a partition of S. We close this section with a brief introduction to fuzzy sets.
Fuzzy Sets (optional) Fuzzy sets, a generalization of ordinary sets, were introduced in 1965 by Lotfi A. Zadeh of the University of California at Berkeley. They have applications to h u m a n cognition, communications, decision analysis, psychology, medicine, law, information retrieval, and, of course, artificial intelligence. Like fuzzy logic, they model the fuzziness in the natural language for example, in terms like young, healthy, wealthy, and beautiful. In fuzzy set theory, every element x in the universal set U has a certain degree of membership du(x), where 0 < du(x) < 1;du(x) indicates the degree of fuzziness. Accordingly, a fuzzy set S is denoted by listing its elements along with their degrees of membership; an element with zero degree of membership is not listed. For example, let Ube the fuzzy set of wealthy people and S - {Tom 0.4, Dick 0.7, Harry 0.6}. Then Harry belongs to S with degree of membership 0.6; ds(Harry) - 0.6 measures Harry's degree of wealthiness. The concept of an ordinary subset can be extended to fuzzy sets also.
Fuzzy Subset Let A and B be fuzzy sets. Then A is a f u z z y s u b s e t of B if A ___B and dA(x) < dB(x) for every element x in A.
Chapter2 The Language of Sets
92
~
":t .... ."'
" ....
Lotfi A. Z a d e h (1921-) was born in Baku, Azerbaijan. An alumnus of the University of Tehran (1942) and the Massachusetts Institute of Technology (1946), he received his Ph.D. from Columbia University in 1949 for his dissertation on frequency analysis of time-varying networks. He began his professional career in the Department of Electrical Engineering at Columbia. In 1959, he joined the Department of Electrical Engineering and Computer Science at the University of California, Berkeley, serving as its chair during the years 19631968. Currently, he is a professor at Berkeley and Director of Berkeley Initiative in Soft Computing. Zadeh's earlier "work was centered on systems analysis, decision analysis, and information systems. Since then his current research has shifted to the theory of fuzzy sets and its applications to artificial intelligence (AI). His research interest now is focused on fuzzy logic, soft computing, computing with words, and the newly developed computational theory of perceptions and precisiated natural language, "according to the University of California Web site. A truly gifted mind and an expert on AI, Zadeh has authored about 200journal articles on a wide variety of subjects relating to the conception, design, and analysis of information~intelligent systems. He serves on the editorial boards of more than 50 journals and on the advisory boards of a number of institutions related to AI. Zadeh is a recipient of numerous awards and medals, including the IEEE Education Medal, IEEE Richard W. Hamming Medal, IEEE Medal of Honor, the A S M E Rufus Oldenburger Medal, B. Bolzano Medal of the Czech Academy of Sciences, Kampe de Feriet Medal, AACC Richard E. Bellman Central Heritage Award, the Grigore Moisil Prize, Honda Prize, Okawa Prize, AIM Information Science Award, IEEE-SMC J. P. Wohl Career Achievement Award, SOFT Scientific Contribution Memorial Award of the Japan Society for Fuzzy Theory, IEEE Millennium Medal, and the ACM 2000 Allen Newell Award. He has received honorary doctorates from many universities from around the world. 9
2
"~
For example, letS = {Betsey 0.6, Mat 0.5} and T - {Betsey 0.8, J o n a t h a n 0.3, Mary 0.5, Mat 0.7} by fuzzy sets of smart people. Then S is a fuzzy subset of T. Operations on ordinary sets can be extended to fuzzy sets as well. Operations on Fuzzy Sets Let A and B be any fuzzy set. The u n i o n of A and B is AUB, where dA uB(x) = max{dA(x), ds(x)}; their i n t e r s e c t i o n is A N B, where dANB(X) = m i n { d A ( x ) , d s ( x ) } ; and the c o m p l e m e n t of A is A', where dA,(X) = 1 - dA(x); in A' only the degrees of membership change. Using the sets S and T above, S u T = {Betsey 0.8, J o n a t h a n 0.3, Mary 0.5, Mat 0.7 } S n T = {Betsey 0.6, Mat 0.5} S' = {Betsey 0.4, Mat 0.5} Additional opportunities to practice the various operations are given in the exercises.
2.2
Operations with Sets
93
Exercises 2.2
L e t A = {a, e, f, g,i}, B = {b, d, e, g, h}, C = {d, e, f, h, i}, and U = { a , b , . . . ,k}. Find each set. 1. C l
2. B Q C '
3. C Q A '
4. ( A U B ) '
5. (B n C)'
6. (A u C')'
7. (B N C')'
8. A ~ B
9. ( A - B ) - C
10. A - ( B - C )
11. (A u B) - C
12. (A N B) - C
Using the Venn d i a g r a m in Figure 2.21 find each set. 13. ( A U B ) N C
14. A n (B U C)
15. A -
16. ( A @ B ) U C
17. A Q ( B O C )
18. A - ( B @ C )
F i g u r e 2.21
(B-C)
U a
A w
f
Let A = {b, c}, B = {x}, and C = {x,z}. Find each set. 19. A x B
20. B x A
21. A x 0
22. A x B x O
23. A x ( B u C )
24. A x ( B N C )
25. A x B x C
26. A x C x B
M a r k each as true or false, where A, B, and C are a r b i t r a r y sets and U the universal set. 27. A - ~ ) = A
28. 0 - A = - A
29. O - O = 0
30. A - A = O
31. A - B = B - A
32. A - A ' = O
33. (A')' = A
34. (A N B ) ' = A' NB'
35. (A U B)' = A' U B'
36. A c A u B
37. A c A N B
38. B D (A - B ) = O
Give a counterexample to disprove each proposition. 39. ( A - B ) - C = A - ( B - C )
40. A U ( B - C ) = ( A U B ) - ( A U C )
41. A u ( B @ C ) = ( A u B ) G ( A u C )
42. A O ( B N C ) = ( A O B ) N ( A G C )
D e t e r m i n e if each is a partition of the set { a , . . . , z, 0 , . . . , 9}. 43. { { a , . . . , z } , { 0 , . . . , 9 } , 0 } 44. { { a , . . . , j } , { i , . . . , t } , { u , . . . , z } , { 0 , . . . , 9 } }
94
Chapter 2 The Language of Sets 45. {{a,... ,1}, { n , . . . , t } , {u,...,z}, {0,...,9}} 46. {{a,...,u}, {v,...,z}, {0,3}, { 1 , 2 , 4 , . . . , 9 } Prove each, where A, B, and C are any sets. 47. (A')' = A
48. A u (A n B ) = A
49. A N ( A u B ) = A
50. (A N B)' = A' u B'
51. A @ A = O
52. A @ U = A '
53. A @ B = B @ A
54. A - B = A A B '
55. (A u B u C)' = A' n B' n C'
56.
(A A B n C)' = A' u B' u C'
Simplify each set expression. 57. A A (A - B)
58. (A - A') u (B - A)
59.
(A - B') - (B - A')
60.
(A u B) u (A A B')'
61.
(A u B) - (A n B)'
62.
(A U B)' N (A n B')
63.
(A n B)' u (A u B')
64.
(A u B')' A (A' c~ B)
65.
(A' u B')' u (A' ~ B)
*66. State De Morgan's laws for sets Ai, i ~ I. (I is an index set.) *67. State the distributive laws using the sets A and Bi, i ~ I. The s u m of two fuzzy sets A and B is the fuzzy set A | B, where dA ~ B(X) = 1A IdA (x) + d B ( x ) l; their d i f f e r e n c e is the fuzzy set A - B , where dA-B(X) = 0 v IdA(x) -- dB(x)i; and their c a r t e s i a n p r o d u c t is the fuzzy set A x B, where dA xB(X,Y) = dA(x) AdB(x). Use the fuzzy s e t s A = {Angelo 0.4, Bart 0.7, Cathy 0.6} and B = {Dan 0.3, Elsie 0.8, F r a n k 0.4} to find each fuzzy set. 68. A U B
69. A A B
70. A'
71. A u B '
72. A N B '
73. A ~ A '
74. A |
75. A - B
76. B - A
77. A x B
78. B x A
79. A x A
Let A and B be any fuzzy sets. Prove each. *80.
(A u B)' = A' • B'
"81.
(A • B)' = A' u B'
Sets and the various set operations can be implemented in a c o m p u t e r in an elegant manner. Computer Representation
Although the elements of a set have no i n h e r e n t order, when the set is represented in a computer, an order is imposed upon t h e m to p e r m i t
2.3 ComputerOperations with Sets (optional)
95
implementation. The universal set U with n elements is represented as an array with n cells, each containing a 1: n-1
2
U ] 1[ 1]
...
1
0
]1111111]
The elements are represented by the binary digits (or bits) 0 and 1 in the right-to-left fashion. Subsets of U are represented by assigning appropriate bits to the various cells. A bit 1 in a cell indicates the corresponding element belongs to the set, whereas a 0 would indicate the element does n o t belong to the set. ~
UsingU={a,b,...,h},representthesetsA={a,b,g}andB-{c, 8-bit strings.
e, h } a s
SOLUTION: Remember, the elements are represented in the right-to-left order. Thus:
h
g
f
e
d
c
b
a
lllllrll ll llll AlOlllOlOlOlOlllll lllOlOlllOlllOlOl
m
Next we discuss how the various subsets of a finite set can be found methodically. T a b l e 2.4
Subset
Bit String
0 {x} {y} {x,y} {z} {x,z} {y,z} {x,y,z}
000 001 010 011 100 101 110 111
Interestingly enough, there is a close relationship between sets and bit strings. Table 2.4, for instance, lists the various subsets of the set {x, y, z }. Notice that the table contains all possible three-bit strings and their decimal
96
Chapter 2
The Language of Sets
values increase from 0 to 7. (See Section 4.3 for a discussion of nondecimal bases.) Next we present a systematic procedure to find the bit string of the subset that "follows" a given subset with bit string b 2 b l b o . Such a recipe for solving a problem in a finite number of steps is called an algorithm.*
Next-Subset Algorithm Take a good look at each string in Table 2.4. Can you find a rule to obtain each, except 000, from the preceding string? It is fairly simple: From right to left, locate the first 0. Change it to 1 and the l's to its right to 0's. For example, suppose you would like to find the subset following {x, y} with bit string b 2 b l b o -- 011. From right to left, the first 0 is b2. Change it to 1, and bl and b0 to 0's. The resulting string is 100 and the corresponding subset is {z }. This rule can be generalized and translated into an algorithm. See Algorithm 2.1. Use it to find the subsets following {z} and { y, z}. Algorithm next-subset (bn-lbn-2 ... bo) (* This algorithm finds the b i t string of the subset that follows a given subset of an n-element set S. *) Begin (* next-subset *) find the f i r s t 0 from the r i g h t change i t to I replace the bits to i t s r i g h t with O's End (* next-subset *) Algorithm 2.1
The next-subset algorithm can be employed to find all subsets of a finite set S. Algorithm 2.2 shows the steps involved. Use it to find the subsets of {x,y,z}. Algorithm subsets (S) (* Using the next-subset algorithm, this algorithm finds the b i t representations of all subsets of an n-element set S. *) Begin (* subsets *) bn-lbn-2 . . . b o <- 0 0 . . . 0 (* i n i t i a l i z e string *) done ,-- false (* boolean flag *) while not done do begin (* while *) find the subset following bn_lbn_ 2 . . . b 0 . *The word algorithm is derived from the last name of the ninth-century Arabian astronomer and mathematician Abu-Abdullah M u h a m m e d ibn-Musa al-Khowarizmi (Muhammed, the father of Abdullah and the son of Moses of Khwarizm). He was a teacher in the m a t h e m a t ical school in Baghdad, Iraq. His last name indicates he or his family originally came from Khwarizm (now called Khiva) in Uzbekistan. His books on algebra and Indian numerals had a significant influence in Europe in the 12th century through their Latin translations. The term algebra is derived from the title of his algebra book Kitab al-jabr w'al-muqabalah.
2.3 ComputerOperations with Sets (optional) if
97
every b i t bi = 1 then (* t e r m i n a t e the loop *) done <-- true
endwh i I e End (* subsets *)
Algorithm
2.2
Next we show how the set o p e r a t i o n s can be i m p l e m e n t e d in a c o m p u t e r .
Computer Operations The r e p r e s e n t a t i o n of sets as n-bit strings allows us to use logic operations to p e r f o r m set operations. They are i m p l e m e n t e d t h r o u g h t h e bit operations m AND, OR, XOR, C O M P - - defined by Table 2.5, w h e r e C O M P indicates one's complement: comp(1) = 0 and comp(0) = 1.
T a b l e 2.5
I bit
I AND
OR
XOR
0
1
0
1
0
1
0 0
0 1
0 1
1 1
0 1
1 0
COMP
~--
logic operators
1 0
The various set operations are accomplished by p e r f o r m i n g t h e corresponding logic operations, as s h o w n in Table 2.6. Notice t h a t t h e logic operation c o r r e s p o n d i n g to A - B m a k e s sense since A - B = A N B', by law 23 in Table 2.2.
T a b l e 2.6
Set operations
Logic operations
ANB
AAND B A ORB COMP(A) AXORB A AND (COMP(B))
A uB Af
A@B A- B
Let U = { a , b , . . . , h } , A = { a , b , c , e , g } , and B = {b,e,g,h}. U s i n g bit r e p r e s e n t a t i o n s , find the setsANB, AUB, A@B, B', a n d A - B as 8-bit words.
SOLUTION: A-01010111 B-11010010
Chapter 2 The Language of Sets
98
U s i n g Tables 2.5 a n d 2.6, we have: (1) A N B - O 1010010 (3) A @ B - 1 0 0 0 0 1 0 1 (5) A-0 i 010111 B'-00101101 So A - B - A AND (COMP(B)) =00000101
(2) A U B - 1 1 0 1 0 1 1 1 (4) B'-00101101
U s i n g the bit r e p r e s e n t a t i o n s , you m a y verify t h a t A N B = {b, e, g}, A u B - {a, b, c, e, g, h}, A @ B - {a,c,h}, B' - {a,c,d,f}, a n d A - B {a, c}. I
Exercises 2.3 U s i n g the universal set U = { a , . . . , h}, r e p r e s e n t each set as an 8-bit word. 1. {a,c,e,g}
2. {b,d,f}
3. { a , e , f , g , h }
4. 0
Use A l g o r i t h m 2.1 to find the subset of the set {so,sl,s2,s3} t h a t follows t h e given subset.
5. {s:~}
6. {so,s3}
7. {s2,s3}
8. {so,s2,s3}
Using Algorithm 2.2, find the subsets of each set. 9.
10. {so, sl,s2,s3}
{8(),81}
Using the sets A -- {a,b,e,h}, B = { b , c , e , f , h } , C U = { a , . . . , h}, find the b i n a r y r e p r e s e n t a t i o n of each set.
{c,d,f,g}, a n d
11. A N B
12. A u B
13. B'
14. A - B
15. C - B
16. A |
17. B @ C
18. C @ A
19. A N C '
20. A u B '
21. A N ( B N C )
22. A u ( B N C )
23. A - ( B |
24. ( A @ B ) - C
25. A O ( B O C )
26. ( A o B ) O C
This section p r e s e n t s four formulas involving finite sets, which we shall use frequently. Recall t h a t every finite set has a fixed n u m b e r of e l e m e n t s , so we m a k e the following definition.
Cardinality The c a r d i n a l i t y
of A, denoted by IAI, is the n u m b e r of e l e m e n t s in it.*
*It should be clear from the context whether the symbol "1 I" refers to absolute value or cardinality.
2.4 The Cardinality of a Set
99
For example, I~1 = 0, I{0}1 = 1, a n d I{a, b, c}l = 3. Let A and B be any two finite sets. How is IA u BI related to IAI a n d IBI? First, let's study an example. Let A - {a, b, c} and B - {b, c, d, e, f}. Clearly, IAI = 3, IBI - 5, tA u BI - 6, and IA n BI = 2, so IA u BI = IAI + I B I - IA n BI.
m
More generally, we have the following result" ( I n c l u s i o n - E x c l u s i o n P r i n c i p l e ) Let A and B be two finite sets. T h e n IA u B I - IAI + I B I - IA NBI.
PROOF: Suppose IA N BI - k. Since A N B c A and A N B _c B, we can a s s u m e t h a t IAI - k + m and BI - k + n for some n o n n e g a t i v e integers m and n (see Figure 2.22). Then: IAUBI-m+k+n = ( m + k) + (n + k) - k
= IAI + I B I - I A n B I
F i g u r e 2.22
This completes the proof.
m
In addition, if A and B are disjoint sets, t h e n IA n BI IA u BI - IAI + IBI. T h u s we have the following result. C O R O L L A R Y 2.1 (Addition Principle) IAI + IBI.
I01 -
0, so
L e t A and B be finite disjoint sets. Then IAUBI =
The next example d e m o n s t r a t e s the inclusion-exclusion principle. Find the n u m b e r of positive integers < 300 and divisible by 2
or
3.
SOLUTION: Let A {x c l~lx _< 300 and is divisible by 2} and B {x ~ l~lx < 300 and is divisible by 3 }. T h e n A 5 B consists of positive integers _< 300 t h a t are divisible by 2 and 3, t h a t is, divisible by 6. T h u s A - {2, 4 , . . . , 300},
I00
Chapter 2
The Language of Sets
B = {3, 6 , . . . , 300}, a n d A n B = {6, 1 2 , . . . , 300}. Clearly, Inl - 150, IBI 100, and IA n BI - 50, so by T h e o r e m 2.1, IA u B I - I A I + I B I - I A n B I - 150 + 100 - 50 - 200 T h u s t h e r e are 200 positive integers < 3 0 0 and divisible by 2 or 3. (See E x a m p l e s 3.11, and 3.12 in Section 3.2.) T h e o r e m 2.1 can be extended to any finite n u m b e r of finite sets. F o r instance, the next example derives the formula for t h r e e finite sets. [ ] ~ ~ ~ ~ ~
Let A, B, and C be t h r e e finite sets. Prove t h a t I A u B u C I - IAI + IBI + ICI - IA n B I - I B n CI - t C n A I + IA n B n CI. PROOF:
IA UB U CI - IA W (B U C)I : IAI + IB u CI - IA n (B u C)I
by T h e o r e m 2.1
= IAI + IB u CI - I(A n B) u ( A n C)I
by the distributive law
- IAI + (IBI + ICI - IB n C I ) - I IA n B I + IA n CI - I(A n B) n (A n C)Ii
= IAI + IBI + ICI - IA n B I - IB n CI - IC h A l + IA n B n CI, s i n c e A n C = C n A and (A riB) n ( A n C) = A n B n C.
I
The next example shows how useful sets are in d a t a analysis. ~
A survey a m o n g 100 s t u d e n t s shows t h a t of the t h r e e ice cream flavors vanilla, chocolate, and s t r a w b e r r y , 50 s t u d e n t s like vanilla, 43 like chocolate, 28 like s t r a w b e r r y , 13 like vanilla and chocolate, 11 like chocolate and s t r a w b e r r y , 12 like s t r a w b e r r y and vanilla, and 5 like all of them. Find the n u m b e r of s t u d e n t s surveyed who like each of the following flavors. (1) Chocolate but not s t r a w b e r r y . (2) Chocolate and s t r a w b e r r y , but not vanilla. (3) Vanilla or chocolate, b u t not s t r a w b e r r y . SOLUTION: Let V, C, and S symbolize the set of s t u d e n t s who like vanilla, chocolate, and s t r a w b e r r y flavors, respectively. Draw t h r e e i n t e r s e c t i n g circles to r e p r e s e n t t h e m in the most general case, as in Figure 2.23. O u r first goal is to distribute the 100 s t u d e n t s surveyed into the various regions. Since five s t u d e n t s like all flavors, IV n C •SI = 5. Twelve s t u d e n t s like both s t r a w b e r r y and vanilla, so IS n VI = 12. But five of t h e m like chocolate also. Therefore, I(S n V) - CI = 7. Similarly, I(V n C) - SI = 8 and I(C n S) - VI = 6.
2.4
The Cardinality of a Set
Figure 2.23
101
U
10
Of the 28 s t u d e n t s who like s t r a w b e r r y , we have a l r e a d y a c c o u n t e d for 7 + 5 + 6 = 18. So t h e r e m a i n i n g 10 s t u d e n t s belong to t h e set S - (V u C). Similarly, IV - (C u S)[ = 30 a n d [C - (S u V)[ - 24. T h u s far, we have accounted for 90 of the 100 s t u d e n t s . T h e r e m a i n i n g 10 s t u d e n t s lie outside t h e region V u S u C, as in F i g u r e 2.23. T h e r e q u i r e d a n s w e r s can now be directly read from this V e n n diagram: (1) ] C - S ] - 24 + 8 strawberry.
32. So 32 s t u d e n t s like chocolate b u t not
(2) I(C n S ) - VI - 6. Therefore, 6 s t u d e n t s like both chocolate a n d s t r a w b e r r y , b u t not vanilla. (3) 30 + 8 + 24 - 62 s t u d e n t s like vanilla or chocolate, b u t not s t r a w b e r r y . T h e y are r e p r e s e n t e d by the region (V u C) - S. m Finally, suppose a set contains n elements. How m a n y subsets does it have? Before we a n s w e r this partially, let us study t h e next example, which uses the addition principle. ] ~ ~ ~ ~ ~
Let s3 denote the n u m b e r of subsets of t h e set S - {a, b, c}. Let S* - S - { b } . We shall use the subsets of S* in a clever way to find s3 a n d all s u b s e t s of S. Let A denote the subsets of S*. T h e n A = {~, {a}, {c}, {a, c} }. Clearly every e l e m e n t of A is also a subset of S. Now add b to every e l e m e n t in A. Let B denote the r e s u l t i n g set: B - {{b}, {b, a}, {b, c}, {b, a, c} }. E v e r y subset of S e i t h e r contains b or does not contain b; so, by the addition principle, 8 3 - - IAI + [BI = 4 + 4 = 8. m More generally, we have the following result.
~
Let
8n
denote the n u m b e r of subsets of a set S with n elements. T h e n where n > 1.
Sn -- 2Sn_l,
PROOF: Let x e S. Let S* = S - {x}. T h e n S* contains n - 1 e l e m e n t s a n d hence has Sn-1 subsets by definition. Each of t h e m is also a subset of S. Now i n s e r t x in each of t h e m . The r e s u l t i n g Sn-1 sets are also subsets of S. Since every subset of S e i t h e r contains x or does not contain x, t h e addition principle indicates a total of 8 n - 1 q" 8 n - 1 --- 2Sn-1 subsets of S. (Notice t h a t so = 1. Why?) m
Chapter 2 The Language of Sets
102
Consequently, if you know the n u m b e r of subsets of a set with n - 1 elements, this theorem can be employed to compute the n u m b e r of subsets of a set with n elements. For instance, by Example 2.33, a set with three elements has eight subsets; therefore, a set with four elements has 2.8 = 16 subsets. The technique used in the proof of Theorem 2.2 can be applied to write an algorithm for finding the power set of a set S. See Algorithm 2.3. It uses the fact t h a t if A is a subset of S and s E S, t h e n A u {s} is also a subset of S. Algorithm subsets(S) (* This algorithm finds the power set of a set S with n elements Sl, s2 . . . . . Sn. Sj denotes the j t h element in the power set. *) Begin (* subsets *) power set <- {0} (* i n i t i a l i z e power set *) numsubsets <- I (* i n i t i a l i z e the number of subsets *) for i = I to n do (* si denotes the ith element in S *) begin (* for *) j <-- 1 (* j - t h element in P(S) *) temp ~- numsubsets (* temp is a temporary variable*) while j _< temp do (* construct a new subset *) begin (* while *) add Sj U {si} to the power set j ~-j+1 numsubsets <-- numsubsets + 1
endwhi I e endfor End (* subsets *) Algorithm 2.3
I
Although Theorem 2.2 does not give us an explicit formula for the n u m b e r of subsets, it can be used to find the formula. The next theorem gives us the explicit formula, which we shall prove in Section 4.4 (see Example 4.18). A set with n elements has 2 ~ subsets, where n >_ 0. For example, a set with four elements has 24 = 16 subsets! Exercises 2.4
Find the cardinality of each set. 1. The set of letters of the English alphabet. 2. The set of letters of the word T W E E D L E D E E . 3. The set of m o n t h s of the year with 31 days. 4. The set of identifiers in J a v a t h a t begin with 3.
m
2.4
The Cardinality of a Set
103
Let A and B be two sets such t h a t ]AI - 2a - b, IBI = 2a, ]AN B] = a - b, and ]U] = 3a + 2b. F i n d the cardinality of each set.
5. A U B
6. A - B
7. B'
8. A - A '
9. Find ]AI if IA] - IB], ]A u BI - 2a + 3b, and ]A ~ BI - b. 10. F i n d l A n B l i f l A i - a + b -
BlandlAuBI-2a+2b.
11. Find ]AN BI if ]AI - 2a, IB] - a, and ]A u B] - 2a + b. Let A and B be finite sets such t h a t A ___B, IAI - b, IBI - a + b. Find the cardinality of each set. 12. A U B
13. A - B
14. B - A
15. A ~ B
Let A and B be finite disjoint sets, where IA] - a, and IBI - b. Find the cardinality of each set. 16. A U B
17. A - B
18. B - A
19-21. Find the cardinality of each set in Exercises 16-18, where A _c B, B is finite, IAI - a, and IBJ - b. 22. A survey conducted recently a m o n g 300 adults in O m e g a City shows 160 like to have their houses painted green, and 140 like t h e m blue. Seventy-five adults like both colors. How m a n y do not like either color? 23. A survey was t a k e n to d e t e r m i n e the preference between two l a u n d r y detergents, Lex and Rex. It was found t h a t 15 people liked Lex only, 10 liked both, 20 liked Rex only, and 5 liked n e i t h e r of them. How m a n y people were surveyed? Find the n u m b e r of positive integers < 500 and divisible by: 24. Two or three.
25. Two, three, or five.
26. Two or three, but not six.
27. N e i t h e r two, three, nor five.
Find the n u m b e r of positive integers _< 1776 and divisible by: 28. Two, three, or five.
29. Two, three, or five, but not six.
30. Two, three, or five, but not 15.
31. Two, three, or five, but not 30.
According to a survey a m o n g 160 college students, 95 s t u d e n t s take a course in English, 72 take a course in French, 67 take a course in G e r m a n , 35 take a course in English and in French, 37 take a course in F r e n c h and in G e r m a n , 40 take a course in G e r m a n and in English, and 25 take a course in all three languages. Find the n u m b e r of s t u d e n t s in the survey who take a course in: 32. English, but not G e r m a n .
33. English, French, or German.
104
Chapter2 The Language of Sets 34. English or French, but not German.
35. English and French, German.
b u t not
36. English, but neither F r e n c h nor German. 37. Neither English, French, nor German. A recent survey by the MAD corporation indicates t h a t of the 700 families interviewed, 220 own a television set but no stereo, 200 own a stereo but no camera, 170 own a camera but no television set, 80 own a television set and a stereo but no camera, 80 own a stereo and a camera but no television set, 70 own a camera and a television set but no stereo, and 50 do not have any of these. Find the n u m b e r of families with: 38. Exactly one of the items.
39. Exactly two of the items.
40. At least one of the items.
41. All of the items.
Using Algorithm 2.3, find the power set of each set. List the elements in the order obtained. 42. {a,b}
43. {a,b, c}
A finite set with a elements has b subsets. Find the n u m b e r of subsets of a finite set with the given cardinality. 44. a + l
45. a + 2
46. a + 5
47. 2a
Let A, B, and C be subsets of a finite set U. Derive a formula for each.
48. IA'NB'I
49. IA'NB'NC'I
*50. State the inclusion-exclusion principle for four finite sets A i , 1 <_ i < 4. (The formula contains 15 terms.) "51. Prove the formula in Exercise 50. **52. State the inclusion-exclusion principle for n finite sets A i , 1 < i < n.
A new way of defining sets is using recursion. (It is a powerful problemsolving technique discussed in detail in Chapter 5.) Notice t h a t the set of n u m b e r s S interesting characteristics:
-
{2,22,222, 22~,...} has three
(1) 2 E S . (2) I f x ~ S , t h e n 2 x e S . (3) Every element of S is obtained by a finite n u m b e r of applications of properties 1 and 2 only.
2.5 RecursivelyDefined Sets
105
P r o p e r t y 1 identifies explicitly the p r i m i t i v e e l e m e n t in S a n d hence e n s u r e s t h a t it is n o n e m p t y . P r o p e r t y 2 establishes a s y s t e m a t i c p r o c e d u r e to c o n s t r u c t new e l e m e n t s from k n o w n e l e m e n t s . How do we know, for instance, t h a t 222E S? By p r o p e r t y 1, 2 E S; then, by p r o p e r t y (2), 22 E S; now choose x - 22 a n d apply p r o p e r t y 2 again; so 222E S. P r o p e r t y 3 guarantees t h a t in no o t h e r way can the e l e m e n t s of S be constructed. T h u s t h e various e l e m e n t s of S can be obtained s y s t e m a t i c a l l y by a p p l y i n g t h e above properties. These t h r e e c h a r a c t e r i s t i c s can be generalized a n d m a y be employed to define a set S implicitly. Such a definition is a recursive definition.
Recursively Defined Set A r e c u r s i v e d e f i n i t i o n of a set S consists of t h r e e clauses: 9 The b a s i s c l a u s e explicitly lists at least one p r i m i t i v e e l e m e n t in S, e n s u r i n g t h a t S is n o n e m p t y . 9 The r e c u r s i v e c l a u s e establishes a s y s t e m a t i c recipe to g e n e r a t e new e l e m e n t s from k n o w n elements. 9 The t e r m i n a l c l a u s e g u a r a n t e e s t h a t t h e first two clauses are the only ways the e l e m e n t s of S can be obtained. The t e r m i n a l clause is generally o m i t t e d for convenience. Let S be the set defined recursively as follows. (1) 2 E S .
(2) I f x E S ,
thenx 2ES.
Describe the set by the listing method. SOLUTION: 9 2 E S, by the basis clause. 9 Choose x = 2. T h e n by t h e recursive clause, 4 E S. 9 Now choose x = 4 a n d apply the recursive clause again, so 16 E S. C o n t i n u i n g like this, we get S = {2, 4, 16,256, 6 5 5 3 6 , . . . }. I The next t h r e e e x a m p l e s f u r t h e r elucidate the recursive definition. Notice t h a t the l a n g u a g e L -
{a, aa, ba, aaa, aba, baa, b b a , . . . } consists of
words over the a l p h a b e t E = {a, b} t h a t end in t h e letter a. It can be defined recursively as follows. 9 aEL. 9 If x E L, t h e n ax, bx E L. For instance, the word aba can be c o n s t r u c t e d as follows: 9 a E L. Choosing x = a, bx = ba E L.
106
Chapter 2 The Language of Sets 9 Now choose x = ba. Then ax = aba E L.
The tree diagram in Figure 2.24 illustrates systematically how to derive the words in L. F i g u r e 2.24
a
aa aaa
ba baa
aba
bba I
(Legally Paired Parentheses)An important problem in c o m p u t e r science is to determine w h e t h e r or not a given expression is legally parenthesized. For example, (()), ( ) (), and (() ()) are validly paired sequences of parentheses, but ) (), ( ) (, and ) ( ) ( are not. The set S of sequences of legally paired parentheses can be defined recursively as follows: 9 ()ES. 9 Ifx,y
E S , then x y and (x) belong to S.
The tree diagram in Figure 2.25 shows the various ways of constructing the elements in S. F i g u r e 2.25
()
()() ()
(()) ())
()()()()
(()
((()))
(())(())
I
A simplified recipe to determine if a sequence of parentheses is legally paired is given in Algorithm 2.4. Algorithm Legally Paired Sequence (* This algorithm determines i f a nonempty sequence of parentheses is l e g a l l y paired. Count keeps track of the number of parentheses. I t is incremented by I i f the current parenthesis is a l e f t parenthesis. and decremented by I i f i t is a r i g h t parenthesis. *) Begin (* algorithm *) count +-- 0 (* i n i t i a l i z e *) read a symbol i f symbol = l e f t paren then
2.5
Recursively Defined Sets
107
while not the end of the sequence do begin (* while *) i f symbol = l e f t paren then count +-- count + I else (* symbol = right parenthesis *) count ~-- c o u n t - 1 read the next symbol endwhi ] e i f count = 0 then legal sequence else invalid sequence else invalid sequence (* begins with a right paren *) End (* algorithm *)
Algorithm 2.4
This e x a m p l e is s t u d i e d f u r t h e r in C h a p t e r s 6 a n d 9. ~
m
A legal e x p r e s s i o n in p r o p o s i t i o n a l logic is called a w e l l - f o r m e d f o r m u l a (wff). F o r convenience, we r e s t r i c t o u r d i s c u s s i o n to t h e logical v a r i a b l e s p, q, a n d r, a n d t h e o p e r a t o r s A, v, a n d ~. T h e n t h e set of w e l l - f o r m e d f o r m u l a s can be defined recursively: 9 T h e logic v a r i a b l e s are wffs. 9 I f x a n d y a r e wffs, t h e n so a r e (x), ~(x), (x A y), a n d (x v y). F o r instance, t h e e x p r e s s i o n ((p) A ((-~(q)) V (r))) is a wff, b u t (q A ( ~ r ) ) is not (why?). ( P a r e n t h e s e s are often o m i t t e d w h e n a m b i g u i t y is impossible.) m
Exercises 2.5 In Exercises 1-6, a set S is defined recursively. F i n d four e l e m e n t s in e a c h case. 1.
3.
i) I E S ii) x E S ~ 2 x E S
i) e E S
2.
i) I E S ii) x E S ~ 2 x E S
4.
i) 3 E S ii) x E S ~ l g x c S t
6.
i))~L ii) x c L -~ axb E L
ii) x E S ~ e x c S 5.
i))~EL ii) x E L ~ xbb E L
tlg x means log2 x.
108
Chapter 2 The Language of Sets In Exercises 7-10, identify the set S t h a t is defined recursively. 7. 9.
i) l e S ii) x , y ~ S --+ x + y ~ S
8.
i) 2 e S i i ) x , y ~ S --+ x + y ~ S
10.
i) l e S ii) x , y ~ S --> x •
~S
i) 0 e S ii) x e X , A e S
--> { x } u A e S
Define each language L over the given alphabet recursively. 11. {0, 00, 10, 100, 110, 0000, 1010,...}, E -- {0, 1}. 12. L = {1, 11,111, 1111, 1 1 1 1 1 , . . . } , E -- {0, 1}.
13. L -
{x ~ E * l x - b n a b n , n > 0}, E -- {a,b}.
14. The language L of all palindromes over E - {a, b}. (A p a l i n d r o m e is a word that reads the same both forwards and backwards. For instance, abba is a palindrome.) "15. {b, bb, bbb, bbbb,... }, E - {a, b}. * 16. {b, aba, aabaa, a a a b a a a , . . . }, E -- {a, b}. * 17. {a, aaa, aaaaa, a a a a a a a , . . . }, E - {a, b}. "18. {1, 10, 11,100, 1 0 1 , . . . } , E - {0, 1}.
Determine if each sequence of parentheses is legal. 19. (()())
20. (())(
21. (()( )
22. (()( ))( )
The nth C a t a l a n n u m b e r Cn, named after the Belgian mathematician, Eugene Charles Catalan (1814-1894), is defined by Cn=
(2n)! n!(n +
1)!'
n>0 -
where n! (n f a c t o r i a l ) is defined by n! - n ( n - 1)... 3 . 2 . 1 and 0! - 1. Catalan n u m b e r s have many interesting applications in computer science. For example, the n u m b e r of well-formed sequences of n pairs of left and right parentheses is given by the n t h Catalan number. Compute the n u m b e r of legally paired sequences with the given pairs of left and right parentheses. 23. Three
24. Four
25. Five
26. Six
27. List the well-formed sequences of parentheses with three pairs of left and right parentheses. 28. Redo Exercise 27 with four pairs of left and right parentheses. Using Example 2.37, determine if each is a wff in propositional logic. 29. (p A ((~(q)) v r))
30. ((~(p)) v ((q) A (~r))
Chapter Summary
109
31. (((~p) v q) A (~q) V (~p)))
32. ((p V q) A ((~(q)) V (~(r))))
33. Determine if the following recursive definition yields the set S of legally paired parentheses. If not, find a validly paired sequence t h a t cannot be generated by this definition. i) () e S.
ii) I f x e S, t h e n ( )x, (x), x( ) ~ S.
34. Define the set of words S over an alphabet Z recursively. A s s u m e s (Hint: use concatenation.) 35. Let E be an alphabet. Define E* recursively. (Hint: use concatenation.) *36. Define the language L of all binary representations of n o n n e g a t i v e integers recursively.
This chapter presented the concept of a set, different ways of describing a set, relations between sets, operations with sets and their properties, a n d formal languages. How sets and set operations work in a typical c o m p u t e r were also discussed.
Set 9 A s e t is a well-defined collection of objects
(page 68).
9 A set can be described using words, listing the elements, or by t h e set-builder notation (page 69). 9 A _c B if and only if every element of A is also an e l e m e n t of B (page 69). 9 ( A - B) ~ (A c B) A (B c_ A)
(page 70).
9 The n u l l s e t 0 contains no elements
(page 70).
9 The
universal
set
U contains
all elements
9 A and B are d i s j o i n t s e t s if A N B = O
under
discussion (page 70). (page 71).
9 The p o w e r s e t P(A) of a set A is the family of all subsets of A (page 72). 9 A set with a definite n u m b e r of elements is finite; if a set is not finite, it is i n f i n i t e (page 73).
Chapter 2 The Language of Sets
II0
Formal Language 9 An alphabet Z is a finite set of symbols; {0,1} is t h e b i n a r y a l p h a b e t (page 75). 9 A w o r d over E is a finite a r r a n g e m e n t of s y m b o l s f r o m E. A w o r d of l e n g t h zero is t h e e m p t y w o r d ~ (page 75). 9 E* consists of all possible w o r d s over Z
(page 75).
9 A formal l a n g u a g e over Z is a s u b s e t of E*
(page 75).
9 T h e c o n c a t e n a t i o n of two w o r d s x a n d y is t h e w o r d xy.
(page 76).
9 Union
A w B -xl(x
(page 78).
9 Intersection
A N B = {xl(x ~ A) A (x ~ B)}
(page 78).
9 Difference
A - B = {x ~ A l x ~ B}
(page 80).
A' = U - A = {x e UIx r A}
(page 81).
Set Operations
9 Complement
~ A ) v (x ~ B )
9 S y m m e t r i c difference A G B = (A - B) u (B - A)
(page 82).
9 Cartesian product
(page 87).
A x B = {(a, b)l(a ~ A) A (b ~ B)}
9 T h e f u n d a m e n t a l p r o p e r t i e s of set o p e r a t i o n s a r e listed in T a b l e 2.2 (page 83).
Partition 9 A partition of a set S is a finite collection of n o n e m p t y , p a i r w i s e disjoint s u b s e t s of S w h o s e u n i o n is S (page 90).
Computer Implementation 9 Set o p e r a t i o n s a r e i m p l e m e n t e d in a c o m p u t e r u s i n g t h e bit o p e r a t i o n s in T a b l e 2.5 a n d t h e logic o p e r a t i o n s in T a b l e 2.6. (page 97).
Cardinality 9 Inclusion-exclusion
principle IA u BI -
IAI + I B I - [A N BI (page 99).
9 Addition principle [A u B[ = IA[ + IBI, w h e r e A N B = 0 9 A set w i t h n e l e m e n t s h a s 2 n s u b s e t s
(page 99). (page 102).
Recursion 9 T h e recursive definition of a set consists of a basis clause, r e c u r s i v e clause, a n d a t e r m i n a l clause (page 105).
Chapter Summary
111
Review Exercises U s i n g the V e n n d i a g r a m in F i g u r e 2.26, find each.
1. A - ( B N C )
2. ( A U B ) - C
3. A - ( B - C )
4. ( A - B ) - C
5. A @ B
6. ( A - B )
7. A - (B G C)
8. A u (B O C')
Figure 2.26
x (B-C)
U
9. Find t h e s e t s A a n d B i f A N B ' = {d, f}, a n d A' n B' - {i}.
{a,c},BNA'=
{b,e,g},ANB-
Let A, B, and C be sets such t h a t A - (B u C) - {b,e}, B - (C u A) - {k}, C - (A u B) - {h},A N B = { f , g } , B N C - {j}, C N A - {i}, a n d A N B N C = 0 . Find each set. 10. A - ( B N C )
11. ( A G B ) - C
12. A ( 9 ( B G C )
F i n d the power set of each set. 13. { 0 , { 0 } }
"14. {2,{3},{2, 3}}
15. Let A - {n ~ Ntn < 20 a n d n is d i v i s i b l e b y 2}, B - {n ~ NIn < 20 and n is divisible by 3}, a n d C - {n e NIn < 20 and n is divisible by 5}. D e t e r m i n e if t h e y form a p a r t i t i o n of the set {n e NIn < 20}. Let U - {1 , . . . , 8}, A - {1, 3, 5, 7, 8}, a n d B - {2, 3, 6, 7}. F i n d t h e b i n a r y r e p r e s e n t a t i o n of each set. 16. A - ( A N B )
17. A - B '
18. A - ( A • B )
19. A G ( A G B )
A survey found t h a t 45% of w o m e n like plain yogurt, 55% like flavored yogurt, and 23% like both. C o m p u t e the p e r c e n t a g e of w o m e n w h o like each. 20. Plain yogurt, b u t not flavored. 21. Plain or flavored yogurt, b u t not both. A survey was t a k e n a m o n g t h e s t u d e n t s on c a m p u s to find out w h e t h e r t h e y prefer vanilla or s t r a w b e r r y ice c r e a m and w h e t h e r t h e y prefer c h o c o l a t e or
112
Chapter2 The Language of Sets Pudding
T a b l e 2.7 Chocolate
Ice Cream
Tapioca
Neither
Total
Vanilla
68
53
12
133
Strawberry
59
48
9
116
Neither
23
21
7
51
Total
150
122
28
300
tapioca pudding. The results are s u m m a r i z e d in Table 2.7. Find the n u m b e r of s t u d e n t s who: 22. Like s t r a w b e r r y ice cream and tapioca pudding. 23. Do not like pudding. 24. Like at least one of the ice cream flavors. 25. Like neither ice cream nor pudding. Find the n u m b e r of positive integers _< 4567 and divisible by: 26. Two, three, or five.
27. Two, five, or seven, but not 35.
Find four elements in each set S defined recursively. 28.
ii) x E S ~ 30.
29.
i) I E S
ii)x E S ~ l g x E S
I+xES
i)v~ES ii) x E S o , / 2 §
i) 3 E S
31.
i) 1 E S ii) x E S o
~/I+2xES
Define each set S recursively. 32. {2, 4, 16,256,...}
33. { 1 , 3 , 7 , 1 5 , 3 1 , . . . }
34. {b, ba 2, ba 4, b a 6 , . . . }
35. {~, ba, b2a 2, b3a3,... }
Find five words in each language L over the alphabet E = {a, b}. 36. {x E E*lx contains exactly one a} 37. {x E E*lx contains an odd n u m b e r o f a ' s } Define each language L over the given alphabet recursively. 38. {x E Z* Ix contains exactly one a }, E -- {a, b}. 39. {x E E*[x ends in ab}, E = {a,b}. 40. { 2 , 3 , 4 , 5 , 6 , . . . } , E --{2,3}. 41. { 1, 010, 00100, 0001000, 000010000, . . . }, E = {0, 1 }.
Chapter Summary
113
Determine if each is a well-formed formula. 42. (p A ((~(q)) v (r)))
43. (((p) A (q)) v (~(q) A (r)))
Let A, B, and C be any sets. Prove each. *44. A ~ ( B u C ) - - ( A n B ) u ( A A C ) *45. A u ( B n C ) = ( A u B ) n ( A u C )
*46. A u ( B - C ) = ( A u B ) - ( C - A ) *47. A n ( B - C ) = ( A n B ) - ( A n C ) Simplify each set expression. 48. (A' u B')' u (A' ~ B)
*49. [A - (B u C)] N [(B N C) - A]
Consider the fuzzy sets, where A - {Mike 0.6, Andy 0.3, Jeff 0.7} and B -- {Jean 0.8, J u n e 0.5}. Find each fuzzy set. 50. A u B'
51. A ' A B
52. A @ B'
53. A x B
Let A and B be any fuzzy sets. Prove each. *54. (A u B)' = A' - B
*55. ( A - B ) ' = A ' u B
Supplementary Exercises Prove each, where A, B, and C are a r b i t r a r y sets. 1. A - (B u C) - (A - B) n (A - C) 2. [ A n ( A - B ) ] U ( A ' U B ) ' = A - B *3. A n ( B @ C ) = ( A n B ) @ ( A n C ) *4. A @ ( B @ C ) - ( A @ B ) @ C Simplify each set expression. 5. ( A ~ B ) n ( B n C ) n ( C ~ A ) *7. (A u B') n (A' u B) N (A' u B')
*6. [(A u B) ~ C] u [A N (B u C)] *8. [(A u B') u (A' u B)]' A (A' n B')
Find the n u m b e r of positive integers < 1000 and n o t divisible by" 9. 2,3, o r 5 .
*10. 2 , 3 , 5 , o r 7 .
11. Define recursively the language { o n l n ] n >_ 0} over E - {0, 1}. 12. Define recursively a word w over a finite alphabet E. Let x = x l x 2 . . . Xn ~ ~ * . Then the string X n . . . X2Xl is called the r e v e r s e of x, denoted by x R. For example, the reverse of the binary word 01101 is 10110. Let x, y ~ ~ n . Prove each. 13. (xy) R - y R x R
114
Chapter2 The Language of Sets 14. The string x is palindromic if and only if X R
--
X.
15. The word x x R is palindromic.
Computer Exercises Write a program to do each task, where n denotes a positive integer < 20. 1. Read in k subsets of the set S - {1, 2 , . . . , n } and determine if the subsets form a partition of S. 2. Read in two sets A and B, where U - { 1 , 2 , 3 , . . . ,n}. Print the bitrepresentations of A and B. Use them to find the elements in A u B, A ~ B, A', A - B, A @ B, and A x B, and their cardinalities. 3. Find all subsets of the set {1, 2 , . . . , n}. 4. Read in sequences of left and right parentheses, each containing at most 25 symbols. Determine if each word consists of legally paired parentheses. 5. Print the Catalan numbers Co through Cn.
Exploratory Writing Projects Using library and Internet resources, write a team report on each of the following in your own words. Provide a well-documented bibliography. 1. Write an essay on the life and contributions of G. Cantor. 2. Explain the various occurrences of the ordered pair notation in everyday life. 3. Explain how the addition principle is used to define the addition of positive integers. Give concrete examples. 4. Explain how the concept of partitioning is used in everyday life. In sports. In computer science. Give concrete examples. 5. Study a number of mathematical paradoxes and explain them. 6. Discuss the various string operations and list the programming languages that support them. 7. Describe fuzzy sets and their applications, and L. A. Zadeh's contributions to them. 8. Write a biography of Abu-Abdullah Muhammed Khowarizmi and the origin of the word a l g o r i t h m .
ibn-Musa
al-
9. Extend the concept of the cardinality of a finite set to infinite sets. Describe the arithmetic of transfinite cardinal numbers. 10. Discuss the halting problem.
Chapter Summary
115
Enrichment Readings
1. R.R. Christian, Introduction to Logic and Sets, Blaisdell, Waltham, MA, 1965. 2. M. Guillen, Bridges to Infinity: The Human Side of Mathematics, J. P. Tarcher, Inc., Los Angeles, 1983, pp. 41-60. 3. P. R. Halmos, Naive Set Theory, Van Nostrand, New York, 1960. 4. S. Sahni, Concepts in Discrete Mathematics, 2nd ed., Camelot, Fridley, MN, 1985, pp. 93-111. 5. P. C. Suppes, Axiomatic Set Theory, Van Nostrand, New York, 1960. 6. R.L. Wilder, Evolution of Mathematical Concepts: An Elementary Study, Wiley, New York, 1968.
Chapter 3
Functions and Matrices To know him [Sylvester] was to know one of the historic figures of all time, one of the immortals; and when he was really moved to speak, his eloquence equaled his genius. G. B. HALSTED
T
his chapter presents two mathematical entities in some detail: functions and matrices. The concept of a function is central to every branch of mathematics and to m a n y other areas of learning as well. We will look at the notion of a function and study a few exotic functions. In addition, we will discuss a few i m p o r t a n t properties of special functions and a few techniques for constructing new functions from known ones. Matrices find their applications in diverse fields such as computer science, engineering, the natural sciences, and the social sciences. A few of the interesting problems we shall study in this chapter are: 9 Find the n u m b e r of leap years beyond 1600 and not exceeding a given year N. 9 Find the first day and the n u m b e r of F r i d a y - t h e - t h i r t e e n t h s in a given year, and the date for Easter Sunday of the year. 9 If we select 367 students from a campus, will at least two of t h e m have the same birthday? 9 Suppose every pair of nonadjacent vertices of a hexagon is joined by a line segment, and each line segment is colored red or blue. Will the line segments form at least one monochromatic triangle?
The concept of a function is so f u n d a m e n t a l t h a t it plays the role of a unifying t h r e a d t h a t intertwines every branch of mathematics. It is used in your everyday life as well. For example, when you compute your electric or water bill, you are using the concept of a function, perhaps unknowingly. 117
118
Chapter 3 Functions and Matrices
Here is an example of a function from the academic world. Consider five m a t h e m a t i c s m a j o r s - - B e n s o n , Goldberg, Hall, Rawlings, and Wilcox. Their quality-point averages (QPA) on a 0-4 scale are 3.56, 3.80, 2.65, 3.56, and 2.23, respectively. Each element in the set A = {Benson, Goldberg, Hall, Rawlings, Wilcox} is assigned a unique element from the set B - {2.23, 2.65, 3.56, 3.80}, as shown in Figure 3.1. F i g u r e 3.1
I
/
~
1__~3.56
9
A
B
This assignment has two interesting properties: 9 Every major is assigned a QPA. 9 Every major has a unique (meaning exactly one) QPA. Such an assignment is a function. More generally, we make the following definition. Function
Let X and Y be any two n o n e m p t y sets. A f u n c t i o n from X to Y is a rule that assigns to each element x ~ X a unique element y ~ Y. Functions are usually denoted by the letters f, g, h, i, etc. If f is a function from X to Y, we write f : X --* Y. The set X is the d o m a i n of the function f and Y the c o d o m a i n of f, denoted by dom(f) and codom(f), respectively. If X = Y, then f is said to be a function o n X. The next example elucidates these definitions. Determine whether or not the assignments in Figures 3.2-3.4 are functions. F i g u r e 3.2 a
b
X
Y
119
3.1 The Concept of a Function
F i g u r e 3.3
a
1
b
X
Y
F i g u r e 3.4
vl ~2 v3 '4 X
Y
SOLUTION: 9 The assignment in Figure 3.2 describes a function f from X to Y, since every element in X is assigned to exactly one element in Y. Dom(f) = X and codom(f) = Y. (Notice t h a t the definition does not prohibit two or more distinct elements in X being paired with the same element in Y. Also, it does not require t h a t every element of Y be used.) 9 On the other hand, the assignment in Figure 3.3 is not a function since not every element in X is assigned an element in Y. 9 The "pairing" in Figure 3.4 is also not a function since b e X is not assigned a unique element in Y. m Let f : X --* Y, so every element x E X is paired with a unique element y e Y, as in Figure 3.5. T h e n y is the v a l u e (or i m a g e ) of the function f at x, denoted by f(x), and x is a p r e - i m a g e of y u n d e r f (see Figure 3.5); y is also known as the o u t p u t corresponding to the i n p u t (or a r g u m e n t ) x. Thus y = f(x).* Read f(x) as f o f x .
F i g u r e 3.5 f
~
-
~
input (or argument)
output X
Y
*This functional notation is due to Euler. See Chapter 8 for a biography of Euler.
120
Chapter3 Functions and Matrices
Warning: (1) f(x) does not m e a n f t i m e s x. It simply denotes t h e i t e m y e Y t h a t x e X is paired with. (2) Let f 9 X --> Y and x a n y e l e m e n t in X. Then, for convenience, we m a y call f(x) the function, a l t h o u g h it is incorrect. R e m e m b e r , f is the function and f(x) is j u s t a value!
There is an a l t e r n a t e way of defining a function f : X ~ Y. Since every x e X d e t e r m i n e s a u n i q u e e l e m e n t y = f(x) in Y, we can form t h e o r d e r e d pair (x~) which belongs to X • Y. T h e set of all such pairs (x,y) can be used to define f.
Next we define a useful subset of the codomain of a function. Range of a Function
Let f 9X ~ Y a n d A __ X. T h e n f(A) denotes the set {f(a)ia e A}. In particular, f ( X ) is the r a n g e of f, denoted by r a n g e ( f ) . T h u s r a n g e ( f ) - f(X) {f(x) ix e X}. Notice t h a t range(f) c_ Y. Consider the function f in F i g u r e 3.2. T h e n f(a) - f(c) - f(d) - 2 and f ( b ) - 3. L e t A - {b,c}. T h e n f ( A ) - {f(b),f(c)} - {3,2}. Also, r a n g e ( f ) {2, 3 } r codom(f), i P r o g r a m m i n g languages provide built-in functions. For example, R O U N D and T R U N C are two such functions. Both are functions from to Z; R O U N D r o u n d s off a real n u m b e r to the n e a r e s t integer, w h e r e a s T R U N C chops off the fractional part. The F O R T R A N , C + +, and J a v a functions M A X and M I N select the largest and the smallest of n integers (or real numbers); t h e y are functions from Z n to Z (or R" to R). F u n c t i o n s are often defined using formulas; t h a t is, by s t a t i n g t h e i r general behavior. M a n y of the formulas you are familiar with are, in fact, examples of functions. For instance, the formula C(r) - 2 n r (circumference of a circle of radius r) defines a function. We now p r e s e n t a few examples of a b s t r a c t functions defined by formulas. Let Z - {a, b, c}. Let f 9 Z* --* W, defined by f(x) = ilx li. T h e n f(~) - 0, f(abc) - 3, and f(aibJc h) - i + j + k. i ~
Let S be the set of binary words defined recursively as follows: i) l e S .
ii) I f x e S t h e n x 0 ,
xleS.
S consists of b i n a r y r e p r e s e n t a t i o n s of positive integers with no leading zeros. (See Section 4.3 for a discussion of b i n a r y numbers.) Let g" S --~ lq defined by g(x) - decimal value of x. T h e n g(100) - 4, g(110) - 6, and g(101001) - 41. i
3.1
~
The Concept of a Function
121
The c h a r a c t e r sets ASCII, m u l t i n a t i o n a l 1, box drawing, t y p o g r a p h i c a l s y m bols, math/scientific symbols, and G r e e k symbols, used by WordPerfect* a r e denoted by t h e c h a r a c t e r set n u m b e r s 0, 1, 2, 3, 4, 6, and 8, respectively (see Appendix A.1). Let A - {0, 1, 2, 3, 4, 6, 8}. E a c h c h a r a c t e r in a c h a r a c t e r set is associated w i t h a u n i q u e decimal n u m b e r , called its o r d i n a l n u m b e r (or its relative position). For example, t h e ordinal n u m b e r of t h e c h a r a c t e r '&' in ASCII is 38.** Let B - {32, 33, 3 4 , . . . , 60}, t h e set of ordinal n u m b e r s . T h e n we can define a function f : A x B ~ C defined by f(i,j) - c, w h e r e c is the c h a r a c t e r w i t h ordinal n u m b e r j in t h e c h a r a c t e r set i. F o r e x a m p l e , f(0,36) = '$' a n d f(8,38) = ' E ' . m
Piecewise Definition
The above definitions of functions consist of j u s t one formula. In fact, t h e definitions of m a n y of the real-world functions consist of m o r e t h a n one formula. Such a definition is a p i e c e w i s e d e f i n i t i o n .
~
A town in M a s s a c h u s e t t s charges each h o u s e h o l d a m i n i m u m of $75 for up to 4000 cubic feet (ft 3) of w a t e r every 6 m o n t h s . In addition, each household has to pay 60r for every 100 ft 3 of w a t e r in excess of 4000 ft 3. E x p r e s s the w a t e r bill f(x) as a function of the n u m b e r of cubic feet of w a t e r x u s e d for 6 m o n t h s . SOLUTION:
The m i n i m u m charge is $75 for up to 4000 ft 3 of water, so f(x) 0 < x < 4000. Suppose you used more t h a n 4000 ft 3 of water. T h e n
Cost for the excess -
x - 4000 100
75 if
(0.60) - 0.006(x - 4000)
Then Total cost - m i n i m u m charge + cost for t h e excess - 75 + 0.006(x - 4000) Thus, the w a t e r bill f(x) in dollars can be c o m p u t e d u s i n g t h e piecewise definition" i f 0 < x < 4000
f (x) -- 175
/ 75 +
0.006(x - 4000)
if x > 4000
*WordPerfect is a wordprocessing program marketed by Corel Corporation. **A character within single quotes indicates a literal character.
m
Chapter 3 Functions and Matrices
122
~
Let A - {0, 1 , . . . , 127}, the set of ordinal n u m b e r s in ASCII. Let f 9 A --* ASCII be defined by n o n p r i n t a b l e control c h a r a c t e r uppercase letter lowercase letter other printable c h a r a c t e r
f(n)-
if 0 < n < 31 or n - 127 if 65 < n < 90 i f 9 7 < n < 122 otherwise
Clearly, f is defined piecewise.
m
F u n c t i o n s defined piecewise are w r i t t e n as i f - t h e n - e l s e s t a t e m e n t s in most p r o g r a m m i n g languages. For example, the function in E x a m p l e 3.6 can be w r i t t e n as follows: if
(x _> O) and (x _< 4000) then f ( x ) ~- 50 else f ( x ) ~-- 50 + O.O06(x - 4000)
The geometrical r e p r e s e n t a t i o n of a function, called a g r a p h , is often used to study functions. Remember, a picture is w o r t h a t h o u s a n d words. Since every function f : X --. Y is a set of ordered pairs (x,y), the g r a p h of f consists of points corresponding to the ordered pairs in f, as the next example illustrates. ~
G r a p h each function. (1) Let f 9 Z ~ Z defined by f(x) (2) Let g 9 R --* R defined by
-
x 2.
X --1 3X + 4
g(x)--
ifx > 0 if--2<X<0 otherwise
SOLUTION: The g r a p h s of the functions are displayed in Figures 3.6 and 3.7, respectively. Notice t h a t the graph of f is a discrete collection of points. F i g u r e 3.6
-,~
~
~I
x
3.1 The Concept of a Function F i g u r e 3.7
123
y
q{
~x
I~ m N e x t we define a n d i l l u s t r a t e t w o w a y s to c o n s t r u c t n e w f u n c t i o n s f r o m k n o w n ones.
Sum and Product L e t f 9 X -~ R a n d g 9 Y ~ I~. T h e y c a n be c o m b i n e d to c o n s t r u c t n e w f u n c t i o n s . T h e s u m and p r o d u c t of f a n d g, d e n o t e d by f + g a n d f g , respectively, a r e d e f i n e d as follows: ( f + g ) ( x ) = f (x) + g ( x ) ( f g ) ( x ) - f (x) . g ( x )
T h e f u n c t i o n s f + g a n d f g a r e d e f i n e d w h e r e v e r both f a n d g a r e d e f i n e d . T h u s d o m ( f + g) = d o m ( f g ) = d o m ( f ) n dom(g). Let f(x)= x 2 and g(x) = ~x [ 1, c~). T h e n
1, w h e r e d o m ( f ) - ( - ~ , c ~ )
and dom(g) =
( f + g ) ( x ) - f (x) + g ( x ) -- x 2 + ~/x - 1
and
( f g ) ( x ) - f ( x ) . g ( x ) = x 2 ~/x
"1
Since dom(f) n d o m ( g ) = [ 1 , ~ ) , b o t h f(x) a n d g ( x ) a r e d e f i n e d o n l y w h e n x > 1, so d o m ( f + g) - dom(fg) = [1,c~). m Finally, t w o f u n c t i o n s f 9 A ~ B a n d g 9 C ~ D a r e e q u a l if A = C, B - D, a n d f(x) - g ( x ) for e v e r y x ~ A. W e shall u s e t h i s d e f i n i t i o n i n t h e n e x t section.
Exercises 3.1 T h e Celsius a n d F a h r e n h e i t scales a r e r e l a t e d by t h e f o r m u l a F = 9 C + 32. 1. E x p r e s s - 4 0 ~
on t h e F a h r e n h e i t scale.
124
Chapter 3 Functions and Matrices
2. Express 131~ on the Celsius scale.
Letg(x)-
3. g ( - 3 . 4 )
21x]+3 5 -x 2
4. g(0)
if x < 0 if0<x<3. otherwise
C o m p u t e each.
5. g(0.27)
6. g(4.5)
Using Example 3.6 c o m p u t e the w a t e r bill for each a m o u n t of water. 7. 1000 ft 3
8. 4000 ft 3
9. 5600 ft 3
10. 7280 ft 3
Let E = {0, 1}. Let f : E* ~ W defined by f(x) = Ilxl]. E v a l u a t e f(x) for each value of x. 11. 000101
12. 1010100
13. 0001000
14. 00110011
Let Z denote the English alphabet. L e t f : E* • Z* --* E* defined b y f ( x , y ) = xy, the concatenation of x and y. Find f ( x # ) for each pair of words x and y. 15. combi, natorics
16. net, w o r k
Let A = {32, 3 3 , . . . , 126}. Let f : A --~ ASCII defined by f(n) = c h a r a c t e r with ordinal n u m b e r n. Find f(n) for each value of n. 17. 38
18. 64
19. 90
20.
123
Let g : A S C I I --~ A defined by g(c) = n, where A = { 3 2 , 3 3 , . . . , 126} and n denotes the ordinal n u m b e r of the c h a r a c t e r c. Find g(c) for each c h a r a c t e r c. 21. '+'
22. '<'
23. 'z'
24. '{'
Let f : Z • Z --~ Z defined by f ( x # ) = 2x + 3y - 6xy. C o m p u t e the following. 25. f(2,3)
26. f ( - 3 , 0 )
27. f ( - 2 , 3 )
28. f ( - 3 , - 5 )
Let Z denote the English alphabet. Let g : Z* ~ Z* defined by f(w) = awa. The function prefixes and suffixes each word with a. Find f(w) for each word w. 29. zale
30. mbrosi
31. rom
32. nesthesi
Using the function in Example 3.4 evaluate each, if defined. 33. f(101)
34. f(1010)
35. f(o01)
36. f(11011)
Let n e N. A positive integer d is a p r o p e r f a c t o r of n if d is a factor of n and d < n. For example, the proper factors of 12 are 1, 2, 3, 4, and 6. Let a: N ~ N defined by a(n) = s u m of the proper factors of n. (a is the lowercase Greek letter, sigma.) C o m p u t e a(n) for each value of n, where p and q are distinct primes. [A positive integer n such t h a t a(n) - n is a perfect number.] 37. 6
38. 12
39. pq
40. p2
3.2 SpecialFunctions
125
U s i n g t h e functions f ( x ) = 2x + 3 a n d g ( x ) 41. ( f + g ) ( - 3 )
42. (fg)(2)
= x 2 -
l, find t h e following.
43. ( f + g ) ( x )
44. ( f g ) ( x )
Let f 9X ~ Y and A, B c X t. Prove each. 945. f(A u B) - f(A) u f(B)
*46. f(A ~ B) ___f(A) n f(B)
9 47. If B _c A c X, t h e n f(A) - f ( B ) ~ f ( A -
B).
H e r e we t u r n our a t t e n t i o n to some i m p o r t a n t functions used in d i s c r e t e mathematics.
Polynomial Function A function f 9 I~ ~ IR defined by f ( x ) = a n x n + a n - 1 x n - 1 + ' " - F a l + a0, w h e r e a0, a l , . . . , an E ]~, n e W, and an ~= O, is a p o l y n o m i a l f u n c t i o n . T h e expression an xn + a n _ l x n - 1 + . . . + a l x + ao is a p o l y n o m i a l o f d e g r e e n in x. W h e n n - 1, f is a l i n e a r f u n c t i o n ; w h e n n - 2, f is a q u a d r a t i c function.
Exponential and Logarithmic Functions Let a e •+, a ~= 1, and x a n y real n u m b e r . T h e function f: I~ ~ R + defined by f ( x ) - a x is an e x p o n e n t i a l f u n c t i o n w i t h base a. T h e m o s t f r e q u e n t l y used base in c o m p u t e r science is two. F i g u r e 3.8 shows t h e g r a p h of t h e exponential function f ( x ) -- 2 x. F i g u r e 3.8
y 2x
J 0
~X
Let a e IR+, a r 1, a n d x and y a n y real n u m b e r s such t h a t y - a x. T h e n x is called the l o g a r i t h m of y to the base a, d e n o t e d by log ay. T h u s (logay - x) <-->(y -- aX). Accordingly, the function f: R + -~ R defined t S, T c_X means S c_X and T ~ X.
Chapter3 Functionsand Matrices
126
by f(x) = log ax is the l o g a r i t h m i c f u n c t i o n with base a. (See Appendix A.3 for a brief discussion of exponential and logarithmic functions.) R e m e m b e r t h a t the most commonly used base in c o m p u t e r science is two. The corresponding logarithm is denoted by lg. T h u s lg x - log2 x, and Figure 3.9 shows the graph of the logarithmic function f(x) = lg x.
F i g u r e 3.9
y
~X
C
Absolute Value Function The a b s o l u t e v a l u e f u n c t i o n is a function f: R -~ R defined by f(x) - Ix l. Its graph is displayed in Figure 3.10. (Languages such as F O R T R A N and Java provide a built-in function, ABS, for finding absolute values.)
F i g u r e 3.10
y y= Ixl
0
WX
Floor and Ceiling Functions The floor and ceiling functions are often used in the study of algorithms, as will be seen in the next two chapters. The floor of a real n u m b e r x, denoted by LxJ, is the greatest integer _< x. The c e i l i n g of x, denoted by Ix], is the least integer >__x. The floor ofx r o u n d s d o w n x while the ceiling ofx r o u n d s up. Accordingly, if x r Z, the floor of x is the nearest integer to the left o f x on the n u m b e r line and the ceiling of x is the nearest integer to the right o f x, as shown in Figure 3.11. The floor f u n c t i o n f(x) - lxJ and the
F i g u r e 3.11
lxJ [xl-1
[xJ+ 1 x
Ix]
32 SpecialFunctions
127
.-..., ,~," ,.2
,,
'~,~ .
,.,..-:.
,.
<...,.-
?'
K e n n e t h E. Iverson (1920-) was born at Camrose, Alberta, Canada. After graduating from Queen's University, Kingston, Ontario, in 1950, he received his M.A. from Harvard University in the following year. Three years later, he received his Ph.D. in applied mathematics from Harvard, where he taught until 1960. The programming language APL (A Programming Language) was his brainchild. He conceived the idea while a student at Harvard. After joining IBM in 1960, Iverson and Adin D. Falkoff developed APL into a full-fledged programming language. Iverson's many honors include the Harry Goode Award from American Federation of Information Processing Society (1975), the Turing Award from the Association of Computing Machinery (1979), and an honorary degree from York University, Toronto (1997).
c e i l i n g f u n c t i o n g(x) = [xl are also known as the g r e a t e s t i n t e g e r f u n c t i o n and the l e a s t i n t e g e r f u n c t i o n , respectively. For example, LnJ = 3, Llg 3J = 1, L-3.5J = - 4 , L-2.7J = - 3 , [n l = 4, [lg 31 = 2, [ - 3 . 5 1 = - 3 , [-2.71 = - 2 , and L3J = 3 = F31. These two notations and the names floor and ceiling were introduced by Kenneth E. Iverson in the early 1960s. Both notations are variations of the notation Ix], which was used in n u m b e r theory. Figures 3.12 and 3.13 show the graphs of the floor and ceiling functions. The p r o g r a m m i n g languages PL/1, C, and J a v a provide the floor and ceiling functions as built-in functions, namely, F L O O R and C E I L . BASIC supports an intrinsic function called INT, which is in fact the floor function. The floor function comes in handy when real n u m b e r s are to be t r u n c a t e d or rounded off to a desired n u m b e r of decimal places. For example, the real n u m b e r n = 3.1415926535... t r u n c a t e d to three decimal places is given by L1000nJ/1000 -- 3141/1000 -- 3.141; on the other hand, n rounded to t h r e e decimal places is L1000n + 0.5J/1000 = 3.142. Figure 3.12 Graph of the floor function. '
0
o
'0
~X
128
Chapter3 Functionsand Matrices
F i g u r e 3.13
y
G r a p h of the ceiling function.
O
~X
0
O
The next example p r e s e n t s an application of the ceiling function to everyday life. In 2003, the postage rate for a first-class letter of weight x not more t h a n 1 ounce was 37r the rate for each additional ounce or a fraction t h e r e o f up to 11 ounces was an additional 23r Thus, the postagep(x) for a first-class letter is given b y p ( x ) = 0.37 + 0.23 Ix - 17, where0<x< 11. For instance, the postage for a letter weighing 7.8 ounces is p(7.8) = 0.37 + 0 . 2 3 [ 7 . 8 - 17 = $1.98. m
~
(The post-office f u n c t i o n )
Some properties of the floor and ceiling functions are listed below. We shall prove part 3, leaving the o t h e r parts as r o u t i n e exercises. ~
L
e
x be any real n u m b e r and n any integer. Then:
t
(1) LnJ = n = In[ (3) L x + n J = [ x J + n (5)
(2) Ix7 = [xJ + l ( x C Z ) (4) I x + n 7 = Ix7 + n
~n] n- 1 ifn isodd ~ = 2
(6) [ 2 7
-
n+ 1 ifn isodd 2
PROOF" 3) Every real n u m b e r x can be w r i t t e n as x = k + x' where k - LxJ and 0 < x' < 1. T h e n x + n = k + n + x ' - (n + k ) + x ' So
Ix+n] =n+k,
since0<x'<
1
- LxJ + n as desired,
m
The floor function can be used to d e t e r m i n e the n u m b e r of positive integers less t h a n or equal to a positive integer a and divisible by a positive integer b, as the next t h e o r e m shows.
3.2
Special Functions
129
Let a and b be any positive integers. T h e n the n u m b e r of positive i n t e g e r s < a and divisible by b is La/bJ. PROOF:
Suppose t h e r e are k positive integers < a and divisible by b. We n e e d to show t h a t k - La/bJ. The positive multiples of b less t h a n or equal to a are b, 2 b , . . . , kb. Clearly, k b < a or k < a/b. F u r t h e r , (k + 1)b > a. So k + 1 > a/b or a/b - 1 < k. So a a l
II
For example, the n u m b e r of positive integers _< 1776 and divisible by 13 is [1776/13J - L136.615...J - 136. The next two examples employ T h e o r e m 3.2 and the i n c l u s i o n - e x c l u s i o n principle. Find the n u m b e r of positive integers < 3000 and n o t divisible by 7 or 8. SOLUTION: Let A - {x ~ Nix < 3000 and divisible by 7} and B - {x e Nix < 3000 a n d divisible by 8}. We need to find IA' N B'I" IA' N B ' I -
I(n u B)'I
= IUf-
IA u B I
= I U I - I A I - IBI + IA n BI = 3000 - L3000/7A - L3000/8J + L3000/56] = 3000 - 428 - 375 + 53 - 2250
II
Find the n u m b e r of positive integers _< 2076 and divisible by 3, 5, or 7. SOLUTION: Let A, B, and C denote the sets of positive integers < 2076 and divisible by 3, 5, and 7, respectively. By the inclusion-exclusion principle, I A u B u CI - IAI + IBI + ICI - IA NBI - IB n CI - ICNAI + IA N B n CI
= 692 + 415 + 296 -
138 - 59 - 98 + 19 -
1127
II
130
Chapter 3
Functions and Matrices
In October 1582, Fr. C h r i s t o p h e r Clavius a n d Aloysius Giglio i n t r o d u c e d the G r e g o r i a n c a l e n d a r at the r e q u e s t of Pope Gregory XIII to rectify t h e errors of t h e J u l i a n calendar. In t h e G r e g o r i a n calendar, w h i c h is universally accepted, a nonleap y e a r c o n t a i n s 365 days and a leap y e a r c o n t a i n s 366 days. (A y e a r is a l e a p y e a r if it is a c e n t u r y divisible by 400, or if it is a n o n c e n t u r y and divisible by 4. For example, 1600 a n d 1976 w e r e leap years, w h e r e a s 1778 a n d 1900 were not.) T h e next example shows how to derive a f o r m u l a to c o m p u t e t h e n u m b e r of leap y e a r s beyond 1600 a n d not exceeding a given y e a r y. Prove t h a t the n u m b e r of leap y e a r s ~ after 1600 and not e x c e e d i n g a given y e a r y is given by
=L J_L PROOF: Let n be a y e a r such t h a t 1600 < n < y. To derive the f o r m u l a for t~ we proceed step-by-step:
9 To f i n d the n u m b e r o f years n in the range divisible by 4" Let 4nl be such a year. T h e n 1600 < 4n1 < Y" t h a t is, 400 < n l
Therefore, t h e r e are nl =
<
y
- 400 such years.
9 To f i n d the n u m b e r o f centuries in the range 1600 < n < y: Let 100n2 be a c e n t u r y such t h a t 1600 < 100n2 < y.
Then 16
Y-~. 100 Therefore, t h e r e are n2 -
~ LSj
16 c e n t u r i e s beyond 1600 a n d _
9 To f i n d the n u m b e r o f centuries in the range divisible by 400: Since t h e y are of the form 400n3, we have 1600 < 400n3 _< y. T h e n
4
4--0-0' s o n 3 -
~
-4.
9 Therefore, t~ - n l - n2 A- n3
--
§
-L J-LI- J- L -
~J
L
-4
- 388
I
The t e c h n i q u e employed for c o m p u t e r r e p r e s e n t a t i o n of sets (Section 2.3) is a consequence of the next function.
3.2 Special Functions
131
Characteristic Function Let U be a universal set and S an a r b i t r a r y subset of U. T h e n we can define a function f s : U ~ {0, 1} as follows: fs(x)-
/1 /0
ifxES otherwise
The function f s is called the c h a r a c t e r i s t i c f u n c t i o n of S. The following example illustrates this definition. Let U -
{ a , b , c , d , e , f}, A -
{a,c, d, e}, a n d B - {a,b, d}. T h e n
fA (x) -- / 1
/0
w h e n x - a, c, d, e otherwise
In other words, fA(a) = fA(c) = fA(d) = fA(e) = 1 and fA(b) = fA(f) = 0 (see Figure 3.14). Similarly, fB(a) = fB(b) = fB(d) = 1 and fB(c) = fB(e) = fB (f) ----0. m
F i g u r e 3.14
fA a
d
-]
A
B
The characteristic function f s assigns the value 1 or 0 to each e l e m e n t of the universe. So f s and hence the set S can be uniquely identified by an n-bit word and vice versa, where IUI = n. This fact enabled us to r e p r e s e n t sets as n-bit words in Section 2.3. For example, the characteristic function fA and hence the set A in the above example uniquely d e t e r m i n e the 6-bit word 011101, w h e r e we have listed the bits from right to left for consistency. Similarly, fB d e t e r m i n e s the word 001011. The characteristic function satisfies the following properties. Let A and B be any two sets, and U the universe. Let f s denote t h e characteristic function of a subset S of U and x an a r b i t r a r y e l e m e n t in U. Then: (1) (2) (3) (4)
fAnB(x) fAuB(x) fA,(X) = fAeB(X)
= 1 =
fA(x) "fB(x) fA (x) + fB(x) -- fAnB(x) -- fA (x) fA(x) + fB(x) -- 2fAnS(x)
132
Chapter3 Functionsand Matrices PROOF: We shall prove p a r t 1 and leave the other parts as exercises. Casel LetxeANB. T h e n f A ~ ( X ) = 1, by the definition of the characteristic function. Since x e A n B, x e A and x e B. Therefore, fA(x) = 1 -- f s ( x ) ; SO, f A ( x ) " f B ( x ) = 1. 1. Thus f A n S ( x ) = 1 -- fA (x) 9f s ( x ) . Case2 Letx~ANB. T h e n fAnB(X) - O. Since x r A n B , x ~ A or x r B. Therefore, e i t h e r fA (x) = 0 or f s ( x ) = 0. So, in any case, fA ( x ) . f s ( x ) -- 0. T h u s f A n B ( x ) = 0 = fA (x) "fB(x). Thus f A n B ( x ) = f A ( x ) " fB(X) for every x ~ U.
I
Mod and Div Functions The m o d f u n c t i o n f(x, y) = x m o d y denotes the r e m a i n d e r when an integer x is divided by a positive integery. The d i v f u n c t i o n g ( x ~ y ) - x divy denotes the quotient when x is divided by y. P r o g r a m m i n g languages often provide two such built-in operators, r o o d and div; in C+ +, the mod o p e r a t o r is denoted by the percent symbol %, and the div operator by the forward slash/. For example, 23 mod 5 - 3, 18 mod 6 - 0, 23 div 5 - 4, and 5 div 6 - 0. A scientific calculator, such as the TI-86, can be used to compute x mod y using the keys [MATH], [Num], [MORE1, and ~--~. Consult the m a n u a l for your calculator to check if it supports the operator. The mod function can determine the day of the week in n days from a given day. In 7 days, 14 days, and so on from a given day, it will again be the same day. Consequently, all we need do is remove the m a x i m u m n u m b e r of 7's from n. Let r be the r e m a i n d e r when n is divided by 7. T h e n the r t h day from the given day is the day we are looking for, as the next example demonstrates. Today is Thursday. W h a t day of the week will it be in 100 days from today? SOLUTION: 100 mod 7 - 2. Two days from T h u r s d a y is Saturday, so it will be S a t u r d a y in 100 days from Thursday. I The following example is a simple application of both div and mod operators.
C a r d D e a li n g Consider a s t a n d a r d deck of 52 playing cards. They are originally assigned the n u m b e r s 0 t h r o u g h 51 in order. Use the suit labels 0 = clubs, 1 diamonds, 2 = hearts, and 3 = spades to identify each suit, and the card labels 0 - ace, 1 -- deuce, 2 = t h r e e , . . . , and 12 -- king to identify the cards
3.2 Special Functions
133
in each suit. S u p p o s e c a r d x is d r a w n at r a n d o m f r o m a well-shuffled deck, w h e r e 0 < x < 51. H o w do we i d e n t i f y t h e card? First, we n e e d to d e t e r m i n e t h e suit to w h i c h t h e c a r d belongs. It is given by x div 13. Next, we n e e d to d e t e r m i n e t h e c a r d w i t h i n t h e suit; t h i s is given by x m o d 13. T h u s c a r d x is c a r d (x m o d 13) in s u i t (x div 13). F o r e x a m p l e , let x - 50. Since 50 div 13 - 3, t h e c a r d is a spade. N o w 50 m o d 13 = 11, so it is a q u e e n . T h u s c a r d 50 is t h e q u e e n of spades, m N e x t we p u r s u e a n i n t r i g u i n g a p p l i c a t i o n of t h e floor f u n c t i o n a n d t h e m o d o p e r a t o r to t h e g a m e of chess.
The Two Queens P u z z l e T h e r e are two q u e e n s on a n 8 x 8 c h e s s b o a r d . O n e c a n c a p t u r e t h e o t h e r if t h e y are on t h e s a m e row, c o l u m n , or diagonal. T h e 64 s q u a r e s on t h e b o a r d a r e n u m b e r e d 0 t h r o u g h 63. S u p p o s e one q u e e n is in s q u a r e x a n d t h e o t h e r in s q u a r e y, w h e r e 0 < x, y < 63. C a n one q u e e n c a p t u r e t h e o t h e r ? Since t h e s q u a r e s a r e labeled 0 t h r o u g h 63, we can label e a c h r o w w i t h t h e n u m b e r s 0 t h r o u g h 7, a n d e a c h c o l u m n w i t h t h e s a m e n u m b e r s 0 t h r o u g h 7. In fact, each row label - [r/8J a n d e a c h c o l u m n label = c m o d 8, w h e r e 0 < r, c < 63. See F i g u r e 3.15. T h u s , t h e q u e e n in s q u a r e x lies in r o w [x/8J a n d c o l u m n x m o d 8, a n d t h a t in s q u a r e y lies in r o w Ly/8J a n d c o l u m n y m o d 8. C o n s e q u e n t l y , t h e t w o q u e e n s will be in t h e s a m e r o w if a n d only if Lx/8J - [y/8J a n d in t h e s a m e c o l u m n if a n d only if x m o d 8 - y m o d 8. F o r example, if x - 41 a n d y - 47, t h e two q u e e n s lie on t h e s a m e row.
F i g u r e 3.15
< 0
0
1
2
3
4
5
6
7
1
8
9
10
11
12
13
14
15
2
16
17
18
19
20
21
22
23
3
24
25
26
27
28
29
30
31
4
32
33
34
35
36
37
38
39
5
4O
41
42
43
44
45
46
47
6
48
49
50
51
52
53
54
55
7
56
57
58
59
60
61
62
63
column label
T
row label H o w do we d e t e r m i n e if t h e y lie on t h e s a m e diagonal? T h e r e a r e 15 n o r t h e a s t diagonals a n d 15 s o u t h e a s t diagonals. W i t h a bit of p a t i e n c e , we can show t h a t t h e q u e e n s lie on t h e s a m e d i a g o n a l if a n d only if t h e a b s o l u t e value of t h e difference of t h e i r r o w labels e q u a l s t h a t of t h e d i f f e r e n c e of t h e i r c o l u m n labels; t h a t is, if a n d only if ILx/8J - Ly/8Jl - Ix m o d 8 y m o d 81.
Chapter 3
134
Functions and Matrices
F o r example, let x = 51 and y - 23; see F i g u r e 3.15. T h e n JL51/8J L23/8J i = ]6-2] = 4 = ]3-70 = I51 mod 8 - 2 3 mod 8i, so one q u e e n c a p t u r e s the other. On the other hand, ifx = 49 a n d y = 13, t h e n I [49/8J - L13/8J ] r 149 mod 8 - 13 mod 8i; so one queen c a n n o t c a p t u r e the other, m Exercises 3.2
E v a l u a t e each, w h e r e n is an integer. 1. Ln + 1/2J
2. In/2]
3. In + 1/2]
4. [n/2]
Let x - 3.456 and y - 2.789. C o m p u t e each. 5. Lx + y J
9. L-xJ
6. LxJ + [yJ
7.
10.-LxJ
Lxyj
8. Lxj[yJ
11. F x + y ]
12. Fx] + Fy]
Find the r a n g e of each function on IR. 13.
f ( x ) - LxJ + [-xJ
14.
f ( x ) - Fx] + F-x]
Find the n u m b e r of positive integers < 3076 and divisible by: 15. 3 or 4
16. 3, 5, or 7
17. 3, 5, or 6
18. N e i t h e r 3 n o r 5
C o m p u t e the n u m b e r of leap years after 1600 and not beyond each year. 19. 2000 Let U -
20. 2020
21. 3076
22. 4050
{ a , . . . , g}. Define the characteristic function h of each set.
23. {a,c,d,f}
24. {a,e,g}
25. {b,c,g}
26. { a , c , d , f , g }
fs is given
Let U - { a , . . . , h}. In Exercises 27-30, a characteristic function as an 8-bit word. Find the c o r r e s p o n d i n g set S. 27. 11010100
28. 00101101
29. 10101010
30. 01010101
Find the day of the week in each case. 31. 234 days from Monday
32. 365 days from F r i d a y
33. 1776 days from W e d n e s d a y
34. 2076 days from S a t u r d a y
Let S = { t r u e , false }. Define a b o o l e a n f u n c t i o n if y e a r n is a leap y e a r and false otherwise. F i n d 35. 1996
36.
2020
37. 2076
f 9 N --* S by
f(n)
-
true
f(n) for each y e a r n. 38.
3000
39. J a n u a r y 1, 2000, falls on a S a t u r d a y . W h a t day of the week will J a n u a r y 1, 2020, be? (Hint: Look for leap years.) 40. J a n u a r y 1, 1990, was a Monday. W h a t day of the week was J a n u a r y 1, 1976? (Hint: Again, look for leap years.)
3.2 Special Functions
135
Each day of the week, beginning with Sunday, can be identified by a code x, where 0 < x < 6. J a n u a r y 1 of any year y can be determined using the following formula**. x-(y+[Y41]
-[10:]+[400])
mod7
(3.1)
Using this formula determine the first day in each year. 41. 2000
42. 2020
43. 2076
44. 3000
The n u m b e r of Friday-the-thirteenths in a given year y can be computed using formula (1) above and Table 3.1. For example, suppose t h a t J a n u a r y 1 of a year y falls on a Sunday(0). If it is not a leap year, there will be two Friday-the-thirteenths: J a n u a r y 13 and October 13; if it is a leap year, there will be three: J a n u a r y 13, April 13, and July 13. Compute the n u m b e r of Friday-the-thirteenths in each year. 45. 2000 T a b l e 3.1
46. 2020
47. 2076
Code x
January 1
N o n l e a p year y
0 1 2 3 4 5 6
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
January, October April, July September, December June February, March, November August May
48. 3076
Leap year y
January, April, July September, December June March, November February, August May October
( E a s t e r S u n d a y ) The date for Easter Sunday in any year y can be computed as follows. Let a - y mod 19, b - y mod 4, c - y mod 7, d - (19a + 24) mod 30, e - (2b + 4c + 6d + 5) mod 7, and r - (22 + d + e). If r < 31, then Easter Sunday is March r; otherwise, it is April [r (mod 31)]. Compute the date for Easter Sunday in each year. 49. 1996
50. 2000
51. 2076
52. 3000
Prove each, where x c R and n ~ Z. 53. [ 2 ] - n - l i f n 2
is odd.
54. [ 2 ] - n + 1 2
if n is odd.
**Based on G. L. Ritter et al., "An Aid to the Superstitious," Mathematics Teacher, Vol. 70, May 1977, pp. 456-457.
136
Chapter 3 Functions and Matrices
l
n21
55.
~ 59.
T
n
n2 - 1 -
4
if n is odd.
56.
n
I n21
n2 4+ 3 if n is odd.
-
58. F x T = L x ] + l
§ F l--n
60.
[xl = - [ - x J
[x+nl
=
(xCZ)
[xl + n
Let A and B be any two sets, and U the universe. Let f s denote the characteristic function of a subset S of U and x an arbitrary element in U. Prove each. "61. f A u B ( x ) : f A ( x ) + f B ( x ) -- f A n B ( X ) *62. fA,(X) = 1 -- fA (x) *63. f A e B ( X ) =
f A ( x ) + f B ( x ) -- 2 f A n B ( X )
Let x, y E R. Let max{x,y} denote the m a x i m u m o f x and y, and min{x,y} denote the m i n i m u m of x and y. Prove each. *64. max{x,),} + min{x~} = x + y
*65. max{x,y} - min{x,y} = Ix - Y l
Functions satisfy a n u m b e r of properties and we begin with the identity function. Identity F u n c t i o n
A function f on X is the i d e n t i t y f u n c t i o n if f ( x ) = x for every x in X. It is denoted by lx and leaves every input unchanged. The graph of the identity function on R is the 45~ y = x. Let S be an ordered set. ORD(x) denotes the ordinal n u m b e r of each element x in S, the first ordinal n u m b e r being 0. For example, using ASCII, ORD(' <,)t __ 60 and ORD('$') = 36. (Pascal, for instance, provides such a built-in function.) If the a r g u m e n t x, however, is an integer n, ORD(n) - n. Thus ORD is the identity function on W. m
Injection
A function f 9X ~ Y is an i n j e c t i o n (or o n e - t o - o n e f u n c t i o n ) if different input values yield different output values. Thus f is injective, if x l r x2 implies f ( x l ) r f(x2); equivalently, f is injective if f ( x l ) - f(x2) implies Xl = x2 (why?). The next two examples illustrate this definition. t x within single quotes indicates the character x.
3.3 Propertiesof Functions
137
L e t A - {0, 1 , 2 , . . . , 127}. Let C H R : A ~ ASCII defined by CHR(n) = ASCII c h a r a c t e r with ordinal n u m b e r n. For example, CHR(59) - ';' and CHR(43) = ' + ' . Since distinct ordinal n u m b e r s correspond to different characters, CHR is injective. (C, C + + , and Java, for instance, provide such a built-in function.) m ~
Let f " E* ~
W defined by f ( x ) - Ilxil, w h e r e E -- {a, b , c } . The words a a a
and b a b are distinct words with the same length, so f is not injective,
m
How do you c h a r a c t e r i z e the g r a p h of an injective function f : IR --~ IR? The function is not injective if t h e r e are two distinct i n p u t elements a, b ~ IR such t h a t f ( a ) = f ( b ) , t h a t is, if a horizontal line intersects its g r a p h in two distinct points ( a , f ( a ) ) and ( b , f ( b ) ) . T h u s f is injective if and only if no horizontal line intersects the g r a p h in more t h a n one point. For example, the function f ( x ) = x 2 is not injective (see Figure 3.16).
F i g u r e 3.16
(b, f(b))
(a, f ( a) )
O~
}. x
Surjection A function f" X ~ Y is a s u r j e c t i o n (or an o n t o f u n c t i o n ) if for every y in Y t h e r e exists an x in X such t h a t f ( x ) = y , t h a t is, if every element in Y has at least one pre-image in X. In other words, f is surjective if range(f) - Y. The following two examples clarify this definition. ~
Let E be a n o n e m p t y alphabet. Let f" E* ~ W defined by f ( x ) - Ilxll. Let n E W. T h e n x n ~ E* and IIx ~ II - n. Thus, given any n ~ W, there exists an e l e m e n t u = x n ~ E* such t h a t f ( u ) = n . Consequently, f is surjective, i
~
D e t e r m i n e if the function f ( x ) - x 2 on R is surjective. SOLUTION: For every y in R, does t h e r e exist a real n u m b e r x such t h a t x 2 = y? No, for instance, t h e r e is no real n u m b e r x such t h a t x 2 = - 1 , so f is n o t surjective, m
Bijection A function f" X -~ Y is a b i j e c t i o n (or o n e - t o - o n e c o r r e s p o n d e n c e ) it is both injective and surjective.
if
138
Chapter3 Functionsand Matrices Let A be t h e set of p r i n t a b l e ASCII c h a r a c t e r s a n d B = {32, 3 3 , . . . , 126}. Let f 9 A ~ B defined by f(c) - ordinal n u m b e r of c h a r a c t e r c. Since f is b o t h injective a n d surjective, f is bijective. (Notice t h e d e l i b e r a t e choice of B to m a k e t h e function surjective.) m Notice t h a t 23 m o d 5 - 3 = 48 mod 5, b u t 23 # 48; therefore, t h e m o d function is not injective. However, w h e n an i n t e g e r a is divided by m, t h e r e are m possible r e m a i n d e r s , namely, 0, 1, 2 , . . . , m - 1 (see Section 4.1); so, given a n y n o n n e g a t i v e i n t e g e r r less t h a n m, we can always find an i n t e g e r a such t h a t r = a mod m; t h u s t h e mod function is surjective.
Hashing We are now r e a d y to e x a m i n e an i n t e r e s t i n g application of t h e m o d function in everyday life. B a n k s use nine-digit account n u m b e r s to create a n d m a i n t a i n c u s t o m e r accounts. C u s t o m e r records are stored in an a r r a y in a c o m p u t e r a n d can be accessed fairly easily and quickly u s i n g t h e i r u n i q u e k e y s , which in this case are the account n u m b e r s . Access is often accomplished u s i n g t h e h a s h i n g f u n c t i o n h ( x ) = x mod m, w h e r e x denotes t h e key (account n u m b e r ) and m the n u m b e r of cells in the array; h ( x ) d e n o t e s t h e h a s h a d d r e s s of the c u s t o m e r record with key x. See F i g u r e 3.17.
F i g u r e 3.17
f f - customer record with key x
0
1
2
m - 1 ~-- hash address x mod m
In particular, let m = 1009 and x record is stored in location
= 207630764. T h e c o r r e s p o n d i n g
h(207630764) - 207630764 mod 1009 - 762 Likewise, h(307620765) = 307620765 mod 1009 - 881 Since the h a s h i n g function is not injective (why?), theoretically different c u s t o m e r records can be assigned to t h e s a m e location. F o r example, h(207630764) -- 762 - h(208801204) This results in a c o l l i s i o n .
3.3 Properties of Functions
139
One simple way to resolve a collision is to do a s e q u e n t i a l search for the next available cell, b e g i n n i n g w i t h t h e cell w h e r e t h e collision has occurred. T h e n we store t h e i t e m in t h e available cell. If we come to t h e end of the a r r a y w i t h o u t any success, t h e n we would continue the search back at the b e g i n n i n g of the array, as if t h e a r r a y were circular. This way of resolving a collision is called l i n e a r p r o b i n g . So we would store t h e d a t a with t h e account n u m b e r 208801204 in location 763 ( a s s u m i n g t h a t is available), m Obviously, the t e c h n i q u e i l l u s t r a t e d in this example can be a d a p t e d to a variety of situations. For example, t h e various identifiers in a c o m p u t e r p r o g r a m can be stored in a symbol table u s i n g t h e i r first letters as keys; s t u d e n t records can be stored in a h a s h table u s i n g t h e i r social s e c u r i t y n u m b e r s ; a n d p a t i e n t s ' medical records can be m a i n t a i n e d in a table u s i n g t h e i r social security n u m b e r s as keys. Next we p r e s e n t a few simple and useful properties of functions associated with finite sets. Let X and Ybe a n y two finite sets with IX] - I Y] - n. A function f 9X --~ Y is injective if and only if f is surjective. PROOF: Let X = {x 1, x 2 , . . . , x,~ } and Y = {y 1, Y 2 , . . . , yn }. Suppose f i s injective. T h e n f ( x l ) , . . . ,f(xn) are n distinct elements. So t h e y m u s t be the s a m e e l e m e n t s y 1,... ,y~ in some order. Therefore, f is surjective. Conversely, suppose f i s surjective. T h e n f ( x l ) , . . . , f(x,~) = Y. Since I Y] = n, the e l e m e n t s f ( x l ) , . . . , f(xn ) m u s t be different, so f m u s t be injective, m
Let A and B be two finite sets with t h e s a m e cardinality. Suppose we would like to show t h a t a function f 9 A --~ B is bijective. Then, by T h e o r e m 3.4, it suffices to show t h a t f is e i t h e r injective or surjective. Two finite sets have the same cardinality if and only if t h e r e exists a bijection b e t w e e n t h e m . PROOF: LetXand Y b e two finite sets with ]X[ - m and ]Y] - n. L e t X = {Xl,... ,Xm}. Let f 9X --~ Y be bijective. Since f i s injective, f ( x l ) , . . . ,f(Xm) are m distinct e l e m e n t s in Y. Consequently, m < n. Since f is surjective, every e l e m e n t y in Y has at least one i n p u t in X, so n _< m. T h u s ]X I - I Y[. Conversely, suppose m - n and Y - {Yl,... ,Ym}. Define a function f 9 X --~ Y by f(xi) - Y i for every i. We will now show t h a t f is injective. Let xj and xk be two e l e m e n t s in X such t h a t f(xj) - f(xk). Then, by definition, Yj - Yk; so, j - k and hence xj - xk. Therefore, f is injective and hence, by T h e o r e m 3.4, f is bijective, m
Let f 9X --~ Y, w h e r e X and Y are finite sets and IX] > ]YI. T h e n w h a t can we say a b o u t the function f? (Obviously, f c a n ' t be bijective.) This is a n s w e r e d in the next section.
Chapter3 Functionsand Matrices
140
Cardinality of an Infinite Set (optional) Before closing this section, we e x t e n d t h e concept o f c a r d i n a l i t y of finite sets to infinite sets, a topic of g r e a t i m p o r t a n c e to t h e o r e t i c a l c o m p u t e r science a n d c e r t a i n l y to m a t h e m a t i c s . Recall t h a t two finite sets h a v e t h e s a m e c a r d i n a l i t y if t h e r e is a bijection b e t w e e n t h e m . This leads to t h e following definition. Two sets X a n d Y have t h e s a m e c a r d i n a l i t y if t h e r e exists a bijection from X to Y, d e n o t e d by IXI = I YI. This definition can be u s e d to p a r t i t i o n t h e family of infinite sets into two disjoint classes. To this end, we m a k e t h e following definition.
Countable and Uncountable Sets A set S is c o u n t a b l y infinite if t h e r e exists a bijection b e t w e e n S a n d N. A set t h a t is finite or c o u n t a b l y infinite is c o u n t a b l e . A set t h a t is n o t c o u n t a b l e is u n c o u n t a b l e . T h e c a r d i n a l i t y of N is d e n o t e d by ~0 (read " a l e p h - n a u g h t , " " a l e p h " b e i n g t h e first l e t t e r of t h e H e b r e w a l p h a b e t . This s y m b o l w a s i n t r o d u c e d by Cantor). T h u s a set S is c o u n t a b l y infinite if ISI - ~0 = INI. I f A a n d B are finite sets such t h a t A c B, t h e n IAI < IBI. This, h o w e v e r , need not be t r u e in t h e case of infinite sets. F o r e x a m p l e , E c N, w h e r e E d e n o t e s t h e set of even positive integers; n o n e t h e l e s s , IEI - I NI = ~0, as s h o w n by t h e p a i r i n g s in F i g u r e 3.18.
F i g u r e 3.18
1
2
3
4
5
.
.
.
n
.
.
.
2
4
6
8
10
.
.
.
2n
.
.
.
Show t h a t N • 1~ is c o u n t a b l y infinite.
PROOF: A l t h o u g h we shall not give a f o r m a l proof, t h e a r r o w s in F i g u r e 3.19 show how t h e v a r i o u s e l e m e n t s of N • N can be listed as t h e first, second, third, a n d so on in a s y s t e m a t i c way, s h o w i n g t h a t N x N is c o u n t a b l y infinite.
F i g u r e 3.19
~(5,
(1,1)~
(1,2)
(2, 1)
(2, 2)
~, (1,3) (2, 3) ~
(1,4) (2, 4) I ~ ' .
. . . . .
(3, 1) j ' ~ " (3,2) ~ I ~ (3,3) ~
(3,4)
9 9 9
(4, 1) ~ ' I
(4, 4)
" 9 .
(4, 2) ~
(4, 3)
1)/~"
m
3.3
Properties of Functions
141
It follows by Example 3.22 t h a t the set of positive rational n u m b e r s is countable. Consequently, the set of negative rational n u m b e r s is also countable. Since the union of two countable sets is countable (see Exercise 49), it follows t h a t Q is countable. It may seem improbable t h a t t h e r e exist infinite sets t h a t are u n c o u n t able. For instance, the open interval (0,1) is such a set, as the next example shows. Show t h a t the open interval (0,1) is uncountable. P R O O F (by contradiction): Assume t h a t the interval (0,1) is countable. T h e n every real n u m b e r between 0 and i can be listed as al, a2, a3,. 99 Each a i has a unique decimal expansion (for n u m b e r s with two different decimal expansions, choose the expansion with trailing 9's. For example, a l t h o u g h 0.5 = 0.5000 . . . . 0.4999..., select 0.4999... for our discussion.): al
= O.alla12a13a14...
a 2 = O. a 2 1 a 2 2 a 2 3 a 2 4
999
a 3 = O. a 3 1 a 3 2 a 3 3 a 3 4
999
a 4 - - O. a 4 1 a 4 2 a 4 3 a 4 4
999
where each a i j is a digit. Now construct a real n u m b e r b = bi-
O.blb2b3b4...
l1
if all
#1
!2
if all
-- 1
as follows:
Clearly, 0 < b < 1; therefore b m u s t be one of the n u m b e r s in the above list al, a2, a3, a4, .... However, since bi # a i i for every i, b cannot be in the list. This leads to a contradiction. Therefore, the real n u m b e r s between 0 and 1 cannot be listed and hence the interval (0,1) is uncountable. (The technique employed is called C a n t o r ' s d i a g o n a l i z a t i o n p r o c e d u r e . ) m Since the interval (0,1) is uncountable, it follows t h a t R is also uncountable. So, although both 1~ and IR are infinite, IIRI > ~0. Exercises 3.3
Determine if each function is the identity function. x
a
b
c
d
1.
x
a
b
c
d
2. f(x)
a
b
c
d
a
b
c
d
a
b
c
c
0
f(x)
b
c
d
a
f(x)
142
Chapter3
Functions and Matrices
D e t e r m i n e if each function is injective, w h e r e t r u n c ( x ) d e n o t e s t h e i n t e g r a l p a r t of the real n u m b e r of x. 4. f(x) = Ix l , x ~ R
5. g ( x ) = 2
x,xeR
6. h(x) = lg x, x ~ IR+
7. f ( x ) =
LxJ, x c
8. g ( x ) = [ x ] , x ~ R
9. h ( x ) = trunc(x), x ~ R
10. f : S --~ W defined by f ( A ) = IAf, w h e r e S is the family of all finite sets. D e t e r m i n e if each function from R to Z is surjective. 11. f ( x ) =
Ix l
12. g ( x ) =
[xJ
13. h ( x ) =
Ix]
14. h ( x ) = lg Ix], x ~: 0
15. ORD: ASCII --~ W defined by ORD(c) = ordinal n u m b e r of t h e c h a r a c t e r c. 16. Let f : R ~ • defined by f(x) = ax + b, w h e r e a,b ~ R a n d a r 0. Show t h a t f is surjective; t h a t is, find a real n u m b e r x such t h a t f(x) = c. D e t e r m i n e if each function f :A --~ B is bijective. 17. f ( x ) = x2, A = B = R
18. f ( x ) = v/-x,A = R +, B = R
19. f(x) = ] x I , A = B = R
20. f(x) = LxJ,A = B = R
2 1 . f(x) = [ x ] , A = B = R
2 2 . f(x) = 2 IxI,A = B = R
D e t e r m i n e if the functions in Exercises 23-30 are bijective. If t h e y are not bijective, explain why. 23. f : E* ~ W defined by fix) = decimal value of x, w h e r e E = {0,1 }. 24. f : E* • Z* --~ E* defined by f(x,v) = xy, w h e r e E d e n o t e s t h e English alphabet. 25. g : E* --~ E* defined by g(w) = a w a , where E = {a,b,c }. 26. f : R • IR -* R • R defined by f ( x , y ) = ( x , - y ) . 27. The ORD function on ASCII. 28. The p r e d e c e s s o r f u n c t i o n ( P R E D ) and s u c c e s s o r f u n c t i o n ( S U C C ) are two i m p o r t a n t functions used in c o m p u t e r science. T h e y are defined on ordered sets. Ifc is a p r i n t a b l e ASCII c h a r a c t e r , PRED(c) denotes the predecessor of c a n d SUCC(c) denotes the successor of c; for example, P R E D ( ' ? ' ) = '@' a n d SUCC(':') = ';'. D e t e r m i n e if P R E D and SUCC are bijective. U s i n g the hash function in E x a m p l e 3.2, c o m p u t e the location corresponding to the given key. 29. 012398745
30. 430358856
S t u d e n t records are m a i n t a i n e d in a table u s i n g the h a s h i n g function h(x) = x mod 9767, w h e r e x denotes the s t u d e n t ' s social s e c u r i t y n u m b e r .
3.3 Properties of Functions
143
Compute the location in the table corresponding to the given key, where the record is stored. 31. 012-34-5678
32. 876-54-3210
33-34. Redo Exercises 31 and 32 if h ( x ) - first part in x mod 13. 35. Store the following two-letter abbreviations of states in the United States in a hash table with 26 cells, using the hashing function h ( x ) = first letter in x: NY, OH, FL, AL, MA, CA, MI, AZ 3{}. Redo Exercise 35 with the following state abbreviations: MD, CT, ID, MA, NB, NJ, MI, WI, CA, IA, WA, MN, NH, IN, NC, WY, NM, MS, MO, CO, NY, IL, NV, WV, ND, MT Two sets A and B are e q u i v a l e n t , denoted by A ~ B, if there exists a bijection between them. Prove each. 37. A ~ A (reflexive p r o p e r t y ) 38. A ~ A x
{1}
39. IfA ~ B, t h e n A x {1} ~ B x {2} 40. Z ~ O, the set of odd integers Prove each. 41. A bijection exists between any two closed intervals [a, b] and [c, d], where a < b and c < d. ( H i n t : Find a suitable function that works.) 42. The set of odd positive integers is countably infinite. 43. The set of integers is countably infinite. 44. Any subset of a countable set is countable. 45. A set A is infinite if and only if there exists a bijection between A and a proper subset of itself. 46. The open interval (a,b) is uncountable. [Hint: Find a suitable bijection from (0,1) to (a,b).] 47. The set Q+ of positive rational numbers is countable. 48. The set of irrational numbers is uncountable. ( H i n t : Prove by contradiction.) *49. A countable union of countable sets is countable. "50. The cartesian product of two countable sets is countable. "51. If E is a finite alphabet, then E* is countable.
144
Chapter3 Functions and Matrices
Suppose m pigeons fly into n pigeonholes to roost, where m > n. T h e n obviously at least two pigeons m u s t roost in the same pigeonhole (see F i g u r e s 3.20 and 3.21). This property, called the pigeonhole principle, can be s t a t e d in t e r m s of functions, as the next t h e o r e m shows.
F i g u r e 3.20
F i g u r e 3.21
J J
J
dS f J
( T h e P i g e o n h o l e P r i n c i p l e ) L e t f" X ~ Y, where X and Y are finite sets, IX I - m, I Y I - n, and m > n. T h e n t h e r e exist at least two distinct e l e m e n t s Xl and x2 in X such t h a t f ( x l ) - f(x2).
PROOF" Let X - {Xl,... ,Xm}. Suppose f is injective. T h e n f ( x l ) , . . . , f ( x m ) are distinct elements in Y. So m _< n. But this contradicts the a s s u m p t i o n t h a t m > n. Therefore, f is not injective and there m u s t be at least two distinct elements x l and x2 such t h a t f ( x l ) - f(x2). Hence the theorem, m The pigeonhole principle is a simple but i m p o r t a n t c o u n t i n g principle t h a t we shall use in C h a p t e r s 4, 7, and 8. The pigeonhole principle, which can be applied in a variety of situations, can be restated as follows: If m objects are placed into n boxes, t h e n at least one box m u s t contain two or more objects, where m > n. Accordingly, the pigeonhole principle is also called the D i r i c h l e t B o x P r i n c i p l e after the G e r m a n m a t h e m a t i c i a n P e t e r G u s t a v Lejeune Dirichlet, who used it extensively in his work on n u m b e r theory. Although the principle looks simple and straightforward, to apply it successfully you m u s t choose the pigeons and pigeonholes appropriately, as the next few examples illustrate. Suppose we select 367 s t u d e n t s from campus. Show t h a t at least two of t h e m m u s t have the same birthday.
SOLUTION: The m a x i m u m n u m b e r of days in a year is 366, and this occurs in a leap year. T h i n k of s t u d e n t s as pigeons and days of the year as pigeonholes. Let A be the set of s t u d e n t s and B the set of days, where IA[ = m = 367 and ]B] = n = 366. Let f : A -~ B defined by f ( a ) = b i r t h d a y of s t u d e n t a.
3.4 The Pigeonhole Principle
145
Gustav Peter Lejeune Dirichlet (1805-1859) was born in Duren, Germany. The son of a postmaster, he first attended a public school and then a private school that emphasized Latin. After attending the Gymnasium in Bonn for 2 years, Dirichlet entered a Jesuit college in Cologne where he received a strong background in theoretical physics under the physicist Georg Simon Ohm. In May 1822, he moved to the University of Paris. In 1826, Dirichlet returned to Germany and taught at the University of Breslau. Three years later, he moved to the University of Berlin where he spent the next 27 years. Dirichlet's primary interest in mathematics was number theory, inspired by Gauss' masterpiece, Disquisitiones Arithmeticae (1801). He established Fermat's Last Theorem for n = 14. Among the many results he discovered include the proof of a theorem presented to the Paris Academy of Sciences on algebraic number theory in 1837: The sequence {an + b} contains infinitely many primes, where a and b are relatively prime. In 1855, when Gauss died, Dirichlet moved to the University of GSttingen. Three years later, he went to Montreaux, Switzerland, to deliver a speech in honor of Gauss. While there, he suffered a heart attack and was barely able to return home. During his illness his wife succumbed to a stroke, and Dirichlet died.
Since m > n, by the pigeonhole principle, there should be at least two students al and a2 such t h a t f(al) - f(a2); t h a t is, at least two students have the same birthday, m The next example* is geometric, d e m o n s t r a t i n g t h a t the pigeonhole principle can pop up in seemingly unusual situations. Suppose five l a t t i c e p o i n t s , t h a t is, points with integer coordinates, are selected on the cartesian plane and each pair of points is joined by a line segment. Show t h a t at least one of the line segments m u s t contain a lattice point between its endpoints. SOLUTION: The set of lattice points can be partitioned into four n o n e m p t y disjoint classes according to the p a r i t y (evenness or oddness) of their coordinates: (odd,odd), (odd,even), (even,odd), and (even,even). Since there are five points (pigeons) and four classes (pigeonholes), by the pigeonhole principle, at least two of t h e m - - s a y , A(a,b) and B(c,d)--must belong to the same class. By the m i d p o i n t f o r m u l a in analytic geometry, the midpoint M of the line segment AB is (a~c, b+d)2 . Since the sum of any two odd or even integers /
is an even integer, it follows t h a t M is also a lattice point. Thus AB contains a lattice point M different from its endpoints, m *Based on C. T. Long, "On Pigeons and Problems," Mathematics Teacher, Vol. 81 (January 1988), pp. 28-30, 64.
146
Chapter 3
Functions and Matrices
It is well known that the decimal expansions of rational n u m b e r s are periodic. Using the pigeonhole principle, we shall establish this, but first a few words of explanation may be helpful. Using the familiar long division method, you may verify that 4111 = 0. 12345345345345... 33300 Although the decimal expansion is nonterminating, it is p e r i o d i c ; t h a t is, a certain block of digits, namely, 345, gets repeated. Accordingly, the expansion is usually written as 0.12345, using a bar over the first repeating block. The number of digits in the smallest repeating block is the p e r i o d of the expansion; here it is 3. We are now ready to prove the above proposition. ~
Prove that the decimal expansion of a rational number is periodic. PROOF"
a
Consider, for convenience, a positive rational number ~, where 0 < a < b. a
Let ~ - O . d l d 2 d 3 . . . where, by the division algorithm (see Section 4.1), we have: 10a - b d l + rl 10rl - bd2 + r2 10r2 - bd3 + r3 (3.2) lOrj -- bdj+ 1 + rj+ 1
and 0 _< ri < b for every i. (Note: The digits a l l , d 2 , . . , in the decimal expansion are the quotients when 10a, 10rl,... are divided by b. Since a remainder has only b choices, by the pigeonhole principle, two of the remainders r l , r 2 , . . . ,rb+l must be equal; that is, rj - rk for s o m e j and k, where 1 < j < k _< b + 1. Consequently, dk+l -- dj+l, dk+2 - d]+2,..., d2k-j -- d k , d 2 k - j + l -- dj+l, and so on. Thus d j + l . . , dk is the smallest block getting repeated and the period of the decimal expansion is k - j . m The next example, a rather sophisticated application of the pigeonhole principle, is due to the Hungarian mathematician Paul ErdSs. ~
( E r d S s T h e o r e m ) Ifn + 1 integers are selected from the set {1, 2 , . . . , 2n}, one of them divides another integer that has been selected. PROOF"
Let al, a2,... ,an+l denote the integers selected. Write each of them as a product of a power of 2 and an odd integer; that is, ai - 2e/bi, where 1 < i < n + 1 andei > 0. The integers bl, b2,... ,bn+l are odd positive integers < 2n.
147
3.4 The Pigeonhole Principle
.. (..~,.v,.o:
.r
....-~"i~(,: . ~.~.~ ""'"'~.~"-~.:~ ~".:~'~ " " t ..~ . ..~. ~..'~. . Jo,~, , f~t..~. ~. .;~, ." ...... "~z;i!~ ~:: ~ ....~,_,~-:.~,_:~: ......... ~ " ~ ~is~~ ! ' .'~'- "" ~ " ' - - ~ " ~,: " ~j N ~
P a u l E r d 6 s (1913-1996) was born in Budapest, Hungary. Except for about three years in schools, Erd6s (pronounced air-dosh) was taught at home, mostly by his father, who had returned from a Siberian prison after 6 years. A child prodigy, Erd6s, at age 3, discovered negative numbers for himself. In 1930 Erd6s entered the Peter Pazmany University in Budapest. Three years later, he discovered a beautiful proof of the celebrated Chebyshev theorem that there is a prime between any positive integer n and 2n. In 1934 he received his Ph.D. from the university. ~i , ~ . , ~ ~ An author of about 1500 articles and coauthor of about 500, Erd6s was 9~ one of the mostprolific writers in mathematics. A tribute in 1983 described him as "the prince of problem-solvers and the absolute monarch of problem-posers." As "the Euler of our time," he contributed extensively to number theory, combinatorics, function theory, complex analysis, set theory, group theory, and probability, the first two areas being closest to his heart. "Always searching for mathematical truths," he deemed worldly possessions a nuisance, so he never had a home, a car, checks, or even an address. Always traveling from meeting to meeting, carrying a half-empty suitcase, he would stay with mathematicians wherever he went and donate the honoraria he earned as prizes to students. A recipient of many honors, Erd6s died of a heart attack while attending a mathematics meeting in Warsaw.
Since t h e r e are exactly n odd positive i n t e g e r s < 2n, by t h e pigeonhole principle, two of t h e e l e m e n t s bl, b 2 , . . . , bn+l m u s t be equal, say, bi - bj. T h a t is, aj - 2~1b/ - 2(:Jbi. Thus, if ei < e] t h e n ai aj, a n d if ei < ei t h e n aj [ai.* m T h e pigeonhole principle tells us t h a t if m pigeons are d i s t r i b u t e d into n pigeonholes, w h e r e m > n, at least two pigeons m u s t s h a r e t h e s a m e pigeonhole. In fact, if m o r e t h a n 2m pigeons are assigned to m pigeonholes, t h e n at least t h r e e pigeons m u s t s h a r e t h e s a m e pigeonhole. T h u s t h e pigeonhole principle can be generalized as follows. ( T h e G e n e r a l i z e d P i g e o n h o l e P r i n c i p l e ) If m pigeons are assigned to n pigeonholes, t h e r e m u s t be a pigeonhole c o n t a i n i n g at least [ ( m - 1)/nJ + 1 pigeons.
P R O O F (by c o n t r a d i c t i o n ) : Suppose no pigeonhole c o n t a i n s m o r e t h a n [(m - 1)/nJ pigeons. Then: m a x i m u m n u m b e r of pigeons - n . [(m - 1)/nJ
m--1
=m--1 *a/b means a is a factor of b. See Section 4.2.
148
Chapter3 Functions and Matrices
This contradicts our assumption that there are m pigeons. Thus, one pigeonhole must contain at least [(m - 1)/nJ + i pigeons, m This generalized version of the pigeonhole principle is illustrated in the following examples. If we select any group of 1000 students of them must have the same birthday.
on
campus, show that at least three
SOLUTION: The maximum number of days in a year is 366. Think of students as pigeons and days of the year as pigeonholes. Then, by the generalized pigeonhole principle, the minimum number of students having the same birthday is [ ( 1 0 0 0 - 1)/366J + 1 = 2 + 1 = 3. m The next example provides an interesting application of the generalized version to geometry. We shall revisit it in Chapter 8. Suppose every pair of vertices of a hexagon is joined by a line segment, which is colored red or blue. Prove that the line segments form at least one monochromatic triangle, that is, a triangle with all its sides having the same color. PROOF: Let the letters A through F denote the vertices of a hexagon. Five line segments (pigeons) emanate from each vertex (see Figure 3.22). Without loss of generality, consider the line segments at A. Since there are exactly two colors (pigeonholes), by the generalized pigeonhole principle, at least three of the line segments at A must be monochromatic, say, red. Suppose they are AB, AD, and AF, indicated by the solid line segments in Figure 3.23. F i g u r e 3.22
E
D
F
C
E.
F i g u r e 3.23
F
~ A"
Case 1
i /~D -C v.B
Suppose DF is colored red. Then AADF is monochromatic.
3.4 The Pigeonhole Principle
149
C a s e 2 Suppose DF is not red. Then it is blue, indicated by the broken line segment in Figure 3.23. If BD is red, the AABD is monochromatic. If BD is not red, consider BF. If BF is red, the AABF is a red triangle. If BF is blue, then ABDF is a blue triangle. Thus the line segments form at least one monochromatic triangle,
m
Additional examples of the pigeonhole principle are presented in Section 3.7, as well as Chapters 4, 6, 7, and 8. Look for them. Exercises 3.4
1. Show t h a t in any 11-digit integer, at least two digits are the same. 2. Show that in any 27-letter word, at least two letters are the same. 3. Six positive integers are selected. Show t h a t at least two of t h e m will have the same r e m a i n d e r when divided by five. 4. A C§ + identifier contains 37 alphanumeric characters. Show t h a t at least two characters are the same. 5. Show t h a t in any group of eight people, at least two m u s t have been born on the same day of the week. 6. Show that in any group of 13 people, at least two m u s t have been born in the same month. 7. There are six m a t c h i n g pairs of gloves. Show t h a t any set of seven gloves will contain a matching pair. 8. The sum of nine integers in the range 1-25 is 83. Show t h a t one of t h e m m u s t be at least 10. 9. The total cost of 13 refrigerators at a d e p a r t m e n t store is $12,305. Show that one refrigerator m u s t cost at least $947. 10. Mrs. Zee has 19 skirts and would like to arrange t h e m in a chest t h a t has four drawers. Show t h a t one drawer m u s t contain at least five skirts. 11. Show t h a t the repeating decimal 0 . a l a 2 . . . a i b l b 2 . . . bj is a rational number. 12. Let n 9 H. Suppose n elements are selected from the set {1, 2 , . . . , 2n}. Find a pair of integers in which one is not a factor of another integer.
Use the pigeonhole principle to prove the following. 13. If five points are chosen inside a unit square, t h e n the distance between at least two of t h e m is no more t h a n v/2/2. 14. Five points are chosen inside an equilateral triangle of unit side. The distance between at least two of t h e m is no more t h a n 1/2.
150
Chapter3 Functionsand Matrices 15. If 10 points are selected inside an e q u i l a t e r a l t r i a n g l e of u n i t side, t h e n at least two of t h e m are no m o r e t h a n 1/3 of a u n i t apart. 16. Let f 9X ~ Y a n d y ~ Y. Define f - l ( y ) _ {x ~ X i f ( x ) - y}. In o t h e r words, f - l ( y ) consists of all p r e - i m a g e s ofy. Use E x a m p l e 3.1 to find f - 1(y) for every y ~ Y. "17. Prove the following a l t e r n a t e version of t h e generalized pigeonhole principle: Let f 9X --~ Y, w h e r e X a n d Y are finite sets, IX] > k 9 ]Y], and k c IN. T h e n t h e r e is an e l e m e n t t ~ Y such t h a t f - l ( t ) c o n t a i n s m o r e t h a n k elements. 18. Prove t h a t any set S of t h r e e integers contains at least two i n t e g e r s whose s u m is even. (Hint: Define a suitable function f 9 S ~ {0, 1} and use Exercise 17.) "19. U s i n g the pigeonhole principle, prove t h a t the c a r d i n a l i t y of a finite set is unique.
Besides adding and m u l t i p l y i n g functions, t h e r e is a very f u n d a m e n t a l way of c o n s t r u c t i n g new functions. Consider the f u n c t i o n s f , g : R ~ I~ defined b y f ( x ) = 2 x + 3 a n d g ( x ) = x 2. Let x be an input into f. T h e n f(x) = 2x + 3 is a real n u m b e r a n d hence can be considered an i n p u t into g. The r e s u l t i n g o u t p u t is g ( f ( x ) ) (see F i g u r e 3.24). T h u s the functions f and g can be employed to define a new function, called the c o m p o s i t e of f and g, as shown in F i g u r e 3.25.
F i g u r e 3.24
f(x)
g(f(x) )
F i g u r e 3.25
go/"
This leads us to the following definition.
3.5
151
Compositionof F u n c t i o n s
Composition Let f :X ~ Y and g : Y ~ Z. The c o m p o s i t i o n o f f and g, denoted by g o f (notice the order of the functions), is a function from X to Z, defined by (g o f)(x) = g ( f ( x ) ) . Read g o f as g circle f or the composition o f f a n d g. [In general, dom(g) need not be the same as codom(f); all t h a t is needed is t h a t range (f) c_ dom(g).] L e t f , g " R ~ IRt defined b y f ( x ) ( f o g)(x).
2x + 3 a n d g ( x ) - x 2. Find ( g o f ) ( x ) a n d
SOLUTION: f ( x ) - 2x + 3
Then
(g o f)(x) - g ( f (x))
= g(2x + 3) - (2x + 3) 2 g(x)
D
So
--
x 2
( f o g)(x) - f (g(x))
= f(x 2) - 2(x 2) + 3 =
m
2x2+3
It follows from Example 3.31 that, in general, f o g r g o f; in other words, composition is not a commutative operation. For instance, putting clothes in a washing machine and t h e n in a dryer does not yield the same result as p u t t i n g t h e m in a dryer and then in a washing machine!
(optional) Composition is easily accomplished in computer science. To illustrate this, study the following algorithm fragment, where x ~ ]R: i.
if
2. 3.
x < 4 then x<--x+2
else
4.
x <-- x -
5. 6.
if
7.
else
8.
3
x < 5 then x +--x 2 x ~-- 2 x -
1
Find the value of x resulting from the execution of this fragment with the initial values of x - 2 and x - 5. t f, g . X --+ Y is a n a b b r e v i a t i o n for f 9X ~
Y a n d g 9X ~
Y.
152
Chapter 3 Functions and Matrices
SOLUTION:
9 Suppose x - 2. Since 2 < 4, line 2 is executed and hence x <-- 4. T h e n the condition in line 5 is tested. Since 4 < 5, line 6 is executed. So x gets the value 16 from line 6. 9 Suppose x - 5 initially; t h e n line 2 is skipped. So x ~-- 2 by line 4. Since 2 < 5, line 6 is executed. Therefore, x ~ 4. m To see t h a t this example employs composition, let f ( x ) a n d g ( x ) denote the functions defined by the i f - t h e n - e l s e s t a t e m e n t s in the above a l g o r i t h m fragment. Then: f(x) _ { ~ + 2
ifx<4
-3
ifx>4
and
g(x) -
! x2
ifx <5
! 2x-1
if x > 5
The o u t p u t r e s u l t i n g from the f r a g m e n t is given by the composition of f and g. You m a y verify t h a t (g o f) (2) - 16 and ( g o f)(5) - 4; in fact g o f is defined by (x + 2) 2
ifx < 3
2x+3
if3<x<4
(x-3) 2
if4<x<8
2x- 7
otherwise
(g o f)(x) -
(See Exercise 54.) A few simple properties satisfied by the composition operation follow. Their proofs are fairly s t r a i g h t f o r w a r d ; we shall prove p a r t 3 and leave the others as exercises. Let f " X --+ Y and g . Y -+ Z. Then: (1) (3) (4) (5)
folz=f (2) 1 y o f = f If f and g are injective, t h e n g o f is injective. If f and g are surjective, t h e n g o f is surjective. I f f and g are bijective, t h e n g o f is bijective.
PROOF:
(3) Let Xl, x2 c X such t h a t (g o f)(xl) - (g o f)(x2). T h e n g(f(xl))
Then Consequently,
- g ( f ( x 2 ) ) , by definition.
f ( x l ) - f(x2), since g is injective.
x 1 - x2, since f is injective.
Thus, if (g o f ) ( x l ) - ( g o f)(x2), t h e n X l - - X 2 , SO g o f is injective. (Exercises 44-46 provide partial converses to the results 3 t h r o u g h 5.) m
153
3.5 Compositionof Functions
Before we define the inverse of a function and discuss its properties, let us study the next example. Let f (x) - a x + b and g ( x ) -
Xa--~b on R, where a ~ 0. Find ( g o f ) ( x ) and
( f o g)(x).
SOLUTION: Let x e I~. Then: (1) (g o f ) ( x ) - g ( f ( x ) )
(2) ( f o g ) ( x ) - f ( g ( x ) )
=g(ax+b)
=f(x-b)a
= (ax+b)-ba
=a(X-b)a
--X
:X
+b
In this example, ( g o f ) ( x ) - x - ( f o g ) ( x ) for allx. T h a t is, g o f - f o g = 1R, the identity function. In other words, one function u n d o e s w h a t the other has done. This leads to the following definition, m
Inverse Function Let f" X -~ Y. Suppose there is a function g" Y -~ X such t h a t ( g o f ) ( x ) - x for every x ~ X and ( f o g ) ( y ) - y for every y c Y; it is called the i n v e r s e of f, denoted by f - l ; t h a t is, g - f - 1 . [Note" dom(f) - codom(f -1) and codom(f) - d o m ( f - 1 ) ; also f - l ( x ) r 1/f(x).] It can be shown t h a t the inverse of f is unique (see Exercise 52). The function f - 1 does just the opposite of what f has done, as illustrated in Figure 3.26. A function t h a t has an inverse is said to be i n v e r t i b l e .
F i g u r e 3.26
f
X
Y
The next two examples illustrate this definition. ~
With the functions f and g in Figure 3.27, notice that: ( g o f ) ( a ) - g ( f ( a ) ) g(3) = a, ( g o f ) ( b ) - g ( f ( b ) ) = g(2) - b, ( g o f ) ( c ) - g ( f ( c ) ) - g ( 1 ) - c, and ( g o f ) ( d ) = g ( f ( d ) ) = g(O) - d. Thus, ( g o f ) ( x ) - x for every x in X and, similarly, ( f o g ) ( y ) = y for every y in Y. So g = f - 1 . m Consider the functions ORD 9 ASCII ~ {0, 1 , . . . , 127} and CHR" {0, 1 , . . . , 127} --~ ASCII. ORD(c) gives the ordinal n u m b e r of the character c in ASCII, whereas CHR(n) r e t u r n s the character with ordinal n u m b e r n.
Chapter 3 Functions and Matrices
154 Figure 3.27
f
g )
a
X
Y
Y
X
Let CH denote a c h a r a c t e r variable and n a valid ordinal n u m b e r . T h e n CHR(ORD(CH)) = CH and ORD(CHR(n)) = n. T h u s C H R a n d ORD are inverse functions, m U n f o r t u n a t e l y , n o t every function is invertible. T h e n e x t t h e o r e m gives a necessary and sufficient condition for invertibility.
~
A function f 9X --, Y is invertible if and only if it is bijective. PROOF: Suppose f is invertible. We would like to show f is bijective. 9 T o p r o v e t h a t f is injective:
Let Xl and x2 be any two e l e m e n t s in X such t h a t f ( x l ) = f(x2). Since f is invertible, f - 1 exists. T h e n f-l(f(xl))
= f-l(f(x2))
( f - 1 o f)(xl) = ( f - 1 o f)(x2) Xl : X 2 Therefore, f is injective. 9 To p r o v e t h a t f is s u r j e c t i v e :
Let y be any element in Y. We have to produce a suitable e l e m e n t x in X such t h a t f ( x ) = y. Choose x = f - l ( y ) (see F i g u r e 3.26). T h e n f(x) - f(f-l(y))
_ ( f o f - 1 ) ( y ) _ y.
T h u s f is both injective and surjective; therefore, it is bijective. Conversely, suppose f is bijective. T h e n every e l e m e n t x in X is paired with a u n i q u e e l e m e n t y in Y and vice versa. Define a function g : Y --, X as follows: g ( y ) = the u n i q u e e l e m e n t x in X such t h a t f ( x ) = y. T h e n ( g o f ) ( x ) = g ( f ( x ) ) = g ( y ) = x and ( f o g ) ( y ) = f ( g ( y ) ) - f ( x ) = y. Therefore, g = f - 1 and hence f is invertible, m The next two examples use T h e o r e m 3.9 to d e t e r m i n e the invertibility of a function.
3.5 Composition of Functions
~
155
The exponential function f 9 I~ ~ R + defined by f ( x ) = 2x is bijective, so it is invertible. Its inverse is the logarithmic function g : I~+ ~ R defined by g ( x ) = lg x. m L e t f " E* --~ W defined byf(x) - Ilxll, where E denotes the English alphabet. Since f is not bijective (why?), f is not invertible, m We close this section with a list of additional properties satisfied by the inverse of a function and leave their proofs as exercises for you to pursue.
~
Let f " X ~ Y and g " Y ~ Z be invertible functions. Then: 9 f - 1 o f = 1x
9 f o f - 1 = 1y
9 (f-l)-1
9 (g o f ) - i
= f
.
f - 1 is bijective.
= f-1 o g-1
m
Exercises 3.5
Let f , g 9 R ~ R be defined by f ( x ) = 2x - 1 and g ( x ) 1. (g of)(2)
2. (f o g ) ( - 1 )
3.
=
1. Find:
x 2 +
(g o f)(x)
4.
(f o g)(x)
Let f ( x ) - Lx] and g ( x ) - [xl, where x ~ I~. Compute each. 5. ( g o f ) ( - 2 . 3 )
Let f , g each.
6. ( f o g ) ( - 2 . 3 )
7. ( g o f ) ( - 4 . 1 )
8. ( f o g ) ( - 3 . 9 )
9 W ~ W defined by f ( x ) - x mod 5 and g ( x ) - x div 7. Evaluate
9. (g of)(17)
10. (f og)(23)
11. (g of)(97)
12. (f og)(78)
Determine if the function g is the inverse of the corresponding function f. 13. f (x) - x 2, x _> 0; g ( x ) - v/-x, x >_ 0
14. f ( x ) - x 2, x _< 0; g ( x ) - - v ~ ,
x >_ 0
Define the inverse g of each function f. x
a
b
c
d
15.
x
a
b
c
d
f(x)
b
c
d
a
16. f(x)
4
1
3
2
Determine if the given function is invertible. If it is not invertible, explain why. 17. ORD on Z. 18. f" ASCII ~ W defined by f ( c ) - ordinal n u m b e r of the character c. 19. f" W -~ W defined by f ( n ) = n (mod 5). 20. f" E* --~ E* defined by f ( w ) = awa, where E - {a, b, c}. 21. f" S ~ N defined by f ( x ) - decimal value of x, where S is the set of binary r e p r e s e n t a t i o n s of positive integers with no leading zeros.
156
Chapter3 Functions and Matrices
22. f 9 E* ~ W defined by f ( x ) = decimal value of x, where E = {0,1}. n
23. Let f 9 ~n
__.>
W defined by f ( x ) -
~ xi, where
]~n
denotes the set
i=l
of words of length n over E -- {0, 1, 2} and x w e i g h t of x; for example, f(10211) = 5.]
-
XlX2...Xn
. If(x)
is the
Mark each sentence as true or false. Assume the composites and inverses are defined: 24. The composition of two injections is injective. 25. The composition of two surjections is surjective. 26. The composition of two bijections is a bijection. 27. Every function is invertible. 28. Every injective function is invertible. 29. Every invertible function is injective. 30. Every invertible function is surjective. 31. Every invertible function is bijective. 32. Every bijection is invertible. 33. The composition of two invertible functions is invertible. Using the algorithm fragment in Example 3.32, compute the o u t p u t resulting from each initial value of x. 34. - 5
35. 0
36. 3
37. 7
Let f 9X ~ Y and g 9 Y ~ Z. Prove each. 38. f o l z - f
39. 1 y o f = f
40. If f and g are injective, then g o f is injective. 41. If f and g are surjective, then g o f is surjective. 42. If f and g are bijective, then g o f is bijective. 43. The identity function 1x is bijective. 44. I f g o f is injective, then f is injective. 45. I f g o f is surjective, then g is surjective. 46. If g o f is bijective, then f is injective and g is surjective. Let f 9X --~ Y and g 9 Y --, Z be invertible functions. Prove each. 47. f - l o f _ l x
48. f o f - l - l y
49. f - 1 is bijective.
50. ( f - 1 ) - I _ f
51. (g o f ) - i _ f - 1 o g - 1
*52. The inverse o f f is unique.
3.6 Sequencesand the Summation Notation
157
53. L e t f ' A - - + B , g ' B - - + C, a n d h ' C - - + D . Provethatho(gof)(h o g) o f ( a s s o c i a t i v e property). [Hint: Verify t h a t (h o (g o f ) ) ( x ) = ((h o g) o f ) ( x ) for every x in A.] *54. Let f a n d g denote t h e functions defined by t h e i f - t h e n - e l s e statem e n t s in E x a m p l e 3.31. Show t h a t g o f is defined as given in t h e example. (Hint" Consider the cases x _< 4 a n d x > 4, a n d t h e n two subcases in each case.) Prove each, w h e r e X ~ Y implies set X is e q u i v a l e n t to set Y. *55. I f A ~ B, t h e n B ~ A ( s y m m e t r i c property). *56. I f A ~ B and B ~ C, t h e n A ~ C ( t r a n s i t i v e property). Let f 9X -+ Y be bijective. Let S a n d T be subsets of Y. Prove each. *57. f - l ( s u T) - f - l ( S ) u f - l ( T )
*58. f - l ( s n T) - f - l ( s ) n f - l ( T )
Sequences and the s u m m a t i o n n o t a t i o n play a key role in the next t h r e e chapters, so we p r e s e n t t h e m here. Let a be a whole n u m b e r and X - {a,a + 1,a + 2,...}. A function s with d o m a i n X or a subset of X is called a s e q u e n c e . Let n e X. T h e n s(n) is called a t e r m of the sequence, denoted by Sn. T h e various t e r m s of the sequence can be listed as Sa, Sa+l, 8a+2,... in i n c r e a s i n g order of subscripts. In particular, let X = l~. T h e n the t e r m s of the sequence are: 81,82,83,.
9 9 ,8n,.
9 9
t
general term
The n t h t e r m 8n is t h e general term of the sequence; the sequence is often denoted by {Sn}~ or simply {Sn}. (It should be clear from the context w h e t h e r the braces indicate a set or a sequence.) T h e g e n e r a l t e r m is often used to define a sequence. Consider the sequence {Sn}, w h e r e Sn - 2n - 1. T h e various t e r m s of t h e sequence are 1, 3, 5, 7, . . . . Formally, the sequence is t h e function s : l~ -+ 1~ defined by s(n) = 2n - 1. I Let an be t h e b i n a r y r e p r e s e n t a t i o n of t h e positive i n t e g e r n with no leading zeros. The various t e r m s of the sequence {an} are 1, 10, 11, 100, 101, 110, 111, . . . . I Sequences can be classified as finite or infinite, as t h e next definition shows.
158
Chapter3 Functionsand Matrices Finite and Infinite Sequences A sequence is f i n i t e if its domain is finite; otherwise, it is i n f i n i t e . Thus, a finite sequence is made up of a finite n u m b e r of terms, a n d an infinite sequence contains infinitely m a n y terms. Both types are useful in mathematics and computer science as well. Every word over an alphabet can be considered a finite sequence. F o r instance, the binary word 010110111 is a finite sequence c o n t a i n i n g nine terms. The elements of a finite language form a finite sequence; for example, the words of length _< 2 over the alphabet {a, b, c} form a finite sequence, namely, k, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc; on the other hand, k, a, a2 a3 is an infinite sequence We now t u r n to the s u m m a t i o n notation you will find very useful t h r o u g h o u t the remainder of the book.
The Summation Notation Often we need to work with sums of terms of n u m b e r sequences {a,z }. S u m s such as ak + ah+l + " + am can be written in a compact form u s i n g the s u m m a t i o n s y m b o l ~ , which denotes the word s u m . The s u m m a t i o n notation was introduced in 1772 by the brilliant French m a t h e m a t i c i a n Joseph Louis Lagrange. (Recall t h a t E denoted an alphabet in C h a p t e r 2; its actual meaning should be clear from the context.) A typical term in the above sum can be denoted by ai, so it is the s u m of i=m
the terms ai as i runs from k to m. It is denoted by ~ ai. T h u s i=k
i----m
E ai = ak + ak+l + i=k
"
'
"
+ am
The variable i is the s u m m a t i o n i n d e x . The values k and m are the l o w e r and u p p e r l i m i t s of the index i. The "i - " above the ~ is usually omitted; in fact, the indices above and below the ~ are also omitted w h e n there is no confusion. Thus i - - - DI
Dl
Eai--Eai-i =k i =k
171
~-~ai k
For example,
6 ~-~i-- 1 + 2 + 3 + 4 + 5 + 6 - - 2 1 i=1
3.6
Sequences and the Summation Notation
159
J o s e p h L o u i s L a g r a n g e (1736-1813) ranks with Leonhard Euler (see Chapter 8) as one of the greatest mathematicians of the 18th century. The eldest of 11 children in a wealthy family in Turin, Italy, Lagrange was forced to pursue a profession after his father, an influential cabinet official, lost all his wealth by engaging in unsuccessful financial speculations. While studying the classics at the College of Turin, the 17-year-old Lagrange found his interest in mathematics kindled by an essay by the astronomer Edmund Halley on the superiority of the analytical methods of calculus over geometry in the solution of optical problems. In 1754, he began corresponding with several outstanding mathematicians in Europe. The following year, he was appointed professor of mathematics at the Royal Artillery School in Turin. Three years later, he helped to found a society that later became the Turin Academy of Sciences. While at Turin, Lagrange developed revolutionary results in the calculus of variations, mechanics, sound, and probability, winning the prestigious Grand Prix of the Paris Academy of Sciences in 1764 and 1766. In 1766, when Euler left the Berlin Academy of Sciences, Frederick the Great wrote to Lagrange that "the greatest king in Europe" would like to have "the greatest mathematician of Europe" at his court. Accepting the invitation, Lagrange moved to Berlin to head the Academy and remained there for 20 years. When Frederick died in 1786, Lagrange moved to Paris at the invitation of Louis XVI. He was appointed professor at the Ecole Normale and then at the E,cole Polytechnique, where he taught until 1799. He died in Paris. Lagrange made significant contributions to analysis, analytic mechanics, calculus, probability, and number theory, as well as helping to establish the French metric system.
2 i(i- 1)= (-1)(-1-
1)+ 0(0- 1)+ 1(1- 1)+ 2(2- 1)- 4
i=-1 T h e index i is a d u m m y variable; you can use a n y variable as t h e index w i t h o u t affecting t h e value of t h e sum, so m
m
m
Eai=Eaj=Eak i=~
j=e
k=e
3 E v a l u a t e ~ i 2. i=-2 SOLUTION: 3 ~ i 2 - ( - 2 ) 2 + ( - 1 ) 2 + 0 2 + 12 + 2 2 + 3 2 - 19
m
i=-2 The following r e s u l t s are e x t r e m e l y useful in e v a l u a t i n g finite sums. T h e y can be proved u s i n g m a t h e m a t i c a l i n d u c t i o n (Section 4.4).
160
Chapter 3
Functions and Matrices
Let n e N a n d c e R. L e t sequences. Then:
al,
a n d b l , b 2 , . . . , be a n y two n u m b e r
a2, . . . ,
n
9
E
c -
(3.3)
nc
i=1 n
9
(cai)
c
(3.4)
ai
i=1
"
E (ai + bi) i=1
ai
+
bi
(3.5)
(These r e s u l t s can be e x t e n d e d for a n y lower limit k ~ Z.)
m
T h e n e x t e x a m p l e i l l u s t r a t e s this t h e o r e m . 2
E v a l u a t e ~ [(5j) 3 - 2j]. j=l
SOLUTION: E j=-
1(5j)3 - 2j] -1
(5j) 3 -
j
=-1
= 125
j3 =-1
_ 2 ~j j=-i
= 125[(-1) a + 0a + i a + 23]- 2(-1+
0 + 1 + 2)
= 996
m
Indexed Summation
T h e s u m m a t i o n n o t a t i o n can be e x t e n d e d to s e q u e n c e s w i t h index sets I as t h e i r d o m a i n s . F o r instance, ~ ai d e n o t e s t h e s u m of t h e values ai as i ieI
r u n s over t h e v a r i o u s values in I. As a n example, let I = {0, 1, 3, 5}. T h e n ~ (2i + 1) r e p r e s e n t s t h e s u m of iEI
t h e values of 2i + 1, so (2i + 1) = ( 2 . 0 + 1) + ( 2 . 1 +
1) + ( 2 . 3 + 1) + ( 2 . 5 + 1) - 22
i~I
O f t e n we need to e v a l u a t e s u m s of t h e form ~ aij, w h e r e t h e s u b s c r i p t s i p a n d j satisfy c e r t a i n p r o p e r t i e s P. (Such s u m m a t i o n s are used in C h a p t e r s 4 a n d 6.)
3.6 Sequences and the Summation Notation
161
For example, let I = {1, 2, 3, 4}. Then
~
(2i + 3j) denotes the sum
l
of the values of 2i + 3j, where 1 < i < j < 4. This can be abbreviated as (2i + 3j) provided the index set is obvious from the context. To find this
i<j sum, we must consider every possible pair (i,j), where i,j ~ I and i < j. Thus: ~--:(2i + 3j) = ( 2 . 1 + 3 . 2 ) + ( 2 . 1 + 3 - 3 ) + ( 2 . 1 + 3 . 4 )
i<j
~-
(2.2 + 3.3) + (2.2 + 3.4) + (2.3 + 3.4)
= 80 Evaluate
~
d, where d16 indicates that d is a factor of 6.
d>l d16
SOLUTION: d - sum of positive integers d, where d is a factor of 6. d>l dJ6
= sum of positive factors of 6 = 1+2+3+6=
12
m
Multiple summations arise often in mathematics. They are evaluated in the right-to-left fashion. For example, the double summation ~ ~ aij i
j
is evaluated as E (~-~aij) and the triple summation E E ~-~aijk as i j i j k E [ E ( E aijk)] 9 i j k We close this section with an example of a double summation. 1
2
Evaluate E
E (2i +3j).
i=-lj=0
SOLUTION: 1
2
~--~(2i + 3 j ) i=-lj=0
(2i + 3j) i = - 1 [_j=0 1
[(2i + 3 . 0 ) + (2i + 3 . 1 ) + (2i + 3 . 2 ) ] i=-1 1
= ~
(6i + 9)
i=-1
= [6. ( - 1 ) + 91 + ( 6 . 0 + 9) + ( 6 . 1 + 9) =27
m
Chapter3 Functionsand Matrices
162
Exercises 3.6 Evaluate each sum. 4
6
2.
1. E i i=1
2
Y~ (3n - 2)
j=-2
3
E3k k=-2 5
3
3(k 2)
0
(3k) 2
0
k=-2
k=-I
4
5
0;-2) 2
11.
~ (3-2k)k
12. ~ (0.1)i
j=-i
k=l
2)
E J(J-
0
n=0
4
10.
j=o
4
5.
E3 i=-1
7.
3. ~ ( j - 1)
k=O
4
4.
4
~ (3+k)
(0.9)5-i
i=0
Rewrite each s u m u s i n g the s u m m a t i o n notation.
14. 3 1 + 3 2 + . . . + 3 1 ~
13. 1 + 3 + 5 + . . . + 2 3 15. 1 . 2 + 2 . 3 + . . . +
16. 1 ( 1 + 2 ) + 2 ( 2 + 2 ) + . . - + 5 ( 5 + 2 )
11.12
D e t e r m i n e if each is t r u e or false. n
n
n
i= m
n
18. E x i - E
17. ~--~ i - ~-~ (n + m - i )
i=m
i= m
xn+m-i i=m
n
19. S u m s of the form S -
E
t h a t S - an - am.
i=m+ l
(ai- ai-1)
20. Using Exercise 19 and the identity
are
telescoping
1 + i(i 1)
1
i
sums.
1 + i 1
Show
derive a
n 1 formula for ~ i(i + 1)" i=1
21. Using Exercise 19 and the identity (i + 1) 2 - i 2 - 2i + 1, find a f o r m u l a r/
forE/. i=1
Evaluate each sum, where ~ij is defined as follows.
~/j =
1
ifi-j
0
otherwise
[~ij is called K r o n e c k e r ' s delta, after the G e r m a n m a t h e m a t i c i a n Leopold Kronecker (1823-1891).]
3.6 Sequences and the Summation Notation 5
163
6
3
22. E E (2i + 3j)
i=lj=l
i=lj=l 6
5
6
24. E E (2i + 3j)
i=1j=1
6
6
26. E E (i2 _ j + 1)
j=1i=1
5
3
28. E E ~ij
5
29. E E (2 + 3~ij)
i=1j=1 6
5
27. E ~ ( i 2 - j + 1)
i=lj=l 5
5
25. E E ( i 2 - i )
j = l i=1 5
i
23. E ~ ( ] + 3 )
i=lj=l
7
30. Y~. y~ (i2 _ 3i + ~ij) i=lj=l
Just as ~ is used to denote sums, the product akak+l.., am is denoted by m
ai. The p r o d u c t s y m b o l Yl is the Greek capital letter pi. For example, i=k
n
n! - [-I i. Evaluate each product. i=1 3
31.
5
~ (i+l)
32.
i=1
50
~ (j2+l)
33.
j=3
50
1-I 1
34.
I-I ( - 1 ) k
j=-5
k=0
Evaluate each sum and product, where p is a prime and I = { 1, 2, 3, 5 }. 3
35.
~--:k!
36.
}--~p
37.
p_<10
k=0
39. 38. 1--[ ( 3 i - 1) ieI
~
d
40.
~
d>_l
d>_l
d112
dJl2
41.
43. 42.
d>l
El ij
[-I
i,jeI
i<j
ilj
4
46. ~ ( 3 j - 3 j - l ) j=l
Expand each. 3
2
48. ~ aij j--1
i-1 3
2
49. E E aij i=lj=l
51.
~ (ai + aN) 1
(i + 2j)
i<j
(2 i + 3/)
45. i,jd
47. ~a~/
(~)
i,j6I p<25
d118
44.
1-[ P p_<10
2
3
50. E E aij j = l i=1
52.
~ l
(ai + aj)
164
Chapter 3 Functions and Matrices
A r t h u r Cayley (1821-1895) was born in Richmond, England. At 14 he entered King's College, London. His teachers, recognizing his superb mathematical talents, encouraged him to be a mathematician. At 17, Cayley entered Trinity College, Cambridge, where he was rated to be in a class by himself, "above the first." By age 25, he had published 25 papers, the first one at age 20. In 1846, he left his position at Cambridge to study law and became a successful lawyer. Feeling unfulfilled, he left the law after 14 years, although during this period he had published more than 200 papers. In 1863 Cayley rejoined the faculty at Cambridge University. He pursued his mathematical interests, until his death.
James Joseph Sylvester (1814-1897) attended Cambridge University, :,';.,~:"
~..;
.-~
' , '.
.,.:.<~,,..:L~,.~q.
which for several years denied him the degrees he earned, because he was Jewish. At 24, he became professor of natural philosophy at the University of London. Three years later, he taught at the University of Virginia for a year and then returned to England to become an actuary while continuing his mathematical investigations. Sylvester was professor of mathematics at Johns Hopkins University from 1876 to 1883. In 1878 he founded The American Journal of Mathematics.
;lli;~ ~
,
,
53.
~ IAi NA/I l_
~
54.
IAi N A/ n Ak l
l
Matrices were discovered jointly by two English mathematicians, Arthur Cayley and James Joseph Sylvester. Matrix notation allows data to be summarized in a very compact form and manipulated in a convenient way. The sports pages of every newspaper provide fine examples of matrices. For example, during the National Hockey League 2001-2002 regular season, the Boston Bruins won 43 games, lost 24 games, tied 6 games, and had 9 overtime losses; the New York Rangers won 36 games, lost 38 games, tied 4 games, and had 4 overtime losses; the Detroit Red Wings won 51 games, lost 17 games, tied 10 games, and had 4 overtime losses; and the Los Angeles Kings won 40 games, lost 27 games, tied 11 games, and had 4 overtime losses. These data can be arranged in a compact form:
Boston New York Detroit Los Angeles
won
lost
tied
o v e r t i m e loss
43 36 51 40
24 38 17 27
6 4 10 11
9 4 4 4
3.7
Matrices
165
S u p p o s e y o u k n o w t h a t t h e first r o w r e f e r s to Boston, t h e s e c o n d r o w to N e w York, a n d so on, a n d t h e first c o l u m n r e f e r s to t h e n u m b e r of wins, t h e second c o l u m n to t h e n u m b e r of ties, a n d so on. T h e n t h e r o w a n d c o l u m n h e a d i n g s c a n be deleted. Call t h e r e s u l t i n g a r r a n g e m e n t A: 43 37 39 51
A
24 11 10 7
6 36 35 26
9 4 4 4
S u c h a r e c t a n g u l a r a r r a n g e m e n t of n u m b e r s is called a m a t r i x . M o r e generally, we h a v e t h e following definition.
Matrix
A m a t r i x is a r e c t a n g u l a r a r r a n g e m e n t of n u m b e r s enclosed by b r a c k e t s . A m a t r i x w i t h m rows a n d n c o l u m n s is a n m x n (read m by n) m a t r i x , its s i z e b e i n g m x n. If m = 1, it is a r o w v e c t o r ; a n d if n - 1, it is a c o l u m n v e c t o r . If m = n, it is a s q u a r e m a t r i x o f o r d e r n. E a c h n u m b e r in t h e a r r a n g e m e n t is a n e l e m e n t of t h e m a t r i x . M a t r i c e s a r e d e n o t e d by u p p e r c a s e letters. F o r e x a m p l e , let 1 A=
and 1
0
B-
-6
0
-3
4
-2
7
-1
4 2
A is a 2 x 3 m a t r i x , w h e r e a s B is a s q u a r e m a t r i x of o r d e r 3. T h e e l e m e n t s of t h e r o w v e c t o r [0 3 - 7 ] a r e 0, 3, a n d - 7 . T h e double s u b s c r i p t n o t a t i o n is e x t r e m e l y u s e f u l in n a m i n g t h e elem e n t s of a n m x n m a t r i x A. L e t a i j d e n o t e t h e e l e m e n t in r o w i a n d c o l u m n j of A. T h e n t h e m a t r i x h a s t h e f o r m all a21
a12 a22
... . 99
alj
...
aln
a2j
99
a2n
ai l
ai2
. . .
aij
. . .
ain
A m
_ aml
am2
...
amj
t
...
<
row i
amn
columnj
F o r convenience, it is a b b r e v i a t e d as A - ( a i j ) m x n , or s i m p l y ( a i j ) if t h e size is clear f r o m t h e context. H o w do we d e t e r m i n e if two m a t r i c e s a r e equal? T h i s is a n s w e r e d by t h e n e x t definition.
Chapter3 Functionsand Matrices
166
Equality of Matrices Two matrices A = (aij) and B = (bij) are e q u a l if they have the same size and aij = bij for every i and j. For example, if 1
x
-3
1
0
-3
2
0
y
z
0
-1
then x = 0,y = 1, and z = 2. The following definition presents two special matrices.
Zero and Identity Matrices If every element of a matrix is zero, then it is a zero m a t r i x , denoted by O. Let A - (aij)nxn. Then the elements a l l , a 2 2 , . . . ,ann form the m a i n d i a g o n a l of the matrix A. Suppose
aij -
1
ifi=j
0
otherwise
Then A is the i d e n t i t y m a t r i x of order n; it is denoted by 1,2, or I when there is no ambiguity. For example, [0 0 0] and I0
0] are zero matrices.
A = ( a i j ) n x n is the identity matrix In if every element on its main diagonal
is 1, and every element above and below it is 0. For example, [0
01] is the
identity matrix of order 2, namely, I2. Just as propositions and sets can be combined to construct new propositions and new sets, matrices also can be combined to produce new matrices. The various matrix operations are presented and illustrated below.
Matrix Addition The s u m of the matricesA = (aij)m• a n d B = (bij)m• is defined b y A + B = (aij + bij)m• (We can add only matrices of the same size.) Let
A-
[2_371 0
1
and
B-
1
2
0
0]
-1
Then A+B-
=
0+2
1+0
1+(-1)
2
1
0
1
3.7 Matrices
167
Negative of a Matrix The n e g a t i v e or ( a d d i t i v e i n v e r s e ) of a m a t r i x A - (aij), denoted by - A , is defined by - A = ( - a i j ) . For instance, the negative of A -
[23_4] 0
-5
is
-A -
[_2_34]
6
0
5
-6
You may verify that A + (-A) = O.
Matrix Subtraction The d i f f e r e n c e A - B of the matrices A = ( a i j ) m x n and B - ( b i j ) m x n is defined by A - B = (aij - b i j ) m x n . (We can subtract only matrices of the same size.) For example, using the matrices A and B in Example 3.44,
A-B-
[
2-(-1)
(-3)-5
0-2
1-0
7-0 1-(-1)
] I
3
-8
-2
1
7 2
J
The next example introduces us to the fourth matrix operation. Suppose you bought 12 coconut donuts, 15 b u t t e r n u t donuts, and 6 cinnamon donuts from shop I, and you bought 9 coconut donuts, 12 b u t t e r n u t donuts, and 16 cinnamon donuts from shop II. Then the n u m b e r of donuts of each kind you bought from each shop is given by the matrix coconut A =
butternut
cinnamon
shop I shop II
9
12
16
Suppose each donut costs 75r Then the cost of each type of donut at each shop is obtained by multiplying each entry of A by 75. The resulting matrix is denoted by 75A. Thus 75A -
E7512 75.15 70.01[000 1125450] 75.9
75.12
75.16
675
900
1200
I
This example leads to the next definition.
Scalar Multiplication Let A = (aij) be any matrix and k any real num ber (called a s c a l a r ) . Then kA = (kaij).
Chapter 3
168
Functions and Matrices
The f u n d a m e n t a l properties of the various matrix operations are stated in the following theorem. We shall prove two of them, and leave the others as routine exercises. ~ ~ ~ ~ ~ ~
Let A, B, and C be any rn x n matrices, O the m • n zero matrix, and c and d any real numbers. Then: 9 A+B=B+A
9 A+(B+C)=(A+B)+C
9 A+O=A=O+A
9 A+(-A)=O=(-A)+A
9 (-1)A =-A
9 c(A +B)
9 (c + d ) A
=cA
=cA
+cB
9 (cd)A=c(dA)
+dA
PROOF:
Let A - (aij)m
•
9 To prove that A + (-A)
A + (-A)
= 0 = (-A)
- (aij)m•
+ (--aij)m•
+ A:
negative of A
= (aij + (--a~i))m •
matrix addition
= (0),,, •
a~] + ( - a i j ) - 0
=0
zero matrix
Similarly, ( - A ) + A - O. T h u s A + ( - A ) - O - ( - A ) + A. 9 T o p r o v e t h a t (c + d ) A - c A + d A :
(c + d ) A - (c + d ) ( a i j ) m •
definition of A
= ((c + d ) a i j ) m •
scalar multiplication
= (caij + d a i j ) m •
dist. prop. of n u m b e r s
= (caij)m xn + ( d a i j ) m xn
matrix addition
= c(aij)m•
scalar multiplication
= cA + dA
+ d(aij)m•
definition of A
This concludes the proofs.
m
Before we define matrix multiplication, let us study the next example.
~
D i s c o u n t G a s sells regular, unleaded, and p r e m i u m gasoline at two gasoline
stations X and Y. Matrix A shows the price (in dollars) of a gallon of each kind of gasoline; matrix B, the average n u m b e r of gallons sold at each
3.7
Matrices
169
location:
A
S
__
m
regular
unleaded
premium
[2.50
2.75
3.00]
X
Y
regular
3000
3500
unleaded
4000
3750
premium
1500
2000
SOLUTION:
Notice that: Revenue from location X - 2.50(3000) + 2.75(4000) + 3.00(1500) = $23,000.00 Revenue from location Y - 2.50(3500) + 2.75(3750) + 3.00(2000) = $25,062.50 These two values can be used to form the matrix X
Y
[23,000.00
25,062.50]
Each of its elements can be obtained by multiplying each element of A by the corresponding element in each column of B and adding them up, as shown below:
[2.50
2.75
3.00]
o00 i 1 4000 1500
3750 2000
= 2.50(3000) + 2.75(4000) + 3.00(1500) = 23,000.00 [2.50
2.75
3.00]
I
3000 4000 1500
3500 1 3750 2000
= 2.50(3500) + 2.75(3750) + 3.00(2000) = 25,062.50
170
Chapter3 Functionsand Matrices
The matrix [23,000.00 25,062.50] is the p r o d u c t of the matrices A and B, denoted by AB. Thus J ~ 3 0 0 0 AB = [2.50 2.75 3~0] ]-4000 1500
3500 3750 2000
= [23,000.000
25,062.50]
More generally, we define the product of two matrices as follows,
ll
Matrix Multiplication
The p r o d u c t A B of the matricesA = ( a i j ) m • a n d B - (bij)n• is the matrix C - (cij)m • where cij is the sum of the products of the corresponding elements in row i of A and c o l u m n j of B, as shown below: all
a12
999 a l n
bll
b12
9
by
9
blp
a21
a22
999 a2n
b21
b22
9
b2j
9
b2p
ail
ai2
...
bil
bi2
9
bij
9
bip
_ a,,, 1
a,,, 2
a m n _ _b,~l
bn2
9
bnj
9
bnp
C/j
9
ain
99
_
II
where cij - a i l b l j + a i 2 b 2 j + . . . + ainb,~j = ~ a i k b k j . k=l The product C = AB is defined only if the n u m b e r of columns in A equals the n u m b e r of rows in B. The size of the product is m x p. The next example illustrates this definition. Let
A=[10
-24
Find AB and B A , if defined.
-31]
and
B-
I - i 3] _ 0 1
3.7
Matrices
171
SOLUTION:
Since the number of columns of A equals the n u m b e r of rows of B, the product AB is defined. Furthermore, the size of AB is 2 x 2:
4
[3 -i]
-
-1
0 3+4.0+(-1)
(-1) 0 ( - 2 ) +
.1+(-1)
L0 4] The product
BA
-
BA
is also defined (why?) and its size is 3 x 3:
0
-2
-1
I -
-
4
3.1+(-2). 0.1-+-1.0 (-1). 1 +0.0 0
-1
0
14
-
3. ( - 2 ) + ( - 2 ) . 0.(-2)+1.4 (-1). (-2) + 0 . 4
4
3 . 3 + ( - 2 ) . ( - 1 ) -1 0.3+1.(-1) (-1). 3 + 0 . (-1)
4
2
You may notice that AB r
BA.
m
We can use the definition of matrix multiplication to develop an algorithm to find the product of two matrices in an obvious way, as Algorithm 3.1 shows. Algorithm product (A,B,C) (* Let A - (aij)m• and B : ( b i j ) n • p . This algorithm shows how to find t h e i r product C = ( c i j ) m • *) Begin (* product *) for i = i to m do for j = I to p do begin (* for j *) Cij ~-- 0 (* i n i t i a l i z e
*)
for k = 1 to n do Cij <--- Cij + aikbkj
(* update c U *)
endfor End (* product *)
Algorithm 3.1
Chapter 3
172
Functions and Matrices
The fundamental properties of matrix multiplication are stated in the next theorem. They can be proved without much difficulty using the summation notation. ~
Let A, B, and C be three matrices. Then: (1) A ( B C ) = ( A B ) C (3) A ( B + C) = A B + A C
(2) A I - A =IA (4) (A + B ) C = A C + B C
provided the indicated sums and products are defined,
m
We close this section with an example to illustrate Theorem 3.13. ~
part
3 of
Let A-
[25
-~]
,
B-
[1 2
0-1] -3 5 '
and
C -
0
-2 0
[- 3
1 4
J
Show that A ( B § C) - A B § A C . SOLUTION: First notice that both B and C are the same size, so B + C is defined and is of size 2 x 3. Furthermore, since A is 2 x 2 and B + C is 2 x 3, A ( B + C) is defined. Similarly, AB + A C is also defined. B+C-
[: o_1] -3
15 +
o_~1 1_~ [-:3 0 4 1[- - 1 - 3 x]
-~~]
~+~-[~~ -~o][_11 _~~ ~] [~ 1o
.
[~ ~][~ 0, -
5
0
-
~=[~~ ~][~ ~01] [~ 10 ~o] +
-
4
[~ ~0 ~:][~ lO
~o]
= A ( B + C)
Solve the following equations. 0 -3
y+3 1
4 z+ 2
~ ~~]
~o
m
E x e r c i s e s 3.7
1.
[~
-
0 -3
-1 1
4 -2
3.7
2.
Matrices
[x y 1 0][3 -3 4
y-z -5
2 z -x
-
-3 4
-1 -4 -5
173
0] 2 1
Find the additive inverse of each matrix.
. [~0 4~] LetA=
4 [~ ~~
[10 ~] [0~ 0
2
3 ,B-
6. A - B
0
7. B + C
o [i
-2
-5
i]
~1] an~ [ ~in~eac~0 ~ ~ ~ 8. A §
11. 2A § 3B
10. 2 B - C
-
12. 3B - 2C
9. - 2 B
13. 3A § ( - 2 ) B
Let A be an m x n matrix, B a p x q matrix, and C an r x s matrix. U n d e r what conditions is each defined? Find the size of each when defined. (Note: A 2 means AA.) 14. A + B
15. B -
18. A ( B § C)
19. A B - A C
22.
C
16. B C
17. A 2
20. AB § C
21. A ( B C )
A team in the N H L earns 2 points, I point, or 0 points for a win, tie or overtime loss, or a loss, respectively. Using matrices, find the n u m b e r of points earned by each team listed at the beginning of this section.
A s u m m e r vacation lodge in s u n n y California expects four guests: A, B, C, and D. They plan to stay at the lodge for 7, 14, 21, and 28 days, respectively. Each of t h e m has diabetes. Since the nearest drugstore is several miles away, the m a n a g e r of the lodge decides to store three different types of i n s u l i n - semi-lente, lente, and u l t r a - - needed by these guests. Their daily insulin r e q u i r e m e n t s are s u m m a r i z e d in Table 3.2. Table 3.2
Guests Insulin
A
B
C
D
Semi-lente Lente Ultra
25 20 20
40 0 0
35 15 30
0 15 40
Each gram of insulin of the three types costs 10, 11, and 12 cents, respectively t. Using matrices, compute each: t Based on R. F. Baum, "Insulin Requirements as a Linear Process in Time," in Some Mathematical Models in Biology, R. M. Thrall, ed., The University of Michigan Press, Ann Arbor, MI, 1967, pp. 0L2.1-0L2.4.
174
Chapter 3 Functions and Matrices
23. The n u m b e r of g r a m s of each type of insulin needed. 24. The total cost of the insulin. 25. The insulin r e q u i r e m e n t s if the guests decide to stay an additional 3, 5, 8, and 13 days, respectively. 26. The insulin r e q u i r e m e n t s if the guests decide to stay t h r e e times t h e i r original time. Let A, B, and C be any m x n matrices, O the rn • n zero matrix, a n d c a n d d any real n u m b e r s . Prove each (see T h e o r e m 3.12). 27. A + B = B + A
28. A + (B + C) = (A + B ) + C
29. A + O = A = O + A
30. ( - 1)A = - A
31. c(A + B) = c A + cB
32. ( c d ) A = c ( d A )
Let A, B, and C be any square matrices of order 2. Prove each. 33. A ( B C ) = ( A B ) C 34. A(B + C) = A B + A C 35. (A + B ) C -- A C + B C
The t r a n s p o s e
of a m a t r i x A -
(aii)m•
denoted by A T, is defined as
A T - (aji)nxm. Find the t r a n s p o s e of each.
36.
112 31 2
-2
0
1
-1
37.
0
Iab c1 d
e
f
f
g
h
38. A square m a t r i x A is s y m m e t r i c i f A T - A. W h a t can you say a b o u t the elements of a s y m m e t r i c matrix A? 39. Let A be a square matrix. Prove t h a t (AT) T -- A. Let A, B, and C be square matrices of order 2. Prove each. 40. ( A + B ) T = A T + B T
41.
42. (fiAT) T = A n T
43. (ABC) T -- C T B T A T
(AB)
T --
BTA T
A square m a t r i x A of order n is i n v e r t i b l e if there is a m a t r i x B such t h a t A B - In = B A . T h e n B is the i n v e r s e of A, denoted by A - i . In Exercises 44 and 45, verify t h a t B = A-1. Assume t h a t k = a d - bc r O.
44A iac db] , B = ~ 1[ - cd b]a
Chapter Summary
45. A =
3 1
175
1 2
-1 -3
,B=
-8 -5
3 4
-1 -7
Find each product. 46.
E
2
3
0
0lE l 1
1 2
-2 -3
3 4
Y
Rewrite each linear system as a m a t r i x e q u a t i o n AX = B. 49. 2x + 3y = 4 4x+5y = 6
50.
x - 2y = 4 3x+y-z=-5 x+ 2y-3z=6
5 1 - 5 2 . Using Exercises 44 and 45, solve t h e linear s y s t e m s in Exercises 49 and 50, respectively. Let M denote the set of 2 x 2 m a t r i c e s over W. Let f 9 1~ ~ M defined by f(n) = 53. 2
. C o m p u t e f(n) for each value o f n . 54. 3
55. 4
56. 5
Prove each. *57. The inverse of a s q u a r e m a t r i x A is unique. (Hint: Assume A has two inverses B and C. Show t h a t B - C.) *58. If A is an invertible matrix, t h e n (A- 1)- 1 _ A. *59. If A and B are two invertible m a t r i c e s of order n, t h e n (AB) -1 = B-1A-1. 60. Write an a l g o r i t h m to c o m p u t e the s u m of the matrices A = (aij) m x n and B = (bij)m •
This c h a p t e r p r e s e n t e d the concept of a function, the s u m m a t i o n notation, and matrices. F u n c t i o n s can be defined by the ordered pair n o t a t i o n , tables, or graphs. Several properties of functions and some exotic functions were examined, including how to c o n s t r u c t new functions from k n o w n ones. Function 9 A f u n c t i o n f" X ~ Y is a p a i r i n g of every e l e m e n t x in X w i t h a u n i q u e e l e m e n t y in Y. D o m ( f ) - X, codom(f) = Y, and r a n g e ( f ) {f(x) c YIx ~ X} (page 118).
Chapter3 Functionsand Matrices
176
Special Functions n
(an ~ O)
(page 125).
a x (a > O , a r 1)
(page 125).
9 P o l y n o m i a l function f ( x ) = ~ a i x i l=O
9 E x p o n e n t i a l function f ( x ) =
9 L o g a r i t h m i c function f ( x ) - log a x (a > 0, a ~: 1)
(page 126).
9 Absolute value function f ( x ) - Ixl
(page 126).
9 Floor function f ( x ) = Ix]
(page 126).
9 Ceiling function f ( x ) = Ix]
(page 126). 1
9 Characteristic
functionfA(x)-
0
ifx ~A otherwise
(page 131 ).
9 Mod function f ( x , y ) = x mod y
(page 132).
9 Div function g ( x , y ) = x divy
(page 132).
Properties of Functions 9 A function f : X -~ X is the i d e n t i t y f u n c t i o n every x ~ X 9 f " X ~ Y is i n j e c t i v e , i f x l r
X2 ~
f ( x l ) r f(x2)
9 f 9X --. Y is s u r j e c t i v e , if r a n g e ( f ) - Y
on X if f ( x ) = x for (page 136). (page 136). (page 137).
9 f " X --. Y is b i j e c t i v e , if it is both injective a n d surjective (page 137). 9 I f X and Y are finite sets with IX[ = [Y I, f : X --~ Y is injective if a n d only if it is surjective (page 139). 9 Two sets have the s a m e cardinality if and only if a bijection exists between them (page 140).
The Pigeonhole Principle 9 S i m p l e v e r s i o n If m pigeons fly into n pigeonholes to roost, w h e r e m > n, t h e n at least two pigeons m u s t roost in t h e s a m e pigeonhole (page 147 ). 9 G e n e r a l i z e d v e r s i o n If m pigeons fly into n pigeonholes to roost, w h e r e m > n, one pigeonhole m u s t contain at least L(m - 1)/nJ + 1 pigeons (page 147).
Composition 9 T h e c o m p o s i t i o n of the functions f : X ~ by ( g o f ) ( x ) = g ( f ( x ) ) for every x in X
Y a n d g : Y ~ Z is given (page 151).
Chapter Summary
177
9 The composition of two bijections is bijective
(page 152).
9 The function g : Y ~ X is the inverse of the function f : X -~ Y if g o f = 1z and f o g - 1y (page 153). 9 A function is invertible if and only if it is bijective
(page 154).
S e q u e n c e s and the S u m m a t i o n Notation
9 A sequence {Sn} is a function with domain X = {a,a + 1,a + 2,...} or a finite subset of X, where a 9 W (page 157). 9 Using the s u m m a t i o n symbol ~ , the sum ak + a k + l + " " + a m is w r i t t e n i=m
as ~ ai
(page 158).
i=k
Matrix
9 An m x n m a t r i x (aij)m • is a r e c t a n g u l a r a r r a n g e m e n t of elements, where aij denotes the element in row i and c o l u m n j (page 165).
Review Exercises
Find the n u m b e r of positive integers < 1776 and divisible by each: 1. 5 o r 7
2. 5 b u t n o t 7
3. 5, 6, or 7
4. 3 or 5, but not 7
Find the day of the week in each case. 5. 1024 days from Sunday
6. 1948 days from T h u r s d a y
Find the m o n t h of the year in each case. 7. 256 m o n t h s from March
8. 1976 m o n t h s from August
Using formula (3.1) in Exercises 3.2, determine the first day in each year. 9. 2048
10. 4076
11. 7776
12. 7997
Using the formula in Exercises 3.2, compute the date for E a s t e r S u n d a y in each year. 13. 2550
14. 3443
15. 4076
16. 6666
Determine if each function is injective. 17. f ( x ) -- - ] x l ,
x e R
18. g ( x ) = v/-x, x 9 IR +
Determine if each function f :A -~ B is surjective. 19. f(x) = - ~ / ~ , A = IR+, B - JR-
20. f(x) = 2 x, A = R , B = R +
178
Chapter 3
Functions and Matrices
D e t e r m i n e if each function f :A ~ B is bijective. 21. f ( x ) = 2
IxI,A=B=I~
22. f = O R D ,
A=B-Z
Let A and B be finite sets with IAI - 3 and IBI - 2. Find the n u m b e r of: 23. Functions t h a t can be defined from A to B. 24. Constant functions t h a t can be defined from A to B. 25. Injections t h a t can be defined from A to B. 26. Surjections t h a t can be defined from A to B. 27. Bijections t h a t can be defined from A to B. S t u d e n t records are m a i n t a i n e d in a table using the h a s h i n g function h ( x ) = x mod 9767, where x denotes the s t u d e n t ' s social security n u m b e r . Compute the location in the table corresponding to the given key, w h e r e the record is stored. 28. 011-53-1212
29. 212-44-7557
3 0 - 3 1 . Redo Exercises 28 and 29 if h ( x ) = first p a r t in x mod 23. 32. The confirmation n u m b e r for flight reservations made with an airline over the I n t e r n e t consists of three letters followed by a digit and then two letters. Store the following confirmation n u m b e r s in a hash table of 26 cells using the hashing function h ( x ) = first letter in x: VPS3SL, NBC4GK, CBS1AA, AQX5CD, CBA3BA, NCR4SK, CNN 1TK, ABC5ZZ 33. Redo Exercise 32 if h ( x ) = last letter in x. 34. Redo Exercise 32 using a hash table of 10 cells and h ( x ) - digit in x. 35. Redo Exercise 32 using a hash table of 10 cells and h ( x ) = digit in x m o d 5. 36. Show t h a t in any group of seven positive integers, at least two of t h e m leave the same r e m a i n d e r when divided by six. 37. The total cost of mailing six letters is $19. Show t h a t the mailing charge for at least one letter is $3 or more. Let f, g : R ~ R defined by f ( x ) = 2[x7+ 1 and g ( x ) = 3Lx] - 2. Compute each. 38. (g o f)(2.56)
39. (f o g ) ( - 3 . 4 5 )
40. (g o f ) ( - 4 . 6 7 )
41. (f o g ) ( - 5 . 7 3 )
Chapter Summary
179
Let f, g : W ~ W defined by f ( x ) = x m o d 6 a n d g ( x ) - x div 6. E v a l u a t e each. 42. (g o f)(31)
43. ( f o f)(49)
44. ( f o g ) ( 1 7 6 )
45. (g o g ) ( 1 3 3 1 )
M a r k each s e n t e n c e as t r u e or false, w h e r e x a n d y are a r b i t r a r y real numbers. 46.
Ix + yj = [xj + [yj
47.
Ix + Y l = [xl + [Yl
48.
LxyJ = LxJ [yJ
49.
[xyl = Ix] [y]
Give a c o u n t e r e x a m p l e to disprove each proposition, w h e r e x, y e R a n d neZ. 50.
[x+yJ = [xJ+[yJ
51.
[x+yl
= [xl+[yl
53.
[xyl = [x][yl
54.
LnxJ = n LxJ
52.
[xyJ = [xJ[yJ
55.
[nxl = n f x ]
F i n d t h e first four t e r m s of t h e s e q u e n c e w i t h t h e given g e n e r a l t e r m , w h e r e = (1 + v/5)/2 a n d fl = (1 - j ~ ) / 2 . (The n u m b e r a is t h e g o l d e n r a t i o . ) 56.
an-
L'" J
57.
bn -
['" l
58.
L n - oen + r '~ , n >__ 1
59.
fn -
- ~ (or n - r n )
--~ + 89 , n >__ l
_~ _1
, n >__ l
60. A r r a n g e t h e t e r m s of t h e s e q u e n c e of t e r n a r y w o r d s of l e n g t h < 2 over the a l p h a b e t {0,1,2} in i n c r e a s i n g o r d e r of t h e i r n u m e r i c values. E v a l u a t e each. 10
10
i
i
z [.]
.1. FIL J
i=1
17
i
17
F1L'J
i
E I.]
"
i=1
65. Let f 9 A ~ injective.
B a n d g 9 B ~ A such t h a t f o g -
lB. P r o v e t h a t g is
66. Let f 9 A o surjective.
B and g 9 B o
1A. P r o v e t h a t g is
A such t h a t g o f -
Supplementary Exercises Let A - ( a i j ) n x n a n d B - ( b i j ) n x n . P r o v e each. 1. (A + B ) T - A T + B T
2. (AB) T - B T A T
3. A A T is s y m m e t r i c .
4. Let G - {0, 1} a n d d" G n x G n --+ W defined by d ( x , y ) - n u m b e r of c o m p o n e n t s in w h i c h t h e w o r d s x a n d y differ, d ( x , y ) is called t h e H a m m i n g d i s t a n c e b e t w e e n t h e n-bit w o r d s x a n d y. Is d bijective?
Chapter 3
180
-,,,-
.o
,'
.
,~2~:~-~
j
Functions and Matrices
R i c h a r d Wesley H a m m i n g (1915-1998) was born in Chicago, graduated from the University of Chicago in 1937, and received an M.S. from the University of Nebraska 2 years later. After receiving his Ph.D. in mathematics in 1942 from the University of Illinois, he began his teaching career at the university and moved to the university of Louisville until 1945. After a year working on the Manhattan project at Los Alamos Science Laboratory, he joined the technical staff at Bell Telephone Labs in 1946; he headed the numerical methods research department from 1964 to 1967, and then the computer science research department until 1977. He left Bell in 1977 and became an adjunct professor in computer science at the Naval Postgraduate School, Monterey, California. Recipient of numerous awards, Hamming made significant contributions to algebraic coding theory, numerical methods, statistics, and digital filters.
5. Let al, a 2 , . . . ,an c IR+. Prove t h a t at least one of t h e m is g r e a t e r t h a n n
or equal to their average n1 (Y~-ai). 1
E v a l u a t e each sum and product. 2
3
6. ~_, Z
1
1
7. Z
Z
1
Z(i+J+
k)
i=0 j=-I
i = 0 j = 1 k=O
8.
3
4
~
~
5
~ 2 i +j - k
3
9.
i=1 j = 2 k = l 2
10.
i=0 j=l
+3k)
k=O
2
l-I l-I 2i +j i=1 j=O
3
1--I [-l ( i - j )
2
Z(i+2j
5
11.
3
[1 1-] 2 i=2 j=0
An a r i t h m e t i c s e q u e n c e is a n u m b e r sequence in which every t e r m except the first is obtained by adding a fixed n u m b e r , called the c o m m o n d i f f e r e n c e , to the preceding term. For example, 1, 3, 5, 7 , . . . is an a r i t h m e t i c sequence with c o m m o n difference 2. Let an denote the n t h t e r m of the a r i t h m e t i c sequence with first t e r m a and c o m m o n difference d. 12. Find a formula for an. 13. Let Sn denote the s u m of the first n t e r m s of the sequence. Prove t h a t n Sn - ~12a + ( n - 1)d]. A g e o m e t r i c s e q u e n c e is a n u m b e r sequence in which every t e r m except the first is obtained by m u l t i p l y i n g the previous t e r m by a constant, called the c o m m o n r a t i o . For example, 2, 6, 18, 5 4 , . . . is a geometric sequence with c o m m o n ratio 3. Let an denote the n t h t e r m of the geometric sequence with first t e r m a and c o m m o n ratio r.
Chapter Summary
181
14. Find a formula for an. 15. Let Sn denote the sum of the first n t e r m s of the sequence. Prove t h a t S n -- a ( r n - 1 ) r-1
(r ~= 1).
* 16. Let f: X ~ Y be injective and A __ B _ X. Prove t h a t f(A • B) f (A) n f (B). "17. L e t f : X ~ Y a n d A _ B c X such t h a t f ( A ~ B ) = f ( A ) A f ( B ) . Give a counterexample to show t h a t f need not be injective. "18. Suppose a l + a2 + . . . § an - n + 1 pigeons occupy n pigeonholes Hi, 1 < i < n. Prove t h a t either H1 contains > a l pigeons, or H2 contains > a2 p i g e o n s , . . . , or Hn contains > an pigeons. Use Exercise 18, prove each. 19. The pigeonhole principle. 20. The generalized pigeonhole principle. oo
21. The sequence {an }~ satisfies the property t h a t an -
ai for every i=n+l
n > 1. Show t h a t an+l - 89
> 1. (T. Fletcher, 1978).
Computer Exercises Write a program to perform each task. 1. Read in the a m o u n t of water used by a household for 6 m o n t h s and compute the water bill, using the rate in Example 3.6. 2. Read in a positive integer n < 1000 and print all perfect n u m b e r s < n. (There are three perfect n u m b e r s < 1000. See Exercises 3.1.) 3. Read in a year y > 1600 and determine each: 9 W h e t h e r or not it is a leap year. 9 The n u m b e r of leap years > 1600 and < y. 4. Read in a year y and find the following (see Exercises 3.2): 9 The day of J a n u a r y 1 in year y and year y + 1. 9 The n u m b e r of F r i d a y - t h e - t h i r t e e n t h s in year y. 5. J a n u a r y 1, 2000, fell on a Saturday. Determine the day of the week of J a n u a r y 1, 1776, and J a n u a r y 1, 3000. P r i n t the calendar for J a n u a r y in each year. 6. Read in a series of years greater t h a n 2000 and determine the Easter date in each year. (See Exercises 3.2.)
182
Chapter3 Functions and Matrices 7. The discrete probability p ( r ) t h a t two people in a g r o u p of r people selected at r a n d o m have the same b i r t h d a y is given by p(r)-
1-
365.364 ... (365 - r + 1) 365 r
a s s u m i n g 365 days in a year. C o m p u t e the probability for each value of r: 10, 20, 3 0 , . . . , 100, including 23. (You will see t h a t i f 2 3 people are selected at r a n d o m , t h e r e is a b e t t e r t h a n 50% chance t h a t two have the same birthday. This is k n o w n as the b i r t h d a y p a r a d o x . ) 8. Assign the n u m b e r s 0-51 in order to the 52 playing cards in a standard deck. Read in a n u m b e r x, w h e r e 0 _< x < 51. I d e n t i f y t h e card n u m b e r e d x. Use the suit labels 0 - clubs, 1 - d i a m o n d s , 2 - h e a r t s , and 3 - spades, and the card labels 0 - ace, 1 - deuce, 2 - t h r e e , . . . , in each suit. 9. Assign the n u m b e r s 0-63, row by row, to the various s q u a r e s on an 8 x 8 chessboard. Read in two n u m b e r s x and y, w h e r e 0 < x , y < 63. D e t e r m i n e if the queen at square x can c a p t u r e the q u e e n at s q u a r e y. 10. Read in n c u s t o m e r s ' nine-digit account n u m b e r s at a b a n k , w h e r e n is a positive integer _< 100. Store t h e m in a hash table u s i n g t h e h a s h i n g function h ( x ) - x mod 113, w h e r e x denotes an account n u m b e r . P r i n t the h a s h table. 11. Read in n s t u d e n t s ' social security n u m b e r s and store t h e m in a h a s h table using the h a s h i n g function h ( x ) - x mod 109, w h e r e x d e n o t e s a social security n u m b e r and n is a positive integer _< 100. P r i n t the hash table. 12. Read in the two-letter a b b r e v i a t i o n s of all states in the U n i t e d States. Store t h e m in a hash table of 26 cells, using the hash f u n c t i o n h ( x ) first letter in x. 13. Read in a positive integer n < 15 and a square m a t r i x A of o r d e r n. D e t e r m i n e if it is symmetric. 14. Read in an m x n m a t r i x A and a p x q m a t r i x B. Find A + B, A - B, and AB if they are defined. n
15. The t r a c e of a m a t r i x ( a i j ) n x n is ~ aii. Read in a positive i n t e g e r i=l
n < 20 and an n x n matrix, and p r i n t the trace of the m a t r i x .
Exploratory Writing Projects Using library and I n t e r n e t resources, write a t e a m r e p o r t on each of the following in y o u r own words. Provide a w e l l - d o c u m e n t e d bibliography. 1. Discuss the d e v e l o p m e n t of the concept of a function.
Chapter Summary
183
2. Collect the various rates for water and electricity consumption from neighboring towns and cities. Write each as a word problem and then define each as a function. 3. Describe the history of perfect numbers and their relationship to Mersenne primes. Comment on the existence of odd perfect numbers. 4. Give a number of applications of the floor and ceiling functions to everyday life. 5. Investigate the two-queens puzzle on an n x n chessboard, where 2
Enrichment Readings 1. W. T. Bailey, "Friday-the-Thirteenth," Mathematics Teacher, Vol. 62 (May 1969), pp. 363-364. 2. D. R. Camp, "Secret Codes with Matrices," Mathematics Teacher, Vol. 78 (Dec. 1985), pp. 676-680. 3. D. I. A. Cohen, Basic Techniques of Combinatorial Theory, Wiley, New York, 1978, pp. 144-178. 4. R. L. Graham et al., Concrete Mathematics, Addison-Wesley, Reading, MA, 1989, pp. 397-424. B. E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Computer Science Press, Rockville, MD, 1978. 6. F. S. Koltz, "When Is a Program Like a Function?" Mathematics Teacher, Vol. 79 (Nov. 1986), pp. 648-651. 7. Z. Usiskin, "The Greatest Integer Symbol," Mathematics Teacher, Vol. 70 (Dec. 1977), pp. 739-743.
Chapter 4
I n d u c t i o n and A l g o r i t h m s God created the n a t u r a l n u m b e r s ; all else is the w o r k o f m a n . L. KRONECKER
T
his chapter presents the well-ordering principle, the division algorithm with which you are already familiar, and some fundamental divisibility properties. In addition, through the well-ordering principle we will establish an additional proof technique, the principle of mathematical induction. Interesting applications of this principle, as well as the pigeonhole principle from Chapter 3, will be investigated. Some of the intriguing problems pursued in this chapter lie below: 9 Are there integers between 0 and 1? 9 Ifn is a positive integer >_ 2 and a l , a 2 , . . . , a n E Z, are there consecutive elements a k + l , a k + 2 , . . . , a s such that a k + l + ak+2 + " " + as is divisible by n, where k < t~? 9 If a l , a 2 , . . . , an are the first n positive integers in some order, arranged around a circle, is it true that there must be a set of k consecutive elements in the cyclic a r r a n g e m e n t whose sum is greater t h a n [ [ k n ( n + 1 ) - 2]/2nJ? 9 Can any postage ofn > 2 cents be paid using two- and three-cent stamps?
The division algorithm, with which you are already familiar, is often employed to verify the correctness of a division problem. Its proof is based on the following cardinal fact, which is accepted as an axiom. (An a x i o m is a proposition that is accepted as true. It is usually a self-evident proposition and is consistent with known facts.)
185
186
Chapter4 Inductionand Algorithms The Well-Ordering Principle Every n o n e m p t y set of positive integers has a least element.
i
For example, the set { 1 3 , 5 , 8 , 2 3 } has a least element, 5. The wellordering principle applies to any n o n e m p t y subset S of T = {n ~ Z Jn _>_no }, where no is any integer. To see this, let S* - {n - no + 1 I n e S} a n d T * - {n - no + 1 In ~ T}. Since S * c_ T * and T * c_ N , by the well-ordering principle, S* contains a least element t~*. T h e n no + g* - 1 is a least e l e m e n t of S (why?). For example, l e t S - {-3, - 1 , 0, 1, 3, 5} and T = {n ~ Z l n > -5}. T h e n S* - {3,5,6, 7,9, 11} has a least element t~* - 3, s o n 0 + t ~ * - 1 - - 5 + 3 - 1 = - 3 is the least element of S. Next we present the division algorithm. Its proof is a bit complicated, so we omit it here; but a proof, using the well-ordering principle, can be established (see, for instance, the a u t h o r ' s n u m b e r theory book).
The Division Algorithm When an integer a is divided by a positive integer b, we get a u n i q u e (integer) q u o t i e n t q and a unique (integer) r e m a i n d e r r, where 0 < r < b. The integer a is the dividend and b the divisor. This is formally s t a t e d as follows.
(The Division Algorithm) Let a be any integer and b any positive integer. Then there exist unique integers q and r such t h a t a Dividend
-
b.q
~
l
+ l
r ~
Divisor
Remainder Quotient
where 0 < r < b.
m
Although this t h e o r e m does not present an algorithm for finding q and r, it has been traditionally called the division algorithm. The values of q and r can be found using the familiar long division method. Notice t h a t the equation a - b q + r can be w r i t t e n as a
r
=q+g
so q = a div b - [a/bJ and r - a - b q - a mod b. The next example shows t h a t we should be careful in finding the q u o t i e n t and the r e m a i n d e r when the dividend is negative.
4.1 The Division Algorithm [ ~ ~ ~ ~ ~
187
Find t h e q u o t i e n t q a n d t h e r e m a i n d e r r w h e n - 2 3 is divided by 5. SOLUTION: Since - 2 3 - 5. ( - 4 ) + ( - 3 ) , you m i g h t be t e m p t e d to say t h a t q = - 4 a n d r - - 3 . Recall t h a t t h e r e m a i n d e r can n e v e r be negative, so we r e w r i t e - 2 3 as - 2 3 = 5 . ( - 5 ) + 2, w h e r e 0 < r ( = 2) < 5 (see t h e n u m b e r line in F i g u r e 4.1). T h u s q = - 5 a n d r - 2; in o t h e r words, - 2 3 div 5 - - 5 and - 2 3 mod 5 = 2.
F i g u r e 4.1 A
-25T -23
-25
-15
-10
5
0
We close this section w i t h two applications of t h e division a l g o r i t h m a n d the pigeonhole principle, m Let b be an i n t e g e r > 2. If b + 1 distinct i n t e g e r s are r a n d o m l y selected, prove t h a t the difference of some two of t h e m m u s t be divisible by b.
PROOF Let q be t h e q u o t i e n t and r the r e m a i n d e r w h e n an i n t e g e r a is divisible by b. Then, by the division algorithm, a = bq + r w h e r e 0 < r < b. T h e b + 1 distinct integers yield b + 1 r e m a i n d e r s (pigeons); b u t t h e r e are only b possible r e m a i n d e r s (pigeonholes). Therefore, by the pigeonhole principle, two of t h e r e m a i n d e r s m u s t be equal. Let x and y be the c o r r e s p o n d i n g integers. T h e n x = b q l + r a n d y - bq2 + r for some q u o t i e n t s ql a n d q2. T h e n x-y
= ( b q l + r) - (bq2 + r)
=b(ql -q2) Thus, x - y is divisible by b.
m
Let n be an integer >_ 2 and let a l, a 2 , . . . , a n ~ Z. Prove t h a t t h e r e exist integers k a n d g such t h a t a k + l + ak+2 + " " + ae is divisible by n, w h e r e 1 _< k < t~ < n; t h a t is, t h e r e exist consecutive e l e m e n t s a k + l , a k + 2 , . . . ,ae whose s u m is divisible by n.
P R O O F (by cases): Consider the n s u m s Case 1
S i -
a l -+- a2 + . . . + a i , w h e r e 1 < i < n.
If a n y of t h e s u m s S i is divisible by n, t h e n t h e s t a t e m e n t is true.
Chapter 4 Induction and Algorithms
188
C a s e 2 S u p p o s e n o n e of t h e s u m s S i is divisible by n. W h e n S i is divided by n, t h e r e m a i n d e r m u s t be n o n z e r o . So, by t h e division a l g o r i t h m , t h e possible r e m a i n d e r s are 1, 2 , . . . , (n - 1). Since t h e r e a r e n s u m s a n d n - 1 possible r e m a i n d e r s , by t h e p i g e o n h o l e principle, t w o of t h e s u m s S k a n d Se m u s t yield t h e s a m e r e m a i n d e r r w h e n divided by n, w h e r e k < e. T h e r e f o r e , t h e r e m u s t exist i n t e g e r s qz a n d q2 s u c h t h a t a l + a2 + . . . -+ak = n q l + r a n d a l + a2 + . . . + ae - n q 2 + r, w h e r e k < e. S u b t r a c t i n g , we get a k + l -+- ak+2 -+- " " + ae = n ( q l -- q2). T h u s a k + l + ak+2 + " " + ae is divisible by n. m To cite a specific e x a m p l e , c o n s i d e r t h e s e v e n i n t e g e r s 2, 3, 8, 15, 23, 29, a n d 57. T h e n $1 = a l - 2 = 0 9 7 + 2 a n d $5 = a l + a2 -+- a3 ~- a4 + a5 = 2 + 3 + 8 + 15 + 23 = 51 = 7 9 7 + 2. T h e n $5 - $1 = a2 + a3 ~- a4 + a5 -3 + 8 + 15 + 23 - 49 is divisible by 7. H e r e k = 1 a n d e = 5. (You m a y n o t i c e t h a t $4 = a l + a2 + a3 -F a4 = 2 + 3 + 8 + 15 is also divisible by 7.)
Exercises 4.1 1. Is t h e set of positive odd i n t e g e r s w e l l - o r d e r e d ? 2. Is t h e set of positive even i n t e g e r s w e l l - o r d e r e d ? In E x e r c i s e s 3-6, find t h e q u o t i e n t a n d t h e r e m a i n d e r w h e n t h e first i n t e g e r is divided by t h e second. 3. 137, 11
4. 15, 23
5. - 4 3 , 16
6. - 3 7 , 73
F i n d t h e set of possible r e m a i n d e r s w h e n a n i n t e g e r is divided by t h e given integer. 7. T w o
8. Five
9. S e v e n
10. T w e l v e
11. P r o v e t h a t t h e r e exists no i n t e g e r b e t w e e n 0 a n d 1. 12. Let a ~ Z. P r o v e t h a t no i n t e g e r exists b e t w e e n a a n d a + 1. 13. Let no E Z , S be a n o n e m p t y s u b s e t of t h e set T = {n ~ Z ln > no}, a n d ~* be a least e l e m e n t of t h e set T* - {n - no + 1 In e T}. P r o v e t h a t no + 6" - 1 is a least e l e m e n t of S. 14. U s i n g t h e w e l l - o r d e r i n g principle, prove t h a t i is t h e s m a l l e s t positive integer. ( H i n t : P r o v e by c o n t r a d i c t i o n . ) "15. Let a ~ Z, S - {a, a + 1,...}, T c S, a n d a ~ T. Let k be a n y e l e m e n t of S s u c h t h a t w h e n e v e r k e T, k + 1 e T. P r o v e t h a t S = T. "16. Let a e Z a n d S = { a , a + 1,...}. Let P(n) be a p r e d i c a t e on S s u c h t h a t t h e following c o n d i t i o n s a r e satisfied: (1) P ( a ) i s t r u e ; (2) I f P ( a ) ,
4.2 DivisibilityProperties
189
P(a + 1),... ,P(k) are t r u e for a n y k > a, t h e n P(k + 1) is also true. Prove t h a t P(n) is t r u e for every n > a.
T h e celebrated euclidean a l g o r i t h m can be used to find the g r e a t e s t c o m m o n divisor of two positive integers, b u t first a very few properties of p r i m e a n d composite n u m b e r s , and some divisibility properties. Let a and b (r 0) be any two integers. If t h e r e is an integer q such t h a t a - b q , we say b d i v i d e s a, b is a f a c t o r of a, a is d i v i s i b l e by b, or a is a multiple of b. We t h e n write b l a ; otherwise, b ya. (Again, the m e a n i n g of the vertical b a r should be clear from the context.) For instance, 316, 8124, b u t 6 y14. A positive factor b of a positive integer a is a proper factor of a if b ~: a. For example, the proper factors of 6 are 1, 2, and 3. T h e r e are positive integers with exactly two positive factors. Accordingly, we m a k e the following definition.
Prime Numbers and Composite Numbers A positive integer > 1 is a prime n u m b e r (or simply a p r i m e ) if its only positive factors are 1 and itself. A positive integer > 1 is a c o m p o s i t e n u m b e r if it is not a prime. For example, 2 and 19 are primes, w h e r e a s 6 and 21 are composite n u m b e r s (why?). T h e r e is a systematic procedure for d e t e r m i n i n g w h e t h e r or not a positive integer n >_ 2 is a prime. It is based on the next theorem. Any composite n u m b e r n has a p r i m e factor _< L~/-nJ.
PROOF (by contradiction): Since n is composite, t h e r e are positive integers a and b such t h a t n = a b w h e r e 1 < a < n and 1 < b < n. Suppose a > j ~ and b > ~/-n. T h e n n - a b > v/n 9 j ~ - n, which is impossible. Therefore, either a < v/n or b < j ~ . Since both a and b are integers, it follows t h a t either a < / v Z n / o r
b_< [J-~J. By the f u n d a m e n t a l t h e o r e m of a r i t h m e t i c (see T h e o r e m 4.13), every positive integer has a prime factor. Any such factor of a or b is also a factor of a . b - n, so n m u s t have a p r i m e factor [vZnJ. I
It follows from T h e o r e m 4.2 t h a t if n has n o p r i m e factors < L~r~J, ] t h e n n is a prime; otherwise, it is a composite n u m b e r . This fact can be used to d e t e r m i n e w h e t h e r or not an integer n > 2 is a prime, as the next example illustrates.
190
Chapter 4 Inductionand Algorithms D e t e r m i n e if 1601 is a p r i m e n u m b e r .
SOLUTION: F i r s t list all p r i m e s < Lx/1601J. T h e y are 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, and 37. N o n e of t h e m is a factor of 1601 (verify); so 1601 is a prime, m An a l g o r i t h m for d e t e r m i n i n g the p r i m a l i t y of a positive i n t e g e r n >_ 2 is given in A l g o r i t h m 4.1.
Algorithm prime number(n) (* This algorithm determines i f a positive integer n>__2 is prime or not using Theorem 4.2. *) Begin (* algorithm *) l i s t all primes < Lv/n] i f any of them is a factor of n then n is not a prime else n is a prime End (* algorithm *)
Algorithm 4.1
In the r e m a i n d e r of this section we discuss some useful divisibility properties. We begin with a simple and s t r a i g h t f o r w a r d property. If a and b are positive integers such t h a t a i b and b i a, t h e n a - b.
i
Notice t h a t this t h e o r e m does n o t hold if a a n d b are a n y integers. F o r example, 3 i ( - 3 ) a n d ( - 3 ) 13, b u t 3 r - 3 .
Let a, b, and c be a n y integers. Then: (1) (2) (3) (4)
If a If a If a Ifa
I b and b i c, t h e n a I c ( t r a n s i t i v e p r o p e r t y ) . i b and a I c, t h e n a I (b + c). i b and a I c, t h e n a I (b - c). I b, t h e n a I bc.
PROOF: We shall prove p r o p e r t i e s 1 and 2, and leave the o t h e r s as exercises. (1) Since a lb, t h e r e exists an integer q l such t h a t b = a q ] . Similarly, t h e r e exists an i n t e g e r q2 such t h a t c = bq2. T h e n c = bq2 = ( a q l ) q 2 a ( q l q 2 ) . T h u s , t h e r e exists an integer q = q l q 2 such t h a t c = a q . Therefore, a lc. -
-
(2) As above, we have b - a q l and c - aq3. T h e n b + c - a q l + aq3 = a ( q l + q3). Since ql + q3 is an integer, it follows t h a t a l(b + c). i
4.2 DivisibilityProperties
191
The Greatest Common Divisor A positive integer can be a factor of two positive integers a and b. Such a positive integer is a c o m m o n f a c t o r of a and b. The largest such common factor is the g r e a t e s t c o m m o n d i v i s o r (gcd) of a and b, denoted by gcd {a, b }. For instance, gcd{6, 9} - 3, gcd{12, 24} - 12, and gcd{6, 35} = 1. This definition of gcd, although simple and clear, is not practical, so we give an alternate, equivalent definition below.
An Alternate Definition of GCD A positive integer d is the g c d of two positive integers a and b if: 9 d[aandd[b;and
9 if d' [a and d' [ b, then d' I d, where d' is a positive integer. Thus, d is gcd{a, b} if (1) d is a common divisor of both a and b; and (2) any common divisor of a and b is also a divisor of d. The next theorem, an extremely useful and powerful result, can be applied to develop an algorithm to compute gcd{a, b}. Let a and b be any positive integers, and r the remainder when a is divided by b. Then gcd{a, b} -- gcd{b, r}.
PROOF Let gcd{a, b} = d and gcd{b, r} = d'. To prove t h a t d = d', it suffices to show that d i d ' and d ' l d . By the division algorithm, a unique quotient q exists such that a = bq + r
(4.1)
To show that d i d ' : Since d = gcd{a, b}, d f a and d I b. Therefore, d f bq, by Theorem 4.4. Then d l(a - bq), again by Theorem 4.4. In other words, d lr, by Equation (4.1). Thus, d Ib and d I r. Therefore, d I gcd{b, r }; that is, d I d'. Similarly, it can be shown that d' Id. (See Exercise 33.) Thus, by Theorem 4.3, d = d'; that is, gcd{a, b} = gcd{b, r}. 1
Illustrate Theorem 4.5, using a = 108 and b - 20. SOLUTION: gcd{108, 20} = 4 (verify). When 108 is divided by 20, the remainder is 8. gcd{20, 8} - 4 (verify). Thus, gcd{108, 20} = gcd{20, 8}. 1
Euclidean Algorithm Among several procedures for finding the gcd of two positive integers, one efficient algorithm is the e u c l i d e a n a l g o r i t h m , named after the
Chapter 4 Induction and Algorithms
192
.:
\
~,"~'/ }~!! .. ,
:.:..
~'~ ..... "": .....=~: .
.~
.
9
Little is known about Euclid's life. He taught at the University of Alexandria and founded the Alexandrian School of Mathematics. When the Egyptian ruler King Ptolemy I asked Euclid if there were an easier way to learn geometry than by studying The Elements, he replied, "There is no royal road to geometry." Euclid is called the father of geometry. No work, except for the Bible, has been more widely read, studied, or edited," according to J. E. Lightner of Western Maryland College, Westminister, Maryland. "More than 2000 editions of the work have appeared since the first printed one in 1482; however, no extant copy of The Elements dates from Euclid's own time."
Greek m a t h e m a t i c i a n Euclid (330?-275 B.c.), who included it in his extrao r d i n a r y work The Elements. The algorithm repeatedly applies the division algorithm and T h e o r e m 4.5. Before formally discussing the algorithm, we illustrate it in the next example. ~
Find gcd{ 1976, 1776}. SOLUTION: Apply the division a l g o r i t h m with 1976 (the larger of the two n u m b e r s ) as the dividend and 1776 as the divisor:
1976 = 1. 1776 + 200 Apply the division algorithm again with 1776 and 200, u s i n g 1776 as the dividend and 200 as the divisor: 1776 = 8. 200 + 176 Continue this procedure until a zero r e m a i n d e r is obtained: 1976 = 1. 1776 + 200 1776=8.
200+176
200=1.
176+24
176=7. 24=3.
24+
last nonzero r e m a i n d e r
8
8+0
The last nonzero r e m a i n d e r gcd{1976, 1776} = 8.
in
this
procedure
is the
gcd.
Thus II
Will this m e t h o d work for any two positive integers a and b? If a - b , t h e n g c d { a , b } - a . So assume, for convenience, a > b. (If this is not true,
4.2 Divisibility Properties
193
simply switch them.) Let ro - b. T h e n by successive application of the division algorithm, we get a sequence of equations: a
-
qoro + rl
ro = q l r l
0 <_ r l < ro
-~-r2
0 <_ r2 < r l
r l = q 2 r 2 H- r3
0 <_ r 3 < r2
Continuing like this, we get the following sequence of remainders: b-
ro > r l > r2 > r3 > ... _> 0
Since the remainders are nonnegative and getting smaller and smaller, this sequence m u s t eventually t e r m i n a t e with r e m a i n d e r rn - O. Thus, the last two equations in the above procedure arer n - 2 -- q n - l r n - l
-F rn
0 < rn < r n - 1
and rn-1
-- q n r n
It then follows t h a t gcd{a, b } = gcd{a, r0 } - gcd{r0, rl } - gcd{rl, r2 } . . . . . } - r n , the last nonzero remainder. (This can be established by using mathematical induction; see Exercise 56 in Section 4.4.) gcd{rn-l,rn
~
Apply the euclidean algorithm to find gcd{ 2076, 1024}.
SOLUTION: By the successive application of the division algorithm, we get" 2076 = 2. 1024 + 28 1024=36.
28+16
2 8 = 1.
1 6 + 12
16 = 1.
12 + 4
12=3.
4+0
<
last nonzero r e m a i n d e r
Since the last nonzero r e m a i n d e r is 4, gcd{2076, 1024} = 4. The euclidean algorithm is formally presented in Algorithm 4.2.
Algorithm Euclid(x,y,divisor) (* This algorithm returns gcd{x,y} in divisor, where x>__y>O.*) O. Begin (* algorithm *) i. dividend ~-- x 2. d i v i s o r <-- y
I
Chapter 4 Induction and Algorithms
194
3. 4. 5. 6. 7. 8. 9. I0.
remainder <-- dividend mod d i v i s o r while remainder > 0 do (* update dividend, d i v i s o r , and remainder *) begin (* while *) dividend ~- d i v i s o r d i v i s o r ~- remainder remainder <-- dividend mod d i v i s o r endwhi I e End (* algorithm *) Algorithm 4.2
The euclidean algorithm provides a procedure for expressing the gcd of two positive integers in t e r m s of themselves, as the next example shows.
•
Example 4.7 showed t h a t gcd{2076, 1024} - 4 . Express the gcd in t e r m s of 2076 and 1024. SOLUTION" We use the equations in Example 4.7 in the reverse order: 4-
16- 1.12
-- 1 6 - 1. ( 2 8 - 1 . 1 6 )
- 2. 1 6 - 1 . 2 8 = 2. 1 0 2 4 - 7 2 . 2 8 -
-- ( 1 0 2 4 - 3 6 . 2 8 ) - 1 . 2 8 1.28
- 2. 1 0 2 4 - 7 3 . 2 8
- 2. 1 0 2 4 - 7 3 ( 2 0 7 6 - 2. 1024) - 2- 1 0 2 4 - 73. 2076 + 146. 1024 -- ( - 7 3 ) . 2076 + 148. 1024 (You may verify this by direct computation.)
m
Example 4.8 can be generalized as in the following theorem. We omit its proof. ~
Let a and b be any positive integers, and d - gcd{a, b}. T h e n there exist integers s and t such t h a t d = sa + tb. m
Note: (1) The expression sa + tb is called a l i n e a r c o m b i n a t i o n of a and b. (2) The integers s and t are n o t unique. For example, gcd{28, 12} -- 4
and 4 - 1 . 2 8 + ( - 2 ) . 12 - ( - 2 ) . 28 + 5 . 1 2 . (3) The integers s and t can be found by using the various equations in the euclidean algorithm, or by trial and error especially when a and b are fairly small. T h e o r e m 4.6 can be used to derive other divisibility properties. To this end, we define two positive integers to be r e l a t i v e l y p r i m e if their gcd is 1. For example, 6 and 35 are relatively prime, whereas 12 and 18 are not relatively prime.
4.2 Divisibility Properties [ ~ ~ ~ ~ ~
195
Let a and b be relatively prime numbers. If a ]bc, t h e n a ]c.
PROOF: Since a and b are relatively prime, T h e o r e m 4.6 indicates integers s and t exist such t h a t sa + tb = 1. Then sac + tbc = c. By T h e o r e m 4.4, a i ( s a c ) and a l(tbc). Therefore, by Theorem 4.4, a l ( s a c + tbc); t h a t is, a lc. I The following exercises offer additional divisibility properties to verify; again, consult a n u m b e r theory book.
Exercises 4.2 Determine if each positive integer is a prime. 1. 727
2. 1001
3. 1681
4. 1723
5. Prove or disprove: Every prime is a perfect number. Using the euclidean algorithm, find the gcd of the given integers. 6. 2024, 1024
7. 2076, 1076
8. 2076, 1776
9. 3076, 1976
In Exercises 10-13, express the gcd of the given integers as a linear combination of them. 10. 12, 9
11. 18, 28
12. 12, 29
13. 28, 15
14. Two prime n u m b e r s t h a t differ by 2 are called t w i n p r i m e s . For example, 5 and 7 are twin primes. Prove t h a t one more t h a n the product of two twin primes is a perfect square. (Twin primes played a key role in 1994 in establishing a flaw in the P e n t i u m chip, m a n u f a c t u r e d by Intel Corporation.) Evaluate each sum, where d is a positive integer.
z d
d16
dl12
z
dl18
18. d118
Disprove each statement, where a, b, and c are a r b i t r a r y integers. 19. If a] (b + c ) , then a ]b a n d a l c .
20. I f a ]bc, t h e n a ]b and a ]c.
( E a s t e r S u n d a y ) Here is a second method* for d e t e r m i n i n g Easter Sunday in a given year N. L e t a - N mod 19, b - N d i v l 0 0 , c - N mod 100, d = b div 4, e = b mod 4, f = ( b + 8 ) div 2 5 , g = ( b - f + l ) div 3, h = ( 1 9 a + b-d-g+15) mod30, i=cdiv4, j=c mod4, k=(32+2e+2i-h-j) mod 7, ~ = (a + l l h + 22k) div 451, m = (h + k - 7t~ + 114) div 31, and n = (h + k - 7~ + 114) mod 31. T h e n Easter Sunday falls on the (n + 1)st
*Based on "To Find Easter," Nature (April 20, 1876). For bringing this method to his attention, the author would like to thank Thomas Moore of Bridgewater State College.
196
Chapter 4 Induction and Algorithms
day of the m t h m o n t h of the year. C o m p u t e the date for E a s t e r S u n d a y in each year. 21. 2000
22. 2076
23. 3000
24. 3663
E u l e r ' s p h i - f u n c t i o n ~ is a n o t h e r i m p o r t a n t n u m b e r - t h e o r e t i c function on 1~, defined by ~(n) - n u m b e r of positive integers < n and relatively p r i m e to n. F o r example, ~(1) - 1 - ~(2), ~(3) - 2 - ~(4), and ~(5) - 4. E v a l u a t e ~(n) for each value of n. 25. 10
26.
15
27. 17
28. 24
29. C o m p u t e ~ ~(d) for n - 5, 6, 10, and 12. din 30. U s i n g Exercise 29, predict a f o r m u l a for ~ ~(d). din Let a, b, c, and n be any positive integers and p be any prime. P r o v e each. 31. If a I b and a I c, t h e n a I (b - c). 32. I f a I b, t h e n a i bc. 33. Let r be the r e m a i n d e r w h e n a is divided by b. Let d - gcd{a, b} and d' = gcd{b,r}. T h e n d ' i d . 34. Let a > b. T h e n gcd{a, b } - gcd{a, a - b }. 35. Let a > b. T h e n gcd{ a, b } - gcd{b, a + b }. 36. The gcd of a and b is unique. (Hint: Assume two gcd's d and d'; show t h a t d - d'.) 37. I f p lab, t h e n p l a o r p lb. [Hint: Assume p lab and p]/a. Since pya, gcd{p, a } = 1.] 38. Any two consecutive integers are relatively prime. 39. Let d - gcd{a, b }. T h e n a/d and b/d are relatively prime. 40. gcd {na, nb } - n. gcd {a, b }
41. gcd {gcd {a, b },c } - gcd {a, gcd {b, c } }
42. Let a lc and b lc, where a and b are relatively prime n u m b e r s . T h e n ablc. 43. 2 and 3 are the only two consecutive integers t h a t are primes. 44. 3, 5, and 7 are the only three consecutive odd integers t h a t are primes. 45. I f p and p2 + 8 are primes, t h e n p3 + 4 is also a prime. (D. L. Silverman, 1968) 46. I f p and p + 2 are twin primes, t h e n p m u s t be odd. 47. Suppose p and q are primes such t h a t p - q = 3. T h e n p - 5. 48. Every odd prime is of the form 4n + 1 or 4n + 3.
4.3 NondecimalBases
197
Disprove each statement. 49. If gcd{a, b} - 1 and gcd{b,c} - 1, t h e n gcd{a,c} - 1, where a, b, and c are positive integers. 50. n! + 1 is a prime for every n > 0. 51. E n - P I P 2 " " "Pn 4- 1 is a prime, where Pi denotes the ith prime and i>1. 52. Let n be a positive integer. Prove t h a t (n + 1)! + 2, (n + 1)! + 3 , . . . , (n + 1)! + (n + 1) are n consecutive composite numbers.
In everyday life we use the decimal notation, base ten, to represent any real number. For example, 234 - 2(102) + 3 (101) + 4(10~ which is the d e c i m a l e x p a n s i o n of 234. Likewise, 23.45 - 2( 101 ) + 3( 10 ~ + 4( 10 -1 ) + 5(10-2). Computers use base two ( b i n a r y ) , and very long binary n u m b e r s are often handled by h u m a n s (as opposed to computers) using bases eight (octal) and sixteen ( h e x a d e c i m a l ) . Actually, any positive integer b > 2 is a valid choice for a base. This is a consequence of the following f u n d a m e n t a l result. ~
Let b be a positive integer>_ 2. Then every positive integer a can be expressed uniquely in the form a - akb k + a k - 1 b k - 1 + . . . + a 1b + a0, where ao, a 1 , . . . , ak are nonnegative integers less t h a n b, ak # 0, and k > 0. m This leads us to the following definition.
Base-b Representation The expression a k b k 4- a k - l b k - 1 + . . . + a l b + ao is the b a s e - b e x p a n s i o n of the integer a. Accordingly, we write a = ( a k a k - 1 " " a l a o ) b in base b. The base is omitted when it is 10. For example, 234 = 234ten and 22 = 10110two (see Example 4.9). When the base is greater t h a n 10, to avoid confusion we use the letters A, B, C , . . . to represent the d i g i t s 10, 11, 12, . . . , respectively. It is easy to find the decimal value of an integer from its base-b representation, as the next example illustrates. [ ~ ~ ~ ~ ~
Express 10110two in base 10.
SOLUTION: 10110two - 1(24) + 0(23) + 1(22) + 1(21) + 0(2 ~
<
binary expansion
= 16+0+4+2+0 = 22
m
Chapter 4 Induction and Algorithms
198
Conversely, suppose we are given a decimal integer. How do we e x p r e s s it in a n o t h e r base b? By T h e o r e m 4.8, all we have to do is express it as a s u m of powers of b, t h e n simply collect t h e coefficients in t h e r i g h t order. Always r e m e m b e r to account for m i s s i n g coefficients.
A Brainteaser T a k e a look at the tablets A, B, C, D, a n d E in Figure 4.2. A s s u m i n g you are u n d e r 32 y e a r s old, identify t h e t a b l e t s on which y o u r age a p p e a r s ; we can t h e n easily tell y o u r age. F o r example, if y o u r age a p p e a r s on tablets A, B, C, and E, t h e n you m u s t be 23. Can you explain h o w t h i s puzzle works? A
F i g u r e 4.2
B
C
D
E
8
24
16
24
21
9
25
17
25
26
18
26
1
17
2
18
4
20
3
19
3
19
5
5
21
6
22
6
22
10
7
23
7
23
7
23
11
27
19
27
9
25
10
26
12
28
12
28
20
28
11
27
11
27
13
29
13
29
21
29
13
29
14
30
14
30
14
30
22
30
15
31
15
31
15
31
15
31
23
31
R e t u r n i n g to n o n d e c i m a l r e p r e s e n t a t i o n s , a simple a l g o r i t h m e x p r e s s e s an i n t e g e r a in a n y n o n d e c i m a l base b: divide a, a n d its successive quot i e n t s by b u n t i l a zero q u o t i e n t is reached, t h e n pick t h e r e m a i n d e r s in t h e reverse order. T h e s e steps can be t r a n s l a t e d into t h e e l e g a n t a l g o r i t h m given in A l g o r i t h m 4.3.
Algorithm nondecimal base(n,b) (* This algorithm finds the base-b representation (amam_1...alao) b of a positive integer n. The variables q and r denote the quotient of the remainder of the division algorithm, and i is a subscript. *) Begin (* algorithm *) (* i n i t i a l i z e the variables q, r, and i *) q <-- n; i <-- 0 while q > 0 do begin (* while *) r <- q mod b ai <-- r q <-- q div b
4.3 Nondecimal Bases
199
i <-- i + 1 endwh i I e End (* algorithm
*) Algorithm 4.3
The next example illustrates this algorithm. R e p r e s e n t 15,036 in the hexadecimal system, t h a t is, in base 16. SOLUTION: Applying A l g o r i t h m 4.3 we have: 15036=939.16+ 93958.16+ 58= 3.16+ 30.16+
12 11 1" 10 read up 3
Thus 1 5 , 0 3 6 - 3ABCsixteen.
II
Addition in Base b Before we discuss how to add nondecimal n u m b e r s , let us e x a m i n e t h e familiar addition a l g o r i t h m in base 10. To find the s u m of any two decimal digits a and b, we find the r e m a i n d e r r - (a + b) mod 10 and the q u o t i e n t q - (a + b) div 10. T h e n a + b - ( q r ) t e n ; q is the c a r r y r e s u l t i n g from the addition of a and b. Using this idea we can add any two decimal integers. F o r t u n a t e l y , the addition a l g o r i t h m can be extended to any n o n d e c i m a l base b in an obvious way. For example, let x - ( X m . . . XO)b and y - (Yn 999Y0)b w h e r e m >__ n. If m > n, we could a s s u m e t h a t Yn+l . . . . . Ym -O. We add the c o r r e s p o n d i n g digits in x and y in a right-to-left fashion. Let si - (xi + Y i + c i ) mod b and ci+1 - (xi + Y i + c i ) d i v b , w h e r e c0 - 0 . T h e n X -'F-y -- ( 8 m + l S m . . . SO)b w h e r e Sm+l m a y be 0 or 1. (Leading zeros are deleted from the answer.) These steps t r a n s l a t e into a s t r a i g h t f o r w a r d algorithm, as in Algorithm 4.4.
Algorithm addition (x,y,s,b) (* This algorithm computes the sum s----(Sm_FlSm...So) of two integers X--Xm...x 0 and Y - Y n . . . Y o in base b, where m >__ n. *) Begin (* algorithm *) carry <- 0 (* i n i t i a l i z e carry *) f o r i = O to n do begin (* f o r *) si ~-- (xi -1-yi -I- carry) mod b carry <- ( x i + Y i + c a r r y ) div b
endfor for i----n+l
to m do
Chapter4 Inductionand Algorithms
200
begin (* for *) si <-- (xi +carry) mod b carry +- (xi +carry) div b
endfor i f carry > 0 then Sm+1 ~- carry End (* algorithm *)
Algorithm 4.4
This algorithm is illustrated in the next two examples.
~
Add the binary integers 10110two and 1011two. SOLUTION: First write the integers one below the other in such a way t h a t the corresponding bits are vertically aligned. See Figure 4.3. (For convenience, the base two is not shown.)
F i g u r e 4.3
1
0 1
1 0
1 1
0 1
1
0 1
1 0
1 1
0 1
1
0 1
1 0
1 1
0 1
0
1
@
F i g u r e 4.4
F i g u r e 4.5 +
F i g u r e 4.6 1
0 1
1 0
1 1
0 1
0
0
0
0
1
+ 1
Add the corresponding bits from right to left, beginning with the one's column: 0 + 1 = 1. Since 1 mod 2 = 1, enter 1 as the one's bit in the sum. Since 1 div 2 = 0, the resulting carry is 0, shown circled in Figure 4.4. (In practice when the carry is 0, it is simply ignored.) Now add the bits 0, 1, and 1 in the twos column: 0 + 1 + 1 = 2. Since 2 mod 2 = 0 and 2 div 2 = 1, enter 0 in the twos column and the new carry is 1 (see Figure 4.5). Continuing like this, we get the sum 100001two. See Figure 4.6. n
4.3 NondecimalBases
201
The addition of binary numbers can be made easy by observing that 0 + 0 = 0, 0 + 1 = 1 = 1 + 0, and 1 + 1 = 10, all in base two. Next we illustrate the multiplication algorithm in base b.
Multiplication in Base b The traditional algorithm for multiplying two integers x and y works for any base in an obvious way: multiply every digit in x by every digit in y as in base b and add up the partial products, as in Example 4.12. ~
Multiply 1011two and 101two. SOLUTION: The various steps unfold in Figures 4.7-4.9. The product is 110111two.
Figure 4.7
1
0 1
1 0
1 1
1
0
1
1
1
0 1
1 0
1 0 1
0 0 1
1 0
Figure 4.8
<--- multiply 1011 by 1
1 1 multiply 1011 by 0 multiply 1011 by 1
F i g u r e 4.9 0 0 1
1 0
1
1 0 1
1
0 0
1
1
0
1
1
1
add the partial products
1
Shifting and Binary Multiplication If you found these two examples confusing, don't be discouraged. Fortunately, most computers do binary multiplications using a technique called s h i f t i n g , as discussed below.
202
Chapter4 Inductionand Algorithms m
Consider the binary n u m b e r x = (XmXm-l... XlXO)two -- Y~ Xi2 i. W h a t is i=0
the effect of multiplying x by 2J? Since m
X2] -" E
xi2i+J -- X m . . . X l X 0 ~ t w o ,
i=0
j zeros
every bit in x is shifted to the left b y j columns. More generally, let a be any bit. T h e n m
x(a2/) -- E ( a x i ) 2 i + J i=0
-- ( a X m ) . . . ( a x 0 ) ~ t w o j zeros
The bit axi equals Xi if a = 1 and equals 0 if a = 0. Thus, the effect of multiplying the n u m b e r x = (Xm... x0)two by the bit yj in the multiplicand y = (Yn...YN...Yo)two is the same as multiplying each bit xi by yj and shifting the result to the left b y j columns. T h e n add the partial products to get the desired product, as illustrated below. Evaluate 1011two • 101two. SOLUTION: The various steps are displayed in Figures 4.10-4.13. It follows from Figure 4.13 t h a t the resulting product is 110111two.
F i g u r e 4.10
1
0 1
1 0
1 1
1
0
1
1
1
0 1
1 0
1 1
1 0
0 0
1 0
1
1
0 1
1 0
1 0 1
0 0 1
1 0
x
F i g u r e 4.11
• 0
F i g u r e 4.12
•
1
0 0
~- multiply 1011 by 1; no shifting.
~- multiply 1011 by 0; shift by one column.
1 1
~- multiply 1011 by 1; shift by 2 columns.
4.3 NondecimalBases
203
1
0 1
1 0
1 1
0 0 1
1 0
1
1 0 1
1
0 0
1
1
0
1
1
1
F i g u r e 4.13
add the partial products.
B
The shifting method of multiplication leads to Algorithm 4.5 for multiplying two binary numbers. Algorithm binary multiplication (x, y, p) (* This algorithm computes the product P - (Pm+nPm+n-l...PO)two of the binary numbers x----(XmXm_l...xlxo)tw o and Y--(YnYn-Z...YzYO)two, using shifting. *) Begin (* algorithm *) for j--O to n do begin (* for *) multiply each bit xi by yj s h i f t the resulting binary word to the l e f t by j columns wj ~-- resulting binary word endfor add the partial products wj p <-- resulting sum End (* algorithm *) A] gorithm 4.5
Binary Subtraction We can subtract binary numbers without the bother of "borrows," using one's complement and addition. The o n e ' s c o m p l e m e n t x' of a binary number x is obtained by replacing each 0 in x with a 1 and vice versa. For example, the one's complement of 1011two is 0100two and that of 1001two is 0110two. The two's c o m p l e m e n t of x is x' + 1. For instance, the two's complement of 1011two is 0100two + 1 = 0101two. The next example illustrates this new technique step-by-step before it is justified in a formal discussion. Subtract 1011two from 100001two. SOLUTION: For convenience, we shall drop the base two. S t e p 1 Find the one's complement of the subtrahend 1011. Since the minuend 100001 contains six bits, keep the same number of bits in the subtrahend by padding it with two O's at the beginning. The one's complement of 1011 = 001011 is 110100.
204
Chapter 4 Induction and Algorithms
S t e p 2 Find the two's c o m p l e m e n t by adding i to the one's complement: 110100 + 1 = 110101. Step 3
Add the two's c o m p l e m e n t in step 2 to the m i n u e n d 100001"
+
1 1
0 1
0 0
0 1
0 0
1 1
(~
0
1
0
1
1
0
delete
S t e p 4 Delete the leading carry 1. The r e s u l t i n g n u m b e r 010110 = 10110 is the desired answer. T h u s 100001two - 1011two - 10110two. (To check this, you m a y verify t h a t 1011two+10110two -100001two.) m How can this technique work? To justify the a l g o r i t h m illustrated, first notice t h a t x - y = x + ( - y ) ; t h a t is, s u b t r a c t i n g y from x is equivalent to adding the additive inverse - y o f y to x. This is the basic idea behind the binary s u b t r a c t i o n algorithm. Now how to find - y ? First, a s s u m e t h a t Ilxll - IlYll - n. (If IlYll < Ilxll, pad y with e n o u g h O's at the b e g i n n i n g so the length of the r e s u l t i n g word is n.) Let y' denote the one's c o m p l e m e n t ofy. T h e n y + y' is an n-bit word w containing all l's: n-ln-2
w-il[lll
...II]IL1
I
For example, let y = 10110. T h e n y' - 01001, so y + y' - 11111. The value of the n-bit word w is 2 n - 1 (see Section 4.4). T h u s y + y' = w -- 2 n - 1, s o - - y - y' + 1 - 2 n - - y " - 2 n, where y " = y' + 1 denotes the two's c o m p l e m e n t of y. Therefore, x + ( - y ) - x + y" - 2 n - (x + y") - 2 n. Thus, to s u b t r a c t y from x, it suffices to add y" to x and drop the leading carry 1. This explains why the above s u b t r a c t i o n a l g o r i t h m works. The algorithm for the case Ilxll < Ilyll is complicated, so we omit its discussion here.* We close this section with an i n t r i g u i n g n u m e r i c puzzle t h a t will test y o u r m a s t e r y of b o t h nondecimal addition and subtraction. *For a discussion of negative binary numbers, see A. S. Tanerbaum, Structured Computer
Organization, Prentice Hall, Englewood, NJ, 1976, pp. 420--423.
4.3 Nondecimal Bases
205
A N o n d e c i m a l Puzzle
Write down a three-digit number in base eight. Reverse its digits. Subtract the smaller number from the other (in base eight); save all leading zeros. Reverse its digits. Add the last two numbers. Is your answer 1067eight? Now redo the puzzle in base 12; your answer should be 10ABtwelve. Exercises 4.3
Express each number in base 10. 1. 1101two
2. 11011two
3. 1776eight
4. 1976sixteen
Express each decimal number as required. 5. 1 0 7 6 = (
)two
6. 6 7 6 = (
7. 1776 = (
)eight
8. 2076 = (
)eight )sixteen
The binary representation of an integer can conveniently be used to find its octal representation. Group the bits in threes from right to left and replace each group with the corresponding octal digit. For example, 243 = 11110011two = 011 110 011two = 363eight Using this short cut, rewrite each binary number as an octal integer. 9. ll01two
10. ll011two
11. lll010two
12. 10110101two
The binary representation of an integer can also be used to find its hexadecimal representation. Group the bits in fours from right to left and then replace each group with the equivalent hexadecimal digit. For instance, 243 = 11110011two = 1111 0011two = F3sixteen Using this method express each binary number in base 16. 13. lll01two
14. ll0111two
15. lll0101two
16. 10110101two
The techniques explained in Exercises 9-12 are reversible; that is, the octal and hexadecimal representations of integers can be used to find their binary representations. For example, 345eight = 0 1 1 100 101two--11100101two Using this technique, rewrite each number in base two. 17. 36sixteen
18. 237eight
19. 237sixteen
In Exercises 21-28, perform the indicated operations.
20. 3ADsixteen
206
Chapter 4 Induction and Algorithms
21.
1111two
22.
+ 1011two 25.
ll000two -
100two
1076eight
23.
+ 2076eight 26.
10111two x ll01two
3076sixteen 24. + 5776sixteen
27.
1024eight 28. x 2776eight
101101two -- 10011two 3ABCsixteen x 4CBAsixteen
29. Arrange the binary numbers 1011, 110, 11011, 10110, and 101010 in order of increasing magnitude. 30. Arrange the hexadecimal numbers 1076, 3056, 3CAB, 5ABC, and CACB in order of increasing magnitude. 31. What can you say about the ones bit in the binary representation of an "even integer? An odd integer? Find the value of the base b in each case. 32. 5 4 b = 6 4
33. 1 0 0 1 b = 9
34. 1001b= 126
35. 1 4 4 b = 4 9
36. Suppose a space investigative team to Venus sends back the picture of an addition problem scratched on a wall, as shown in Figure 4.14. The Venusian numeration system is a place value system, just like ours. The base of the system is the same as the number of fingers on a Venusian hand. Determine the base of the Venusian numeration system. (This puzzle is due to H. L. Nelson.**) F i g u r e 4.14
The sum in "Venusian" notation.
\/ \/
Define recursively each set S of binary words. 37. Set of binary words that represent even positive integers. 38. Set of binary words that represent odd positive integers. **M.Gardner, "Mathematical Games," ScientificAmerican, Vol. 219, Sept. 1968, pp. 218-230.
4.4
Mathematical Induction
207
39. Set of binary words t h a t r e p r e s e n t positive integers with no leading zeros. 40. Set of palindromic binary words. Polynomials can be evaluated efficiently using the technique of n e s t e d m u l t i p l i c a t i o n , called H o r n e r ' s m e t h o d . [This m e t h o d is n a m e d after the English schoolmaster, William G. H o r n e r (1786-1837), who published it in 1819.] For instance, the polynomial f ( x ) - 4 x 3 + 5 x 2 + 6 x + 7 can be evaluated as f ( x ) = ((4x + 5)x + 6)x + 7. Using this method, express each integer as a decimal integer. 41. 245eight
42. 101101two
43. ll00101two
44. 43BCsixteen
*45. Let x be a three-digit hexadecimal n u m b e r with distinct digits. Reverse the digits. S u b t r a c t the smaller n u m b e r from the other number (save all the digits in your answer). Reverse the digits in the difference. Add this n u m b e r to x. Find the sum.
The principle of m a t h e m a t i c a l induction* (PMI) is a frequently used proof technique in both m a t h e m a t i c s and computer science, as will be seen shortly. Many interesting results in m a t h e m a t i c s hold t r u e for all positive integers. For example, the following s t a t e m e n t s are t r u e for every positive integer n, where x, y, and xi are any positive real numbers: " (x . y ) n
_ x n .yn
n
9 log(xi...
Xn) -
~
logx i
i=1 n
9 ~
i=1
i-
n(n+i)
2
n-1 * ~-~r i -
i=o
-
-
r"-i (r#l) 7--i-
How do we prove t h a t these results hold for every positive integer n? Obviously, it is impossible to substitute each positive integer for n and verify t h a t the formula holds. The principle of induction can establish the validity of such formulas. To begin with, suppose the orange cans in a collection can be a r r a n g e d as in Figure 4.15. Row 1 contains one can, row 2 contains two c a n s , . . . , row n contains n cans. Can you predict a formula for the total n u m b e r of cans in the collection? See Example 4.15 for a formula. tAlthough the Venetian scientist Francesco Maurocylus (1491-1575) applied it in proofs in a book he wrote in 1575, the term mathematical induction was coined by De Morgan.
208
Chapter 4 Induction and Algorithms
F i g u r e 4.15
oooo% 000-
9
9
000
The next result is the cornerstone of the principle of induction. Its proof, as we shall see shortly, follows by the well-ordering principle in Section 4.1. ~ [ ~ ~ ~
Let S be a subset of N satisfying the following properties: (1) 1 E S . (2) If k is an arbitrary positive integer in S , then k + 1 E S. T h e n S = N. P R O O F (by contradiction): Suppose S r N. Let S ' - n E N O n r S. Since S' ~: 0, by the well-ordering principle, S' contains a least element 6'. Then 6' > 1 by condition 1. Since t~' is the least element in S', 6 ' - 1 r S'; so t~'- 1 E S. Consequently, by condition 2, (t~' - 1) + 1 - t~' e S. This contradiction establishes the theorem, i This theorem can be generalized as in Theorem 4.10. We leave its proof as an exercise. Let no be a fixed integer. Let S be a subset of Z satisfying the following conditions" 9 noeS.
9 If k is an arbitrary integer >_ no such that k E S, then k + 1 E S. Then S ~_ {n E Z ln > n0}.
i
Weak Version of Induction
Before we formalize the principle of induction, let's look at a trivial example. Consider an infinite n u m b e r of dominoes arranged in a row (see Figure 4.16a). Suppose we knock down the first domino. W h a t happens to the rest of the dominoes? Do they all fall? Not necessarily; see Figures 4.16b and c. So let's further assume the following: If the kth domino is knocked down, then the (k + 1)st domino also falls down. If we topple the first domino, what would happen to the rest? They all would fall; see Figure 4.16d. This illustration can be expressed in symbols. Let P(n) denote the predicate t h a t the n t h domino falls. (Note: UD = N.) Assume the following propositions are true" 9 P(1).
9 P(k) ~ P(k + 1) for every positive integer k.
4.4 MathematicalInduction
209
F i g u r e 4.16
a
b
c
d
Then P(n) is true for every positive integer n; t h a t is, every domino would fall. This leads us to the w e a k v e r s i o n of the principle. ( T h e P r i n c i p l e o f M a t h e m a t i c a l I n d u c t i o n ) Let P(n) be a predicate satisfying the following conditions, where n is an integer: (1) P(n0) is true for some integer no. (2) If P(k) is true for an arbitrary integer k >__ no, then P(k + 1) is also true. Then P(n) is true for every integer n >_ no.
PROOF: Let S denote the set of integers >_ no for which P(n) is true. Since P(n0) is true, no e S. By condition 2, whenever k e S, k + 1 ~ S. Therefore, by Theorem 4.10, S consists of all integers >__no. Consequently, P(n) is true for every integer n >_no. This establishes the validity of the principle, m Condition 1 assumes the proposition P(n) is true when n = no. Look at condition 2: If P(n) is true for an arbitrary integer k >__no, it is also true for n = k + 1. Then, by the repeated applications of condition 2 and the law of detachment, it follows t h a t P(n0 + 1), P(n0 + 2), ... all hold true. In other words, P(n) holds for every n >_no. Proving a result by PMI involves two key steps: 1. B a s i s s t e p Verify t h a t P(n0) is true. 2. I n d u c t i o n step Assume P(k) is true for an arbitrary integer k > no ( i n d u c t i v e h y p o t h e s i s ) . Then verify t h a t P(k + 1) is also true.
210
Chapter 4
Induction and Algorithms
A word of caution: A question frequently asked is, "Isn't this cyclic reasoning? Are you not assuming what you are asked to prove?" The confusion stems from misinterpreting step 2 for the conclusion. The induction step involves showing that the implication P(k) --* P(k + 1) is a tautology; that is, if P(k) is true, then so is P(k + 1). The conclusion is "P(n) is true for every n > no." So be careful. A variety of interesting examples will show how useful this i m p o r t a n t proof technique is. The next example gives a nice formula for computing the total n u m b e r of cans in the collection in Figure 4.15. Using PMI, prove that, for every positive integer n,
n(n + 1)
1+2+3+--.+nP R O O F (by i n d u c t i o n ) : n n ( n + 1) Let P(n)" ~ i - ~ . i=l 2
To verify that P(1) is true (Note" Here no - 1)"
Basis step
1
Whenn-1
'
RHS-
1 (21 + 1-)- _ 1 _ ~ i - L H S ; s o
P(1) is true.
i=l
I n d u c t i o n s t e p Let k be an arbitrary positive integer. We would like to show that P(k) --, P(k + 1)" Assume P(k) is true; that is,
k
k(k + 1) 2
i-
<
inductive hypothesis
i=l
To establish that P(k) ~ P(k + 1) is true, that is,
Ei-
(k + 1)(k + 2) 2
we start with the LHS of this equation: k+l
LHS-
Ei i-1
k
- ~-~i + (k + I) i=1
k(k + 1)
+ (k + 1),
(k + 1)(k + 2) = RHS
()
E i=1
Xi
- ote + Xi
i=1
by the inductive hypothesis
Xk + 1
4.4
211
Mathematical Induction
Thus, if P(k) is true, t h e n P(k + 1) is also true. Therefore, by PMI, P(n) is t r u e for every n >_ 1; t h a t is, the f o r m u l a holds for every positive integer n. m F i g u r e 4.17 provides a geometric proof of this f o r m u l a w i t h o u t words. Figure
4.17
S
+
=
S 9",
S
--
n(n+l) n(n+l) 2
The next example, again an application of induction, employs a divisibility property, so we follow it in some detail. Prove t h a t 2n 3 + 3n 2 + n is divisible by 6 for every integer n > 1. P R O O F (by PMI): Let P(n): 2n 3 § 3n 2 § n is divisible by 6. Basis
step
When
n - 1,
2n 3 + 3n 2 + n - 2 ( 1 ) + 3(1) + 1 - 6
is clearly
divisible by 6. Therefore, P(1) is true. step Assume P(k) is true, t h a t is, 2 k 3 + 3 k 2 + k is divisible by 6 for any k > 1. T h e n 2 k 3 + 3 k 2 + k - 6 m for some integer m (inductive hypothesis). We m u s t show t h a t P(k + 1) is true; t h a t is, 2(k + 1)3 + 3(k + 1)2 + (k + 1) is divisible by 6. Notice t h a t
Induction
2(k + 1) 3 + 3(k + 1)2 + (k + 1) = 2(k 3 + 3k 2 + 3k + 1) + 3(k 2 + 2k + 1) + (k + 1) = (2k 3 + 3k 2 + k) + 6(k 2 + 2k + 1) = 6m + 6(k 2 + 2k + 1)
by the inductive hypothesis
= 6(m + k 2 + 2k + 1), which is clearly divisible by 6. T h u s P(k + 1) is true. Thus, by induction, the given s t a t e m e n t is t r u e for every n >_ 1.
m
Notice t h a t in the above examples, n o - 1, b u t it need not always be 1, as the next example shows.
Chapter4 Inductionand Algorithms
212
J a c o b L B e r n o u l l i (1654-1705), a member of the most distinguished family of mathematicans (see the family tree in Section 9.1), was born in Basel, Switzerland. His grandfather, a pharmacist in Amsterdam, had become a Swiss through marriage, and his father was a town councilor and a magistrate. Bernoulli received his M.A. in philosophy in 1671 and a theological degree 5years later. During this time, he studied mathematics and astronomy against his father's will. He spent the next 2 years tutoring in Geneva. In 1687 he became professor of mathematics at the University of Basel, .... 9 :,: remaining there until his death. His brother Johann succeeded him at ~" .."" ,,';S" " .~ "'~:::'-'7~ :S'' Basel. In May 1690 he used the term integral in the calculus sense known today. Bernoulli's most famous work, Ars Conjectandi, was published posthumously in 1713. It contains significant contributions to probability theory, the theory of series, and gravitational theory. .. ::'::,:...,-,,
( B e r n o u l l i ' s I n e q u a l i t y ) Let x be a n y real n u m b e r g r e a t e r t h a n - 1 . Prove t h a t (1 + x) n > 1 + nx for every n > 0. P R O O F (by PMI)" Let x be any real n u m b e r > - 1 . Let P(n)" ( l § n >__ l + n x . (Note" The induction is on the discrete variable n and not on the " c o n t i n u o u s " variable x.)
Basis step
To verify t h a t P(0) is true: Notice t h a t (1 + x) ~ - 1 > l+0x
So P(0) is true. (Note" H e r e no - 0.)
I n d u c t i o n s t e p A s s u m e P(k) is true; t h a t is, (1 + x ) k > 1 + kx for an arbitrary integer k > 0. We need to show t h a t P(k + 1) is true; t h a t is, (1 + x ) k+l > 1 + (k + 1)x. By the inductive hypothesis, we have (1 + x) k > 1 + kx. T h e n (1 + x) k+l - (1 + x)(1 + x) k, >_ (1 + x)(1 + kx),
by IH a n d since 1 + x > 0
= 1 + (k + 1)x + k x 2
> 1 + (k + 1)x,
since kx 2 > 0
Therefore, P(k + 1) is also true. Thus, by PMI, (1 + X ) n >_ 1 + nx for every n >_ 0.
m
T h e next e x a m p l e inductively establishes T h e o r e m 2.3 from C h a p t e r 2.
4.4 Mathematical Induction
~
213
A finite set A with n elements has exactly 2 n subsets. PROOF
(by PMI)"
B a s i s s t e p When n = 0, A = r so A has exactly 1 = 20 subset. T h u s the result is t r u e when n - 0. I n d u c t i o n s t e p Assume any finite set with k elements has 2 k subsets, where k > 0. Let A be a set with k + 1 elements. We would like to show t h a t A has 2 k+l subsets. To this end, let x e A. Let B - A - {x}. Since IB ] - k, B has 2 k subsets by the inductive hypothesis. Each of the subsets of B is a subset of A. Now add x to each of them. The resulting 2 k sets are also subsets of A. Since every subset of A either contains x or does not contain x, by the addition principle, A has 2 k + 2 k - 2 k+l subsets. Thus, by the principle of induction, the result holds for every finite set. i Both the basis and the induction steps are essential in the principle of induction, as the next two examples illustrate.
Let g(n) denote the m a x i m u m n u m b e r of nonoverlapping regions formed inside a circle by joining n distinct points on it. Figures 4.18-4.22 show the cases n - 1, 2, 3, 4, and 5, where the various regions are n u m b e r e d 1, 2, 3, etc. The results are s u m m a r i z e d in Table 4.1. F i g u r e 4.18
Figure 4.19
214
Chapter 4 Inductionand Algorithms
F i g u r e 4.20
F i g u r e 4.21
l F i g u r e 4.22
1 F i g u r e 4.23
/ It appears from the table t h a t g ( n ) - 2 n-1. T h e n g(1) = 20 - 1, which is true (basis step). Nonetheless, this does not g u a r a n t e e t h a t g ( n ) - 2 n-1 for every n >_ 1. If the formula were true, there would be g(6) - 25 - 32 nonoverlapping regions with six points. Unfortunately, there are only 31 such regions (see Figure 4.23) We shall derive the correct formula in Chapter 6.
4.4
Table
4.1
215
Mathematical Induction
Number of points n
1
2
3
4
5
6
Maximum number of nonoverlapping regions g(n)
1
2
4
8
16
?
We can conclude t h a t t h e t r u t h f u l n e s s of t h e basis step a n d an a p p a r e n t p a t t e r n do n o t e n s u r e t h a t P(n) is t r u e for every n. m The following example shows t h a t t h e validity of t h e i n d u c t i o n step is necessary, b u t not sufficient, to g u a r a n t e e t h a t P(n) is t r u e for all i n t e g e r s in the UD. Consider the " f o r m u l a " P(n) 9 1 + 3 + 5 + . . . + (2n - 1) - n 2 + 1. Suppose k P(k) is true: ~ (2i - 1) - k 2 + 1. Then: i=l
k+l ~-~(2i- 1)-
k ~--~(2i- 1 ) + (2k + 1)
i=l
i=l
= (k 2 + 1) + (2k + 1) -- (k + 1) 2 + 1 So if P(k) is true, P(k + 1) is true. Nevertheless, the f o r m u l a does not hold for a n y positive integer n. Try P(1) (see Exercise 5). m U s i n g induction, t h e next e x a m p l e "proves" t h a t every person is of t h e s a m e sex. " P r o v e " t h a t every person in a set of n people is of the s a m e sex. "PROOF"" Let P(n): E v e r y o n e in a set of n people is of t h e s a m e sex. Clearly, P(1) is true. Let k be a positive i n t e g e r such t h a t P(k) is true; t h a t is, everyone in a set of k people is of t h e s a m e sex. To show t h a t P(k + 1) is true, consider a set A - { a l , a 2 , . . . , a k + l } of k + 1 people. P a r t i t i o n A into two overlapping sets, B - { a l , a 2 , . . . , a k } a n d C - { a 2 , . . . , a k + l } , as in F i g u r e 4.24. Since I B I - k - I CI, by the inductive hypothesis, everyone in B is of the s a m e sex and everyone in C is of the s a m e sex. Since B a n d C overlap, everyone in B U C m u s t be of t h e s a m e sex; t h a t is, everyone in A is of the s a m e sex. Thus, by PMI, P(n) is t r u e for every n > 1. This concludes the "proof." m
N o t e : T h e a s s e r t i o n t h a t everyone is of t h e s a m e sex is clearly false.
Can you find t h e flaw in t h e "proof"? See Exercise 46.
Chapter4 Inductionand Algorithms
216 Figure 4.24
Before discussing the second version of the principle of induction, we will look at a few applications of the formula in Example 4.15. First a definition.
Polygonal Number A polygonal n u m b e r is a positive integer n that can be represented by n dots in a polygonal array in a systematic fashion. For example, the integers 1, 3, 6, 10, ... are t r i a n g u l a r n u m b e r s since they can be represented by triangular arrays, as shown in Figure 4.25; the number of pins in a bowling alley and that of balls in the game of pool are triangular numbers. Let t,z denote the nth triangular number. Then t~ = 1 + 2 + 3 + . . . + n =
n ( n + 1)
Figure 4.25
tl=l
t2=3
t3=6
Triangular numbers manifest delightful properties.
t4=lO For example,
tn + t n - 1 -- n2; Figures 4.26 and 4.27 provide a nonverbal, geometric proof
of this result. See Exercises 47-50.
Figure 4.26
\
\
\
\
\
4.4 Mathematical Induction
217
F i g u r e 4.27
The next example is a n o t h e r application of the formula in Example 4.15 and the generalized pigeonhole principle. Let a l , a 2 , . . ~ be the first n positive integers in some order. Suppose they are a r r a n g e d a r o u n d a circle (see Figure 4.28). Let k be any positive integer < n. Prove t h a t there exists a set of k consecutive elements in the a r r a n g e m e n t with a sum [ [ k n ( n + 1) - 2]/2nJ, where [xJ denotes the floor ofx. F i g u r e 4.28
a.~ a2 an
PROOF: Consider the following sums: S1 - a l
+a2
+ ...
$ 2 - a2 + a3 + . . .
+ak + ak+l
S n - a n + a l + "'" + a k - 1
Each of the first n positive integers appears k times in this set of sums. Then n
ESi
i=1
-k
ai
i=1
-k
i
-
, by Example 4.15
218
Chapter4 Inductionand Algorithms Consider kn(n + 1)/2 pigeons. We would like to distribute t h e m among n pigeonholes, called $ 1 , $ 2 , . . . ,Sn. By the generalized pigeonhole principle, at least one of the pigeonholes Si m u s t contain more t h a n Lkn(n § 1)/2n - 1/nJ = L[kn(n § 1 - 2)]/2nJ pigeons. In other words, si > Lkn(n § 1) - 2/2n J, as desired, m In particular, if n u m b e r s 1 t h r o u g h 10 are r a n d o m l y placed a r o u n d a circle, at least three consecutive integers in the a r r a n g e m e n t m u s t have a sum exceeding L [ 3 . 1 0 . 1 1 - 2]/(2.10)J = 16. We now discuss the strong version of the principle of induction.
Strong Version of Induction Sometimes the t r u t h of P(k) might not be enough to establish t h a t of P(k § 1). In other words, the t r u t h f u l n e s s of P(k + 1) may require more t h a n t h a t of P(k). In such cases, we have to assume a s t r o n g e r inductive hypothesis t h a t P(n0), P(no + 1), ... , P(k) are all true; t h e n verify t h a t P(k § 1) is also true. This strong version, which can be proved using the weak version (see Exercise 57), is stated as follows. ( T h e S e c o n d Principle of M a t h e m a t i c a l Induction) Let P(n) be a predicate satisfying the following conditions, where n is any integer: 9 P(n0) is true for some integer no. 9 If k is an arbitrary integer > no such t h a t P(n0) A P(n0 + 1) A . . . A P(k) is true, then P(k + 1) is also true. Then P(n) is true for every n > no. The next theorem illustrates this proof technique,
m
( T h e F u n d a m e n t a l T h e o r e m o f A r i t h m e t i c ) Every positive integer n >_2 either is a prime or can be written as a product of primes. P R O O F ( b y strong induction): Let P(n) denote the given predicate.
Basis s t e p
Choose n o - 2. Since 2 is itself a prime, P(2) is true.
Inductive step Let k be a positive integer > 2 such t h a t P(2), P(3), . . . , P(k) are true; t h a t is, assume t h a t integers 2 t h r o u g h k are primes or can be written as products of primes. We would like to show t h a t P(k + 1) is also true; t h a t is, integer k + 1 is a prime or can be expressed as a product of primes. If k + 1 is itself a prime, t h e n we are done. If k + 1 is not a prime, it m u s t be the product of two positive integers x and y, where 1 < x , y < k + 1. By the inductive hypothesis, both x and y are primes or products of primes. Therefore, k + 1 - x • is also a product of two or more prime numbers. In other words, P(k + 1) also holds: Thus, by the strong version of induction, P(n) is true for every n > 2. m
4.4 Mathematical Induction
219
We now present an interesting application of the f u n d a m e n t a l t h e o r e m of arithmetic, which is the cornerstone of n u m b e r theory, and the floor function. Find the n u m b e r of trailing zeros in 123! SOLUTION: By the f u n d a m e n t a l t h e o r e m of arithmetic, 123! can be factored as 2a5bc, where c denotes the product of primes other t h a n 2 and 5. Clearly a > b. Each trailing zero in 123! corresponds to a factor of 10 and vice versa. .'. N u m b e r of trailing zeros
_ f N u m b e r of products of the form~ \ 2 . 5 in the prime factorization ] - m i n i m u m of a and b -b,
sincea>b
We proceed to find b" N u m b e r of positive integers < 123 and divisible by 5 - [123/5J - 24 Each of t h e m contributes a 5 to the prime factorization of 123! N u m b e r of positive integers < 123 and divisible by 25 - [123/25J - 4 (See Figure 4.29.) Each of t h e m contributes an additional 5 to the prime factorization. Since no higher power of 5 contributes a 5 in the prime factorization of 123!, the total n u m b e r of 5's in the prime factorization equals 24 + 4 = 28. Thus the total n u m b e r of trailing zeros in 123! is 28. Figure 4.29
each contributes a 5
123!= 1 2 3 . . . 1 2 0 . . . 1 1 5 . . . 1 0 0 . . . 9 5 . . . 7 5 . . . 5 0 . . . 2 5 . . . 1 0 . . . 5 . . . 1
each contributes an additional 5 m
The next example is a n o t h e r interesting application of the floor function. It employs the following facts from n u m b e r theory: 9 Every positive integer that is not a square has an even n u m b e r ofpositive factors. For example, 18 has six positive factors: 1, 2, 3, 6, 9, 18; 21 has four: 1, 3, 7, 21; 19 has two: 1, 19. 9 Every perfect square has an odd n u m b e r of positive factors. For example, 25 has three positive factors, namely, 1, 5, and 25; 64 has seven: 1, 2, 4, 8, 16, 32, and 64.
220
Chapter 4
Induction
and
Algorithms
9 T h e r e a r e [~/-nJ p e r f e c t s q u a r e s <_ n.
9 For example, t h e r e are [ J ~ J = 5 perfect s q u a r e s n o t exceeding 27 9 1, 4, 9, 16, 25; t h e r e are [ j ~ J = 8 perfect s q u a r e s < 68 9 1, 4, 9, 16, 25, 36, 49, 64. T h e r e are 1000 rooms in a hotel a n d every r o o m is occupied by a guest. T h e first guest opens the door to every room. T h e n t h guest closes every n t h door if it is open and opens it otherwise, w h e r e 2 < n < 1000. H o w m a n y doors will be open at t h e end?* SOLUTION: Before applying these r e s u l t s to solve the puzzle, let us s t u d y a m i n i - v e r s i o n with 10 t e n a n t s and 10 a p a r t m e n t s . The first t e n a n t opens all 10 doors; t h e second t e n a n t closes the 2nd, 4th, 6th, 8th, a n d 10th doors; t h e t h i r d closes the 3rd door, opens the 6th door, and closes t h e 9th door; t h e f o u r t h t e n a n t opens the 4th and 8th doors. C o n t i n u i n g like this, t h e 10th t e n a n t closes the 10th door. These d a t a are s u m m a r i z e d in Table 4.2, w h e r e O indicates the door is open and C indicates the door is closed. Table
4.2
Door Tenant
1 2 3 4 5 6 7 8 9 10
1
2
3
4
5
6
7
8
9
10
O
O
O
O
O
O
O
O
O
O
9
C
C
.
C
C
.
C
9
.
.
9
.
.
.
.
.
C
.
O
.
.
C
.
.
.
O
.
C
.
O
.
. .
.
.
.
.
.
.
.
.
.
.
.
.
. .
.
C .
.
. o C
. .
. .
. o
~
o
~
O .
.
.
O
.
. .
.
.
C .
. .
. .
. .
.
.
o C
It follows from the table t h a t doors 1, 4, a n d 9 r e m a i n open at t h e end, so the n u m b e r of such doors is three. (Notice t h a t 3 - [x/~-6J ; so can you predict t h e a n s w e r to t h e given problem? C o n s t r u c t tables like Table 4.2 for 13 t e n a n t s and 13 a p a r t m e n t s , 18 t e n a n t s and 18 a p a r t m e n t s , a n d 25 t e n a n t s a n d 25 a p a r t m e n t s , a n d look for a p a t t e r n . ) Let us now r e t u r n to the original problem. The first t e n a n t opens all doors. Consider the k t h t e n a n t , w h e r e 2 < k _< 1000. C a s e 1 Let n be a perfect square, w h e r e n 2 < 1000. Since n has an odd n u m b e r of positive factors, the last person to touch the door will open it. T h u s every n t h door will r e m a i n open if n is a perfect square. T h e n u m b e r *Based on M. vos Savant, Ask Marilyn, St. Martin Press, New York, 1992, p. 228.
4.4 Mathematical Induction
221
of such doors equals t h e n u m b e r of perfect s q u a r e s < 1000, n a m e l y , L~/IOOOJ - 31.
C a s e 2 Suppose n is not a perfect square, w h e r e n 2 _< 1000. Since n has an even n u m b e r of positive factors, t h e last person to t o u c h t h e door will close it. In o t h e r words, every n t h door will r e m a i n closed if n is not a perfect square. Thus, by the addition principle, 31 + 0 - 31 doors will r e m a i n open. T h e y are doors n u m b e r e d 1, 4, 9, 16, 2 5 , . . . , 900, a n d 961. I1 More generally, suppose t h e r e are m t e n a n t s a n d m a p a r t m e n t s , a n d t h e first t e n a n t opens all doors. T h e j t h t e n a n t closes e v e r y j t h door if it is open, a n d opens it otherwise, w h e r e 2 < j < m. How m a n y doors will r e m a i n open at the end?
Exercises 4.4 1. C o m p u t e the 36th t r i a n g u l a r n u m b e r . number.)
(It is t h e so-called beas tly
2. Prove t h a t t h e s u m of two consecutive t r i a n g u l a r n u m b e r s is a perfect square.
( T w e l v e D a y s o f C h r i s t m a s ) Suppose you sent y o u r love 1 gift on t h e first day of C h r i s t m a s , 1 + 2 gifts on the second day, 1 + 2 + 3 gifts on t h e t h i r d day a n d so on. 3. How m a n y gifts did you send on the 12th day of C h r i s t m a s ? 4. How m a n y gifts did y o u r love receive in the 12 days of C h r i s t m a s ? U s i n g PMI, prove each for every i n t e g e r n > 1. n
5. ~ ( 2 i - 1 ) = n i=1
2
n [ (n+l)~ 2 7. ~_~i3 - ~ i=1 2 9. n 2 + n is divisible by 2.
n
6. ~-~i2= i=1
(n + 1)(2n + 1)
n 8. ~-~ a r i - l = i=1
6 a(rn_l) r-
(r#
1)
1
10. n 4 + 2n 3 + n 2 is divisible by 4.
11. The n u m b e r of lines formed by joining n (> 2) distinct points in a plane, no t h r e e of which being collinear, is n ( n - 1)/2. 12. T h e n u m b e r of diagonals of a convex n-gon* is n ( n - 1)/2 > 3. 13. Let a be a positive integer a n d p a p r i m e n u m b e r such t h a t p [a n. T h e n p [ a , w h e r e n > 1. (Hint: Use Exercise 37 in Section 4.2.) *An n-gon is a polygon with n sides. An n-gon such that the line segment joining any two points inside it lies within it is a convex polygon.
222
Chapter4 Inductionand Algorithms 14. P r o v e t h a t 1 + 2 + . . . + n - n ( n + 1)/2 by c o n s i d e r i n g t h e s u m in t h e r e v e r s e order.* (Do n o t u s e i n d u c t i o n . ) Evaluate each sum. 30 50 15. ~ (3k 2 - 1) 16. ~ (k 3 + 2) k=l k=l
n
n
17. ~ Li/2]
18. ~ [i/21
i=l
i=l
F i n d t h e v a l u e of x r e s u l t i n g f r o m e x e c u t i n g e a c h a l g o r i t h m f r a g m e n t .
19.
x ~-0
20.
i=l
for
x +- x +
21.
x ~-0
t o n do (2i
for
-
1)
i=l
t o n do
x <-- x +
i(i
+
1)
x~O for
i=l
for
t o n do
j=l
to
i do
x ~-x+l
Evaluate each sum and product. n
22. ~
i
~i
n
i=1 j = l
~j
I-[ 22i i=l
n
24.
i=1 j = l
?l
26.
i
23. ~
~
n
rl
~ i2 i=l
28.
i
25. ~
i=1 j = l
tl
27.
i
~j2
}-]~(2j--1)
i=1 .j=l tl
ll
I1 ]7 iJ i=l j = l
29.
rl
[-I 1-I 2i+J i=l j = l
30. A m a g i c s q u a r e
of o r d e r n is a s q u a r e a r r a n g e m e n t of t h e p o s i t i v e i n t e g e r s 1 t h r o u g h n 2 s u c h t h a t t h e s u m of t h e i n t e g e r s a l o n g e a c h row, c o l u m n , a n d d i a g o n a l is a c o n s t a n t k, called t h e m a g i c c o n s t a n t . F i g u r e 4.30 s h o w s t w o m a g i c s q u a r e s , o n e of o r d e r 3 a n d t h e o t h e r of o r d e r 4. P r o v e t h a t t h e m a g i c c o n s t a n t of a m a g i c s q u a r e of o r d e r n is n ( n 2 § 1)/2.
F i g u r e 4.30
8 1 6 357 4 9 2
1 14 15 4 12769 8+1110 5
k-15
13 2 3 16 k-34
*An interesting anecdote is told about Karl Frederich Gauss (1777-1855), one of the great mathematicians. When he was a child, his teacher asked his pupils to compute the sum of the first 100 positive integers. According to the story, the teacher did so to get some time to grade his papers. To the teacher's dismay, Gauss found the answer in a few moments by pairing the numbers from both ends: 1 + 2 + 3+ . . . + 50+ 51 + . . . + 98+ 99+ 100
h L
'--'
I
The sum of each pair is 101 and there are 50 pairs. So the total sum is 50 9101 = 5050.
4.4
Mathematical Induction
223
Let p, q, a n d r be p r i m e n u m b e r s , a n d i,j, a n d k whole n u m b e r s . F i n d t h e s u m of the positive divisors of each.
3 1. pi
32. piqj
33. piqJr k
34. Let p be a p r i m e a n d n e N. Prove t h a t pn is not a perfect n u m b e r . (Hint: Prove by contradiction.) F i n d t h e n u m b e r of t i m e s the s t a t e m e n t x <-- x + 1 is executed by each loop. 35.
f o r i = 1 t o n do for j=l t o i do x ~ x + l
36.
f o r i = 1 t o n do f o r j = 1 t o i do f o r k = 1 t o i do x~-x+l
37.
f o r i = 1 t o n do f o r j = 1 t o i do f o r k = 1 t o j do x~-x+l
38.
for i=1 t o n do f o r j = 1 t o i do for k1 t o i do f o r 1 = 1 to i do x ~--x+ 1
According to legend, King S h i r h a m of India was so pleased w i t h the invention of chess t h a t he offered to r e w a r d its i n v e n t o r Sissa Ben D a h i r w i t h a n y t h i n g he wished. His r e q u e s t was a seemingly m o d e s t one: one g r a i n of w h e a t on the first s q u a r e of a chessboard, two on t h e second, four on the third, and so on. The king was delighted with this simple r e q u e s t , b u t soon realized he could not fulfill it. T h e last s q u a r e alone would t a k e 263 - 9,223,372,036,854,775,808 grains of wheat. F i n d each for an n x n chessboard. 39. The n u m b e r of grains on the last square. 40. The total n u m b e r of grains on the chessboard. 41. Let an denote the n u m b e r of t i m e s t h e s t a t e m e n t x ~ x + 1 is e x e c u t e d in the following loop: f o r i = 1 t o n do for j = i to Li/2]
do
x+-x+l
Show t h a t n2 ~-
an --
n 2- 1 4
if n is even if n is odd
F i n d the n u m b e r of t r a i l i n g zeros in the decimal value of each. 42. 100!
43. 378!
44. 500!
45. 1000!
Chapter 4
224
Induction and Algorithms
46. Find the flaw in the "proof" in Example 4.21. Prove each, where tn denotes the nth triangular number and n > 2. 47. 8tn + 1 - - ( 2 n + 1) 2 2
4 9 . tn_ 1 -+-
t2
--
tn 2
48.
St n_ 1 ~- 4n = (2n)2
50.
~-~ti-i=1
n
n(n + 1)(n + 2) 6
Let A, A1, A 2 , . . . , An, B1, B 2 , . . . , Bn be any sets, and pl, p 2 , . . . , Pn, q, ql, q 2 , . . . , qn be any propositions. Using induction prove each. "51. A U *53,
( 5 ) Bi i=1
~(plAp2
n - ~ (A U Bi) i=1 A...
"54, ~ (/91 v p 2 v . . .
n n *52. A ~ (tABi) - ~ (A N Bi) i=1 i=1 (~p2) v . . .
v (~pn)
Vpn)=--('~191) A ( ~ P 2 ) A . . .
A (~pn)
Apn)--(~pl)v
*55. Prove that any postage of n (>_ 2) cents can be made using two- and three-cent stamps. (Hint: Use the division algorithm and induction.) *56. Let a and b be any two positive integers with a>__b. Using the sequence of equations in the euclidean algorithm prove t h a t god {a, b } - god {r~_ 1, rn }, n >_ 1. *57. Prove the strong version of mathematical induction, using the weak version. *58. Prove the weak version of induction, principle.
using the well-ordering
**59. Let Sn denote the sum of the elements in the nth set of the sequence of sets of squares { 1 }, {4, 9 }, { 16, 25, 36 }, . . . . Find a formula for Sn. (J. M. Howell, 1989) **60. Redo Exercise 59 using the sequence of triangular numbers {1}, {3,6}, {10,15,21}, . . . . (J.M. Howell, 1988)
Suppose we wrote an algorithm to solve a problem and translated the algorithm into a computer program. Since it is impossible to test the program for all sets of input values, we rely on a mathematical proof to ensure that the program will always yield the correct output. The principle of induction can certify the correctness of algorithms. Correct P r o g r a m
A c o r r e c t program yields the correct result for all legal input values, assuming the program contains no compilation and execution errors.
4.5 AlgorithmCorrectness
225
Proving the correctness of a program, especially a complex one, is not at all an easy task. It consists of two steps: (1) Proving t h a t the program will always terminate; and (2) proving t h a t it will always produce the correct result. The second step constitutes the partial c o r r e c t n e s s of the program.
Loop Invariant First, we will establish the partial correctness of simple w h i l e loops. Let n denote the n u m b e r of iterations of a w h i l e loop. Assume a predicate P(n). A relationship among the variables holds true before the loop is executed and after each iteration of the loop, no m a t t e r how large n is. As the algorithm execution progresses, the values of the variables in the loop may vary, but the relationship remains unaffected. Such a predicate is a loop invariant. To prove t h a t P(n) is a loop invariant, we apply PMI, as the next two examples demonstrate.
•
Algorithm 4.6 computes the product of two positive integers x and y. Notice t h a t the values of the variables x and y are not affected by the loop in lines 3-7. But the values of i and a n s w e r do get changed during each iteration of the loop. Algorithm m u l t i p l i c a t i o n ( x , y ) (* This algorithm computes the product of the p o s i t i v e integers x and y, and p r i n t s the answer. *) O. Begin (* algorithm *) i. answer <-- 0 (* i n i t i a l i z e answer *) 2. i <-- 0 (* counter *) 3. while i < x do 4. begin (* while *) 5. answer <-- answer -I- y 6. i ~-i+l 7. endwhiI e 8. End (* algorithm *) Algorithm 4.6
Let a n and in denote the values of a n s w e r and i at the end of n iterations. Let P(n)" a n = in" y . We shall prove t h a t the predicate P(n) is a loop invariant. P R O O F (by PMI)Let P(n)" a n = in" y , n > O. B a s i s s t e p The value n - 0 means zero iterations; it corresponds to the situation before the loop is entered. When n - 0,a0 = 0 and i0 - 0. Therefore, a0 - i0 .y; so, P(0) is true.
226
Chapter4 Inductionand Algorithms I n d u c t i o n s t e p Assume P(k) is true; t h a t is, ak -- ik "y after k iterations. Then ak+l - - a k + y and ik+l - - i k + 1, by lines 5 and 6. Thus: ak+l -- ik "Y + Y, by the inductive hypothesis = (ik + 1)y = ik+ 1 . y
So P(k + 1) is true. Thus, by PMI, P(n) is t r u e for every n >__O; t h a t is, P(n) is a loop invariant. m How is the property t h a t P(n) is a loop i n v a r i a n t useful? Since an - in "y after n iterations, it m u s t be true even w h e n we exit the loop. The loop is t e r m i n a t e d w h e n in - x. Then a n s w e r - a n - x . y , as expected. Since P(n) is a loop invariant, the algorithm does indeed work correctly. W h a t exactly is the iteration method? Suppose we would like to compute the value f ( n ) of a function f at an integer n > no. In the i t e r a t i o n m e t h o d , we use f ( n o ) to compute f ( n o + 1), t h e n use the successive values f ( n o + 2), f ( n o + 3 ) , . . . to evaluate f ( n ) . For instance, to evaluate n? by iteration, we successively evaluate 0!, 1!, 2!,..., (n - 1)! and t h e n evaluate n!.
• -
Algorithm 4.7 is an iterative algorithm for c o m p u t i n g n!, where n >_ 0. Let fact(n) be the value o f f a c t o r i a l at the end of n iterations of the loop. Prove t h a t P(n): f a c t ( n ) - n! is a loop invariant. Algorithm factorial (n) (* This algorithm computes and prints the value of n! for every n >__ O. *) O. B e g i n (* algorithm *) I. f a c t o r i a l <- 1 (* i n i t i a l i z e *) 2. i ~- 1 (* counter *) 3. while i < n do 4. begin (* while *) 5. i <--i+I 6. factorial ,-- factorial * i 7. endwhiI e 9. End (* algorithm *) Algorithm 4.7
P R O O F (by PMI)" Let P(n): f a c t ( n ) - n!, n > O. Basis step
W h e n n - 0, f a c t ( 0 ) - 1 - 1! by line 1; so P(0) is true.
227
4.5 AlgorithmCorrectness Induction step
Assume P(k) is true: f a c t ( k ) - k!. Then:
fact(k + 1) = fact(k) 9(k + 1), by line 6 = k!. (k + 1), by the inductive hypothesis = (k + 1)~ Therefore, P(k + 1) is true. Thus, by induction, P(n) holds t r u e for every n _>_O; t h a t is, P(n) is a loop invariant and hence the algorithm correctly computes the value of n!, for every n >__O. I
Searching and Sorting Algorithms The r e m a i n d e r of this section establishes the partial correctness of a few s t a n d a r d searching and sorting algorithms. We begin with two searching algorithms, linear and binary.
Linear Search Algorithm L e t X = [ X l , X 2 , . . . , X n ] be an u n o r d e r e d list (also known as a one-dimensional a r r a y or simply an array) of n distinct items. We would like to search the list for a specific item, called key. If key exists in the list, the algorithm should r e t u r n the location of key. We search the list from right to left for convenience. Compare Xn and key. If Xn - key, key occurs and location = n. Otherwise, compare Xn-1 and key. If they are equal, we are done. Otherwise, continue the search until it is successful or the list is empty. This algorithm is the linear search
algorithm. For example, let X = [Dallas, Boston, Nashville, Albany, Portland] and
key = Albany. T h e n key occurs in the list at location 4. In general, we cannot assume key occurs in the list. To make the search process always successful, we store key in location 0: xo ~ key. So if the search routine r e t u r n s the value zero for location, it implies key does not occur in the list. An iterative version Algorithm 4.8.
of the
linear
search algorithm
is given in
Algorithm linear search (X,n,key,location) (* This algorithm searches a l i s t by the l i n e a r search method f o r a key and returns i t s location in the l i s t . To make the search always successful, we store key in xo. I f the algorithm returns the value 0 for l o c a t i o n , key does not occur in the l i s t . *) O. Begin (* algorithm *) i. x0 <- key 2. i ~-n 3. while xi # key do 4. i ~-i-i
Chapter4 Inductionand Algorithms
228
5. 6.
location K-- i End (* algorithm *)
Algorithm 4.8
Prove t h a t the linear search algorithm in Algorithm 4.8 works correctly for every n > 0.
P R O O F (by PMI)" Let P(n)" The algorithm r e t u r n s the correct location for every list of size n>0. D
B a s i s step When n = 0, the w h i l e loop is skipped. The algorithm r e t u r n s the value 0 in location by line 5, which is correct. So P(0) is true. I n d u c t i o n step Assume P(k) is true for an arbitrary integer k > 0; t h a t is, the algorithm works when the list contains k items. To show that P(k + 1) is true, consider a list X with k + 1 elements. Case 1 Ifxk+l = key in line 3, the w h i l e loop will not be entered and the algorithm r e t u r n s the correct value k + 1 for location in line 5. Case 2 Ifxk+l r key, i - k at the end of the first iteration. This restricts us to a sublist with k elements. By the inductive hypothesis, the algorithm works correctly for such a list. In both cases, P(k + 1) holds. Thus, by induction, P(n) is true for n >_0. In other words, the algorithm r e t u r n s the correct location for every list with n > 0 elements.
Binary Search Algorithm The b i n a r y s e a r c h a l g o r i t h m searches for a given key if the list X is ordered. The technique employed is d i v i d e and c o n q u e r . First compute the m i d d l e (mid) of the list, where m i d = [(1 + n)/2J. The middle item is Xmid. Now partition the list into three disjoint sublists: [x 1 , . . . , Xmid-1], [Xmid], and [Xmid+l,-.-, Xn]. If Xmid--key, the search is successful and location = mid. If they are not equal, we search only the lower half or the upper half of the list. If key < Xmid, search the sublist [xl, . . . , Xmid-1]; otherwise, search the sublist [Xmid+l,..., Xn]. Continue like this until the search is successful or the sublist is empty. ~
se the binary search algorithm to search the list X = {3, 5, 8, 13, 21, 34, 55, 89] for key = 5.
SOLUTION" Let xi denote the ith element of the list X, where 1 < i < n and n - 8.
4.5 Algorithm Correctness
Step 1
229
C o m p u t e m i d for t h e list X:
m i d - L(1 + n)/2] - L(1 + 8)/2] - 4. Therefore, t h e middle t e r m is Xmid - 13. S t e p 2 C o m p a r e Xmid a n d key: Since x4 r 5, key, if it occurs, m u s t exist in t h e lower sublist [Xl,X2,X3] -- [3, 5, 8] or in t h e u p p e r sublist [x5,x6,x7,x8] = [21, 34, 55, 89]. Since key < x4, search t h e first sublist a n d c o n t i n u e steps 1 a n d 2 u n t i l e i t h e r key is located or t h e sublist becomes empty. Step 3
C o m p u t e m i d for t h e list [Xl,X2,X3]"
mid-
[(1 + 3)/2] - 2
So Xmid -- x2 -- 5. S t e p 4 C o m p a r e Xmid a n d key: Since Xmid = key, the search is successful. Key occurs at location 2 and we are done. (As an exercise, use the a l g o r i t h m to search t h e list X with key = 23.) m The steps in this e x a m p l e can be t r a n s l a t e d into an a l g o r i t h m . See A l g o r i t h m 4.9. Algorithm binary search(X,l,n,key,mid) (* This algorithm searches an ordered l i s t X of n elements f o r a special item (key). I t returns the location of key i f the search is successful and zero otherwise. The variable mid returns such a value. The variables low and high denote the lower and upper indices of the l i s t being searched. *) O. Begin (* algorithm *) 1. low <- I 2. high K-- n 3. while low _< high do (* l i s t is nonempty *) 4. begin (* while *) 5. mid ~-- [(low + high)/2] 6. i f key=xmi d then (* key exists in the l i s t * ) 7. e x i t the loop 8. else i f key < Xmid then (* search lower h a l f * ) 9. high <- mid - i 10. else (* search the upper h a l f *) 11. low +- mid + I 12. endwhi 1e 13. i f low > high then (* search is unsuccessful *) 14. mid , - 0 15. End (* algorithm *)
Algorithm 4.9
230
Chapter4 Inductionand Algorithms The next example establishes the partial correctness of this algorithm using strong induction. Prove that the binary search algorithm (Algorithm 4.9) works correctly for every ordered list of size n > 0.
P R O O F (by strong induction): Let P(n)" The algorithm works for every ordered list of size n. B a s i s step When n - 0, l o w - 1 and h i g h - O. Since l o w < h i g h is false in line 3, the w h i l e loop is not executed. So the algorithm r e t u r n s the correct value 0 from line 14, as expected, and P(0) is true. I n d u c t i o n step Assume P(i) holds for every i < k, where k > 0; t h a t is, the algorithm r e t u r n s the correct value for any list of size i < k. To show t h a t P(k + 1) is true, consider an ordered list X of size k + 1. Since h i g h = k + 1 > 1 = low, the loop is entered and the middle index is computed in line 5.
Case 1 If k e y - - X m i d , we exit the loop (line 7) and the value of m i d is returned, so the algorithm works. Case 2 If key < Xmid, search the sublist x l, . . . , Xmid-1; otherwise, search the sublist Xmid+l, ... , X,z. In both cases, the sublists contain fewer t h a n k + 1 elements, so the algorithm works in either case by the inductive hypothesis. Thus P(k + 1) is true. So, by PMI, P(n) is true for n >_ 0; t h a t is, the algorithm works correctly for every ordered list of zero or more items, i Next we present two s t a n d a r d sorting algorithms and prove their correctness.
Sorting Algorithms Suppose we are given a list ofn items and would like to sort t h e m in "ascending order." Several methods are available. Two algorithms t h a t can do the job are bubble sort and selection sort.
Bubble Sort B u b b l e sort is a simple, elegant algorithm for sorting a list of n items. It "bubbles up" smaller items to the top and pushes larger items to the bottom: Compare consecutive elements, beginning with the first pair. Swap t h e m if they are out of order. Compare the next pair and swap t h e m if necessary. Continue like this to the end of the list. This ends the first pass. Now place the largest element at the end of the list. Repeat these steps with all but the largest element until the resulting sublist consists of one element. The list is now ordered.
4.5 AlgorithmCorrectness
231
The following example demonstrates this method. Using bubble sort, sort the list X = [34, 13, 21, 3, 89]. SOLUTION: Let xi denote the ith element in the list, where 1 < i < 5. The given list is 1
Step 1
Compare Xl and
X2.
2
Since Xl 1
2
3
4
> X2,
3
5
swap them. This yields the list
4
5
Now comparex2 andx3. Sincex2 > x3, interchangex2 andx3. This produces the list 1
Since
X3 > X4,
2
3
4
5
switch them, yielding the list 1
2
3
4
5
Compare X4 and x5. Since X4 < X5, they are in the correct order and no interchanging is needed. This completes the first pass. At the end of the first pass, the largest element in the list is placed in proper position: 1 X
2
3
4
5
11312113134189] in correct position
to b e s o r t e d
S t e p 2 In the second pass, compare the elements xl through X4 and swap them if necessary. This results in the two largest elements being placed correctly: 1
2
3
to be sorted
4
5
correctly sorted
232
Chapter 4 Induction and Algorithms
S t e p 3 The t h i r d pass involves t h e e l e m e n t s x l t h r o u g h this pass, the t h r e e largest e l e m e n t s are correctly placed: 1
2
~
3
9
to be sorted
Step 4
4
X 3.
At t h e end of
5
y
,J
in correct order
At the end of t h e f o u r t h pass the list is completely sorted: 1
2
3
4
5
all in correct order
Two i m p o r t a n t observations"
9 At the end of t h e i t h pass, t h e i largest e l e m e n t s are correctly placed at the end of t h e list, w h e r e 1 < i < n. So t h e (i + 1)st pass involves t h e e l e m e n t s Xl t h r o u g h Xn_ i . 9 Bubble sort t a k e s n - 1 passes to sort a list of n items, even if the list becomes o r d e r e d at t h e end of the ith pass, w h e r e i < n - 1. Once the list is sorted, it m a k e s no sense to go t h r o u g h t h e r e m a i n ing passes, so t h e additional passes can be avoided w i t h a boolean variable.
T h e various steps in E x a m p l e 4.30 can be developed into an a l g o r i t h m for bubble sort, as p r e s e n t e d in A l g o r i t h m 4.10.
Algorithm bubble sort(X,n) (* This algorithm sorts a l i s t X of n elements using the bubble algorithm. *) O. Begin (* algorithm *) 1. for i - - 1 to n - 1 do 2. for j = l to n - i do 3. i f Xj > Xj+ 1 then 4. swap xj and Xj+ 1 5. End (* algorithm *)
Algorithm 4.10
4.5 Algorithm Correctness
233
Establish the correctness of the bubble sort algorithm. P R O O F (by PMI)" Let P(n)" The algorithm sorts every list of size n > 1. B a s i s s t e p When n - 1, the list contains just one element and hence is clearly sorted, so P(1) is true. I n d u c t i o n s t e p Assume P(k) is true; t h a t is, the algorithm sorts correctly every list of k (> 1) items. To show t h a t P(k + 1) is true, consider a list X - [ X l , X 2 , . . . , Xk+l]. Since k + 1 > 2, the f o r loop in line 1 is entered. When i - 1, j runs from 1 t h r o u g h n - 1. Lines 3 and 4 are executed: the consecutive elements xj and Xj+l are compared and swapped if out of order. The inner f o r loop places the largest of the elements Xl, x2,..., Xk+l in position k + 1. This leaves a sublist of k elements, [xl, x2, . . . , Xk]. By the inductive hypothesis, the algorithm correctly sorts it. It follows t h a t the algorithm correctly sorts the entire list X; t h a t is, P(k + 1) is true. Thus, by the principle of induction, P(n) is true for n > 1; that is, the bubble sort algorithm always works, m
Selection
Sort
Unlike bubble sort, s e l e c t i o n s o r t finds the largest element and swaps it with xn if xn is not the largest element. Find the largest of the remaining elements Xl, x2,..., Xn-1, and switch it with Xn-1 if it isn't xn-1. Continue like this until the list is completely sorted. In each pass, unlike in bubble sort, if two elements are out of order, we do not swap t h e m right away but wait to find the largest element of the sublist. At the end of the ith pass, the largest of the elements xl, x 2 , . . . , X n - i + l is swapped with X n _ i + l , where 1 < i < n. This outline of the selection sort algorithm can be a bit refined. In the ith pass, initially assume Xn-i+l is the largest element. Find the largest of the elements x l, x 2 , . . . , Xn-i. Swap it with Xn-i+l if necessary. Algorithm 4.11 results. Algorithm selection sort(X,n) (* This algorithm sorts a l i s t X of n items using the i t e r a t i v e version of selection sort. Maxindex denotes the index of the largest element in a given pass. *) O. Begin (* algorithm *) 1. i f n > i then(* l i s t contains at least two elements *) 2. for i = 1 to n - 1 do
234
Chapter4 Inductionand Algorithms 3. 4.
begin (* for *) maxindex ~- n - i + i (* assume Xn_i+ 1 is the largest element; save its index. *) for j----1 to n - i do i f Xj > Xmaxindex, then (* update maxindex *) maxindex ~- j i f maxindex r i + i , then (* found a larger element; swap the corresponding elements *) swap Xmaxindex and Xn_i+ 1
5. 6. 7. 8. g. I0. 11.
endfor End
(* algorithm *) A1gori thm 4. i i
~
Establish the correctness of Algorithm 4.11.
P R O O F (by PMI): Let P(n)" The algorithm works correctly for every list of size n _> 1. B a s i s s t e p When n = 1, the list contains one element and is clearly sorted, so P(1) is true. I n d u c t i o n s t e p Assume P(k) is true; t h a t is, the algorithm sorts correctly every list of size k >__1. To show that P(k + 1) is true, consider a list X = |x x, x2, . . . , Xk+l] with k + 1 elements, where k + 1 _> 2. Since k + I >_ 2, the condition in line 1 is satisfied, and we enter the loop in line 2. When i = 1, m a x i n d e x = (k + 1) 1 + 1 = k + 1. The f o r loop in lines 5-7 compares each of the elements Xl, x 2 , . . . , xh with Xmaxindex and updates it as needed. Line 8 updates m a x i n d e x if we have found an element larger than Xh+l. If maxindex ~: k + 1, then the elements xk+ 1 and Xmaxindex are swapped. This stores the largest of the k + 1 elements in position k + 1, leaving a sublist of k elements, namely, x 1, x2,.. 9 xh to be sorted. Therefore, by the inductive hypothesis, the algorithm sorts correctly the list X containing k + 1 elements. Thus, by induction, P(n) is true for every n >_ 1; t h a t is, the algorithm correctly sorts every list of size n. B These searching and sorting algorithms are pursued again in Section 4.7. Additional sorting algorithms appear in the exercises.
Exercises 4.5 Prove that the given predicate P(n) in each algorithm is a loop invariant.
1.
Algorithmexponential (x,n) (* This algorithm computes xn, where xEIR + and n ~W. *)
2.
Algorithm divi sion(x,y) (* This algorithm computes the quotient and the remainder when a positive
4.5 Algorithm Correctness
235
0. Begin (* algorithm *) i. answer +- I 2. while n > 0 do 3. begin (* while *) 4. answer +- answer, x 5. n <-n-1 6.
integer x is divided by a positive integer y using addition and subtraction. *) 0. Begin (* algorithm *) 1. dividend ~- x 2. divisor <- y 3. quotient ~-- 0 4. remainder ,-- dividend 5. while dividend > di vi sor do 6. begin (* while *) 7. di vi dend <-- di vi dend - di vi sor 8. quotient K-quotient + i 9. remainder<-dividend 10. endwhile 11. End (* algorithm *)
endwhile
7. End (* algorithm *) P(n): an = xn, where an denotes the value of answer after n iterations of the while loop. 3.
Algorithm Euclid(x,y,clivi sor) (* See Algorithm 4.2 *) P(n): gcd{xn,Yn}--gcd{x,y} where Xn and Yn denote the values of x=dividend and y - - d i v i s o r after n iterations.
4.
Algorithm gcd (x,y) (* This algorithm computes the gcd of two positive integers x and y. *) 0. Begin (* algorithm *) i. while x # y do 2. i f x > y then 3. x~-x-y 4. else 5. y,-y-x 6. gcd +- x 7. End (* a l g o r i t h m *) P(n): g c d { x n , Y n } - - - g c d { x , y } , where Xn and Yn denote the values of x and y at the end of n i t e r a t i o n s of the loop.
6.
5.
(x,y) (* This algorithm prints the sum of two nonnegative integers x and y. *) 0. Begin (* algorithm *)
Algorithm sum
I. 2. 3. 4. 5. 6. 7.
sum , - x count , - 0 (* counter *) while count < y do begin (* while *) sum , - sum-I- i count , - count + I endwhile
8. End (* algorithm *) P(n): x--qny + rn, where qn and rn denote the quotient and the remainder after n iterations.
Algorithm square (x) (* This algorithm prints the square of x EW. *)
0. Begin (* algorithm *) 1. answer , - 0 2. i <-- 0 (* counter *) 3. While i < x do 4. begin (* while *) 5. answer<-answer + (2i + 1): 6. i <-i +i 7. endwhiI e 8. End (* algorithm *) P(n): an - - n 2, where an denotes the value of answer at the end of n iterations.
236
Chapter 4 Induction and Algorithms
Using the algorithm in Exercise 4, compute the gcd of each pair of integers. 7. 18,3
8. 28,12
9. 28,48
10. 24,112
Sort the following lists using the bubble sort algorithm. 11. 23, 7, 18, 19, 53
12. 19, 17, 13, 8, 5
13-14. Sort each list in Exercises 11 and 12 using the selection sort algorithm. Write an iterative algorithm to do the tasks in Exercises 15-17. 15. Compute n V.,n _> 0. 16. Determine if two n x n matrices A and B are equal. 17. Compute the product of two n x n matrices A and B. 18. Let A=(aij)nxn and B-(bij)nxn. A is l e s s than or equal to B, denoted by A < B, if aij <_bij for every i a n d j . Write an a l g o r i t h m to determine ifA < B. Consider a list X of n n u m b e r s xl, x 2 , . . . , Xn. Write iterative algorithms to do the tasks in Exercises 19-25. 19. Find the sum of the numbers. 20. Find the product of the numbers. 21. Find the m a x i m u m of the numbers. 22. Find the m i n i m u m of the numbers. 23. P r i n t the n u m b e r s in the given order x l, x 2 , . . . , xn. 24. P r i n t the n u m b e r s in the reverse order Xl, x 2 , . . . , Xn. 25. Write an algorithm to determine if a string S of n characters is a palindrome. 26-36. Establish the correctness of each algorithm in Exercises 15-25. Use the i n s e r t i o n s o r t algorithm in Algorithm 4.12 to answer Exercises 37-39.
Algorithm insertion sort(X,n) (* This algorithm sorts a l i s t X of n elements into ascending order by i n s e r t i n g a new element in the proper place at the end of each pass. *) O. Begin (* algorithm *) i. for i - - 2 to n do 2. begin (* for *) 3. temp ~-- xi (* temp is a temporary variable *) 4. j <--i-1 5. while j >__ 1 do
4.6 The Growth of Functions
6. 7. 8. 9. 10.
11. 12.
237
begin (* while *) i f Xj > temp then xjH_1 <-- xj j +-j--1 endwhi I e x j + 1 <-- temp
endfor
13. End (* algorithm *) Algorithm 4.12
Sort each list. 37. 3, 13, 8, 6, 5, 2
38. 11, 7, 4, 15, 6, 2, 9
39. Establish the correctness of the algorithm.
The growth of functions can be investigated using three i m p o r t a n t notations: the big-oh (O), the big-omega (gz), and the big-theta ((~)) notations.* We will employ it in Sections 4.7 and 5.7 to analyze some s t a n d a r d algorithms. Suppose we have developed two algorithms to solve a problem. To determine if one is better than the other, we need some type of yardstick to measure their efficiency. Since the complexity of an algorithm is a function of the input size n, we measure efficiency in terms ofn. To this end, we begin with the big-oh notation, introduced in 1892 by the German m a t h e m a t i c i a n Paul Gustav Heinrich Bachmann. The big-oh symbol is also known as the L a n d a u s y m b o l after the G e r m a n m a t h e m a t i c i a n E d m u n d L a n d a u who popularized it.
The Big-0h Notation
Let f, g: N ~ E. Then f(n) is of o r d e r at m o s t g(n), if a positive constant C and a positive integer no exist such t h a t If(n)l _< CIg(n)l for every n > no. In symbols, we write f(n)= O(g(n)). (Read this as f(n) is big-oh ofg(n).) In this definition, if we can find one value for C, any value greater t h a n t h a t also will work, so the value of C is not unique. When we say the time needed to execute an algorithm is O(g(n)), it simply means the time needed is not more t h a n some constant times Jg(n)l when n is sufficiently large. For instance, let Cn denote the m a x i m u m n u m b e r of element comparisons required in line 3 of the linear search algorithm (Algorithm 4.8), where n denotes the input size. Using Cn as an *g2 and (~)are the uppercase Greek letters omega and theta, respectively.
Chapter 4 Induction and Algorithms
238
.-
.
.;, .
"'~"~
,,.
-,,,. .,
P a u l G u s t a v H e i n r i c h B a c h m a n n (1837-1920), the son of a Lutheran minister, was born in Berlin. He inherited a pious attitude and a great love for music. During his early years, he had difficulties in mathematical studies, but his talent was discovered by one of his teachers. After recovering from tuberculosis in Switzerland, Bachmann studied mathematics, first at the University of Berlin and then at the University of GSttingen, where he attended Dirichlet's lectures. In 1862 he received his doctorate from Berlin under the guidance of the famous German mathematician Ernst Kummer, for a thesis on group theory. He became a professor at Breslau and later at Munster. Around 1890, he resigned his position and moved to Weimar, Germany, where he continued his mathematical writing, composed music, played the piano, and wrote music criticism for newspapers. His writings include several volumes on number theory and a book on Fermat's Last Theorem. Bachmann died in Weimar.
E d m u n d L a n d a u (1877-1938), the son of a gynecologist, was born in Berlin. After attending high school, he studied mathematics at the University of Berlin, receiving his doctorate under the German mathematician Georg Frobenius in 1899. He taught at Berlin until 1909 and then moved to the University of GSttingen, where both David Hilbert and Felix Klien were colleagues. After the Nazis forced him to quit teaching, he never gave another lecture in Germany. Landau's principal contributions were to analytic number theory, especially to the distribution of primes. He wrote several books and more than 250 papers, and exercised tremendous influence on the development of number theory. Landau died suddenly in Berlin.
:i:,,);:..
e s t i m a t e of t h e execution of t h e a l g o r i t h m , it can be s h o w n t h a t c,~ - O ( n ) (see E x a m p l e 4.44). This m e a n s c,~ grows no f a s t e r t h a n n, w h e n n is sufficiently large. Before we a n a l y z e t h e execution t i m e s of a l g o r i t h m s , we will s t u d y a few simple e x a m p l e s to show how to use t h e big-oh n o t a t i o n . Let f ( n ) - 50n 3 - 6n + 23. Show t h a t f ( n ) - O(n3).
SOLUTION: f(n) = 50n 3 - 6 n Therefore,
+ 23
i f ( n ) ] - ] 50n 3 - 6n + 23 I <] 50n 3 ] + i - 6 n I + I 23 I, by t h e t r i a n g l e i n e q u a l i t y
4.6 The Growth of Functions
239
= 50n 3 + 6 n + 2 3 < 50n3+6n3+23n3
whenn>l
(Note" no = 1)
= 79n 3 Thus, by taking C - 79, it follows that f(n) - O ( n 3 ) .
II
More generally, we have the following result. m
~
Let f(n) = E ai ni be a polynomial in n of degree m. Then f(n) - O(nm). i=0
PROOF: f ( n ) - amn m + a m _ i n m-1 + . . . + a l n + ao. By the triangle inequality,
we have" [f(n)l _< [am[n m + [am-lln m-1 - F . . . - F [alln + la0[ <_ [amln m + [am_ll nm + . . . + [alln m + [ao[n m,
--
Jail
n m -- Cn m,
where C
-
n >_ 1
lai [
i=1 = O ( n m)
Thus, when n is sufficiently large, the leading term dominates the value of the polynomial. II In Example 4.33, although f ( n ) - O(n3), it is also true that f ( n ) <_ 79n 5 and f ( n ) < 79n 6. So we could say correctly, but meaninglessly, t h a t f ( n ) - O ( n 5) and also f ( n ) - O ( n 6 ) . To make comparisons meaningful, however, we shall always choose the smallest possible order of magnitude. Commonly Used Order Functions
The most common order functions and their names are listed below, arranged in increasing order of magnitude: 9 Constant
O(1)
9 Logarithmic
O(lg n)
9 Linear
O(n)
9 (no name exists)
O(n lg n)
9 Quadratic
O(n 2)
9 Cubic
O(n 3)
9 Polynomial
O(n m)
Chapter 4
240
Induction and Algorithms
9 Exponential
O(2 n)
9 Factorial
O(n!)
When we say t h a t the order of m a g n i t u d e of an algorithm is a constant, we m e a n t h a t the execution time is bounded by a constant; t h a t is, it is independent of the input size n. If the order is linear, the execution t i m e grows linearly; it is directly proportional to the input size. Approximate values of some of the order functions are given in Table 4.3 for comparison; the graphs of a few of t h e m are given in Figure 4.31. Table 4.3
lg n
n
3 6 9 13 16 19
Figure
n lg n
10 100 1,000 10,000 100,000 1,000,000
n2
30 600 9,000 130,000 1,600,000 19,000,000
100 10,000 100,000 100,000,000 10,000,000,000 one trillion
4.31
y=n!
y=2 n
128 64 32 16 8 4 2 1
,=n 2
-y=n
lgn
. y=n ---y=n
lg n
y=l -+---~ n 1
2
3
4
5
6
7
8
9
10
The order functions satisfy the following relationships a m o n g the frequently used execution times, when n is sufficiently large: O(1) < O(lg n) < O(n) < O(n lg n) < O(n 2) < O(n 3) < O(2 n) < O(n!). They give us an idea of how long algorithms of varying orders will take to execute jobs.
4.6
The Growth of Functions
241
For instance, if two algorithms solve a problem, one with O(n) and the other with O(lg n), t h e n (other things being equal) the second a l g o r i t h m will work faster. The next two examples also illustrate how to estimate the g r o w t h of functions. Show t h a t n! = O(n n) and lgn! ~ - O ( n l g n ) . SOLUTION: 9
n! = n ( n - 1 ) . . . 3
92 9 1
< n. n...n.n, = nn -- O(n n) 9 Since
n,
where n >_ 1
(Note" Use C - 1.)
n! _< n n from above, lg n! < n lg n (Note: If 0 < x < y, t h e n lg x < lg y.) = O(n lg n) m
The following example shows how to estimate in a nested f o r loop the g r o w t h of the n u m b e r of times an a s s i g n m e n t s t a t e m e n t is executed. E s t i m a t e f(n), the n u m b e r of times the s t a t e m e n t x <- x + 1, is executed in the following f o r loop. for i--i to n do for j=l to i do x <--x+ 1
SOLUTION: Since the s t a t e m e n t x ~ x + 1 is executed i times for each value of i, where 1
f(n) - E i = n(n + 1) _ O(n2 ) n i=1 As n increases, f(n) grows as n 2.
II
T h e G r o w t h of a S u m of T w o F u n c t i o n s
Imagine an a l g o r i t h m consisting of two subalgorithms. Suppose the orders of execution times of the s u b a l g o r i t h m s are given by fl (n) - O(gl(n)) and f2(n) - O(g2(n)). The next t h e o r e m shows how to compute the order of the algorithm. Let fl(n)
-
O(gl(n)) and f2(n)
O(max{Igz (n)l, Ig2(n)l}).
-
O(g2(n)).
T h e n (fl + f2)(n)
242
Chapter 4 Induction and Algorithms PROOF By definition, t h e r e exist positive c o n s t a n t s C1, C2, nl, and n2 such t h a t ]fl(n)i < C1 ]gl(n)] for n > nl, and if2(n)] < C2ig2(n)] for n > n2. Let C - max{C1, C2}, no - max{n1, n2}, a n d g ( n ) - max{ [gl(n)i, ig2(n)] }. Then" Ifl(n) + f2(n)l < Cllgl(n)i + C2]g2(n)l
<_ Clg(n)i + Clg(n)], where n >_ no - 2Cig(n)i T h u s fl(n) + f2(n) = O(g(n)); t h a t is, (fl + f2)(n) - O(max{igl (n)i, Ig2(n)l}). I It follows by this t h e o r e m t h a t iffl(n) - O(g(n)) and f2(n) - O(g(n)), t h e n (['1 + f 2 ) ( n ) = O ( g ( n ) ) . Why?
The Growth of a Product of Two Functions The next t h e o r e m helps us to estimate the g r o w t h of (f] .f2)(n), the p r o d u c t of the functions fl and f2. L e t f l ( n ) - O(gl(n)) andf2(n) - O(g2(n)). T h e n ( fl.f2)(n) - O(gl(n).g2(n)).
PROOF Again, by definition, there are c o n s t a n t s C1, C2, nl, and n2 such t h a t ]fl(n)] _< Cligl(n)[ for n >_ n], and ]f2(n)l _< C2[g2(n)] for n >_ n2. Let C - C1C2 and no - max{n],n2}. Then" ](f]. f 2 ) ( n ) i - ]f](n). f2(n)i = [fl(n)]. ]f2(n)]
<_ Cligl(n)[ . C2]g2(n)i = Clgl(n)g2(n)i, w h e r e n >_ no T h u s (fl" f2)(n) - O(gl(n)g2(n)).
I
The next two examples employ this h a n d y t h e o r e m along with the earlier theorems. Let f ( n ) = 6n 2 + 5n + 7 lg n!. E s t i m a t e the g r o w t h off(n). SOLUTION: Since 6n 2 - O(n 2) and 5n - O(n), 6n 2 + 5n - O(n 2) by T h e o r e m 4.15. F u r t h e r m o r e , 7 - O(1), and lg n! - O(n lg n) by Example 4.34. So 7 lg n! = O(1). O(n lg n) = O(1. n lg n), by T h e o r e m 4.16 = O(n lg n)
4.6 The Growthof Functions
243
Since lg n < n, n lg n < n 2 for n > 1 (see Figure 4.31), it follows by T h e o r e m 4.15 t h a t f ( n ) - O(n 2) + O(n lg n) - O(n2). i Let f ( n ) - (3n 2 + 4n - 5) lg n. E s t i m a t e the g r o w t h off(n).
SOLUTION: 3n 2 + 4n - 5 - O(n2), by T h e o r e m 4.14 Clearly, lg n - O(lg n) So f ( n ) - (3n 2 + 4n - 5) lg n
= O(n2) 9O(lg n) = O ( n 2 lg n), by T h e o r e m 4.16
II
We now t u r n to the big-omega and the big-theta n o t a t i o n s for investigating the g r o w t h of functions.
The Big-Omega and Big-Theta Notations The big-oh notation has been widely used in the study of the g r o w t h of functions; however, it does not give us an exact order of growth. F o r instance, f(n)-O(g(n)) j u s t implies t h a t the function f does not grow any faster t h a n g. In other words, it simply provides an u p p e r b o u n d for the size of f ( n ) for large values of n, b u t no lower bound. W h e n we need the lower bound, we employ the big-omega notation. W h e n we need both b o u n d s to estimate the growth of f, we use the bigt h e t a notation. Both n o t a t i o n s were introduced in the 1970s by Donald K n u t h of Stanford University. We now p u r s u e the big-omega notation. As you could imagine by now, its definition closely resembles t h a t of the big-oh notation; it can be obtained by simply changing _< to >_.
The Big-Omega Notation Let f , g " • ~ R. Suppose t h e r e is a positive c o n s t a n t C and a positive integer no such t h a t If(n)] >__C i g ( n ) i for every n >_ no. T h e n f ( n ) is g2(g(n)); t h a t is, f ( n ) - ~ ( g ( n ) ) . [As above, read this as f ( n ) is big-omega of g(n).] The following example illustrates this definition. Let f ( n ) C-50
50n 3 - 6n + 23. W h e n n >_ 0, 50n 3 - 6n + 23 > 50n 3. So, with
and g ( n ) - n 3, it follows t h a t f ( n ) >__ C . g ( n ) for every n >_ 0. T h u s f ( n ) - g2(n3). (Notice t h a t here no - 0.) i
244
Chapter 4 Induction and Algorithms
D o n a l d E r v i n K n u t h (1938-), a pioneer in the development of the theory of compilers, programming languages, and the analysis of algorithms, is also a prolific writer in computer science. He was born in Milwaukee, Wisconsin, where his father, the first college graduate in the Knuth family, taught bookkeeping at a Lutheran high school; his talent for mathematics and music played a significant role in the intellectual development and pursuit of the young Knuth. As a youngster, Knuth had a marvelous gift for solving complex problems. As an eighth grader, he entered the Ziegler's Candies Contest to find the number of words that can be formed from the letters in Ziegler's Giant Bar. Knuth listed 4500 such words, 2000 more than in Ziegler's master list. This won a television set for the school and enough Ziegler candy for the entire student body. In high school, Knuth entered the prestigious Westinghouse Science Talent Search (now Intel Science Talent Search) with his project, The Prtrzebie System of Weights and Measures, that would replace the cumbersome British system. His project won an honorable mention, and $25 from MAD Magazine for publishing it. When he graduated from high school, he was already an accomplished mathematician, musician, and writer. He majored in physics at the Case Institute of Technology (now Case Western Reserve University) and was introduced to an IBM 650 computer, one of the earliest mainframes. After studying the manual from cover to cover, he decided that he could do better and wrote assembler and compiler code for the school's IBM 650. In 1958, Knuth developed a system for analyzing the value of a basketball player, which the coach then used to help the team win a league championship. Newsweek wrote an article about Knuth's system and Walter Cronkite carried it on the CBS Evening News. In his sophomore year, Knuth switched his major to mathematics. His work at Case was so distinguished that when he was awarded his B.S. in 1960, the faculty made an unprecedented decision to grant him an M.S. concurrently. Knuth then entered the California Institute of Technology for graduate work and received his Ph.D. in mathematics 3 years later. He joined the faculty there, also consulting for the Burroughs Corporation writing compilers for various programming languages, including ALGOL 58 and F O R T R A N H. From 1968-1969, he worked at the Institute for Defense Analyses, Princeton, New Jersey. In 1969, Knuth joined the faculty at Stanford University. Knuth's landmark project, The Art of Computer Programming, was initiated by Addison-Wesley Publishing Co. in early 1962, while he was still in graduate school. Dedicated to the study of algorithms, it would be a seven-volume series when completed. A revered work, it was the pioneer textbook in the 1970s and continues to be an invaluable resource. Knuth developed two computer languages to deal with mathematics typography, TEX, a typesetting program, and Metafont, a program to develop the shapes of letters. He has received numerous honorary degrees from universities around the world: the Grace Murray Hopper Award (1971), the Alan M. Turing Award (1974), the Lester R. Ford Award (1975), the National Medal of Science (1979), the McDowell Award (1980), the Computer Pioneer Award (1982), and the Steele Prize (1987). An accomplished church organist and composer of music for the organ, Knuth retired from Stanford in 1992.
245
4.6 The Growth of Functions
We now m a k e an i n t e r e s t i n g observation. To this end, let f ( n ) = f~(g(n)); so If(n)[ >_ Clg(n)[ for n >_ no. T h e n Ig(n)l _< C'[f(n)[ for some positive c o n s t a n t C t = 1/C; so g ( n ) = O ( f ( n ) ) . Conversely, let g ( n ) = O(f(n)). By r e t r a c i n g these steps, it follows t h a t f(n) = ~ ( g ( n ) ) . T h u s f(n) = f~(g(n)) if and only i f g ( n ) - O(f(n)). We now define the big-theta notation, using the big-oh and big-omega notations.
The Big-Theta Notation
Let f , g 9 N --+ R such t h a t f ( n ) - O(g(n)) and f ( n ) = gz(g(n)). T h e n f ( n ) is said to be of o r d e r g(n). We t h e n write f ( n ) = | read this as f(n) is big-theta of g(n). The next two examples illustrate this definition. Let f ( n ) - (3n 2 -+- 4n - 5) lg n. By Example 4.37, f ( n ) - O(n 2 lg n). W h e n n > 1, we also have: (3n 2 + 4n - 5)lg n > 3n 2 lg n T h a t is, f ( n ) > 3(n 2 lg n)
So f ( n ) - f2(n 2 lg n)
T h u s f(n) -- O(n 2 lg n) - f2(n 2 lg n), so f(n) - |
2 lg n).
II
Let f(n) show the n u m b e r of times the a s s i g n m e n t s t a t e m e n t x ~ x + 1 is executed by the nested for loops in Example 4.35. Recall t h a t f ( n ) n ( n + 1)/2 -- O(n2). Since n + 1 >_ n for every n >_ 1, it follows t h a t n ( n + 1)/2 >_ n2/2; so f(n) - f2(n2). T h u s f(n) - | II
We now m a k e two i n t e r e s t i n g observations from Examples 4.39 and 4.40: 9 Iff(n) is a polynomial in n of degree m, t h e n f ( n ) =O(nm). 9 f(n)= | if and only if Alg(n)] <_ If(n)] <_B [ g ( n ) ] for some c o n s t a n t s A and B.
See Exercises 50 and 51.
246
Chapter 4 Inductionand Algorithms
Before closing this section, we add that the definitions of the big-oh, bigomega, and big-theta notations remain valid even if the domain of f consists of real numbers.
Exercises 4.6
Using the big-oh notation, estimate the growth of each function. 1. f ( n ) - 2 n + 3
4. f ( n ) - 3 +
2. f (n) - 4n 2 + 2 n - 3
3. f ( n ) = 2n 3 - 3n 2 + 4n
5. f (n) = 3 1 g n + 2
6. f (n) = (3n)!
8. f ( n ) - 23
9. f ( n ) =
lgn
n
7. f ( n ) - lg (5n)!
~ k2 k=l
n
10. f ( n ) -
n
~ k3
11. f ( n ) =
k=l
n
~ Li/2J
12. f ( n ) - ~ [i/2]
i=1
i-1
Verify each. n-
13. 2 ' 2 - O ( n ! )
14.
1
n
~ 2 i - O ( 2 n)
15. ~ i k - O ( n k+l)
i=0
16.
i=0
?l
-n- i ( i + 11) i=1
-0(1)
H
17. ~ i ( i + l ) = O ( n
a)
18. ~ ( 2 i
i=1
1 ) 2 - 0 ( n a)
i=1
19-22. Let an denote the n u m b e r of times the statement x ~-- x + 1 is executed by each loop in Exercises 35-38 in Section 4.4. Using the big-oh notation, estimate the growth of a,2 in each case. 23-32. Using the big-omega notation, estimate the growth of each function in Exercises 1-5 and 8-12. Verify each. Jl
33. (3n)! - g~(6n)
34. ~ i(i + 1 ) - g2(n3) i=1
n
n
36. ~ (2i - 1) 2 - i2(n 3)
35. ~ (2i - 1) - g~(n2) i=1
i=1
38. 4n 2 + 2 n - 3 = ~ ( n
37. 2n + 3 - S2(n) 39. 2n 3 - 3 n 2 + 4 n - ~ ( n 41. 3 1 g n + 2 - S 2 ( l g n ) n
43. ~ [i/2J -- f2(n 2) i--1
3)
40. 3 +
lgn-~(lgn)
42. 2 3 - ~(1) n
44. ~ [i/27 = g2(n2) i=1
2)
247
4.7 Complexitiesof Algorithms (optional)
45. Let fl(n) = O(g(n)) and f2 (n) = k f 1 (n), where k is a positive constant. Show t h a t f2 (n) = O(g(n)). 46. Consider the constant function f ( n ) = k. Show t h a t f ( n ) = O(1). Let f (n) = O ( h ( n ) ) and g ( n ) = O ( h ( n ) ) . Verify each. 47. (f + g ) ( n ) = O ( h ( n ) )
48. (f . g ) ( n ) = O((h(n)) 2)
49. Let f, g, and h be three functions such t h a t f ( n ) = O(g(n)) and g ( n ) O ( h ( n ) ) . Show t h a t f ( n ) = O ( h ( n ) ) . m
50. Let f(n) = ~ ai ni, where each ai is a real n u m b e r and am ~ O. Prove i=O
t h a t f(n) = | 51. Let f , g : N ~ IR. Prove t h a t f ( n ) - | if and only i f A ]g(n) ] < If(n)[ < B ]g(n) I for some constants A and B.
The time complexities of s t a n d a r d algorithms can be used to estimate theoretically using the big-oh and big-theta notations. Before beginning to code an algorithm we should make sure it will do its job. Why is analyzing the algorithm important? Several routines can perform the same task, but not necessarily with the same efficiency, so we should employ the one t h a t is most efficient. Two norms are used to m e a s u r e the efficiency of an algorithm: space complexity and time complexity.
Space Complexity S p a c e c o m p l e x i t y refers to how m u c h storage space the algorithm needs. Since this depends on factors such as the computer used and methods of data storage, we restrict our discussion to time complexity.
Time Complexity The time c o m p l e x i t y of an algorithm refers to the time it takes to r u n the algorithm. It is often m e a s u r e d by the n u m b e r of f u n d a m e n t a l operations performed by the algorithm. In the case of a sorting or searching algorithm, we shall use element-comparison as the basic operation. Since the time required by an algorithm depends on the input size n, we m e a s u r e time complexity in t e r m s of n. Often we are interested in three cases: 9 The best-case time is the m i n i m u m time needed to execute an algorithm for an input of size n.
Chapter 4 Induction and Algorithms
248
9 The w o r s t - c a s e - t i m e is the m a x i m u m time needed to execute the algorithm for an input of size n. 9 The a v e r a g e - c a s e - t i m e is the average time needed to execute the algorithm for an input of size n. E s t i m a t i n g the average t i m e is often a difficult task, involving probability. We begin our analysis with the a l g o r i t h m for m a t r i x multiplication. ~
E s t i m a t e the n u m b e r a n of operations (additions and multiplications) needed to compute the product C of two matrices A and B of o r d e r n. SOLUTION:
n
LetA - (aij)nxn, B-
( b i j ) n x n , and C~- (cij)nx n. S i n c e cij -
~
a i k b k j , it takes
k=l
n multiplications and n - 1 additions to compute each cij. T h e r e are n 2 elements in C and each takes a total of n + (n - 1) - 2n - 1 operations. Therefore, an - n 2 ( 2 n - 1) - O(n 3) - e)(n3). T h u s the p r o d u c t takes O(n 3) -- (~)(n3) operations, m Next we estimate the n u m b e r of operations required to c o m p u t e the product of two binary integers. Use Algorithm 4.5 to estimate the m a x i m u m n u m b e r a,~ of operations (shifting and additions) required to compute the product of two b i n a r y integers x - (x~... x0)two and y - (Yn 999y0)two. SOLUTION: The worst case occurs when yj - i for everyj. Each yj c o n t r i b u t e s a shift ofj tl
places to the left. Therefore, the total n u m b e r of s h i f t s - E J - n ( n + 1)/2, j=0 by Example 4.15. T h e r e are n + 1 partial products. Adding t h e m involves an (n + 1)-bit integer, an (n + 2)-bit i n t e g e r , . . . , a (2n + 1)-bit integer. Therefore, the total n u m b e r of bit additions required is 2n + 1. Thus: an - ( m a x i m u m no. of shifts) + ( m a x i m u m no. of additions)
=
n ( n + 1)
2
+2n+1
= O(n 3) -- (-)(n 3)
m
Next, we estimate the n u m b e r of comparisons required by the bubble sort algorithm, so review it before proceeding any further. Let Cn denote the n u m b e r of comparisons required in line 3 of the bubble sort algorithm (see Algorithm 4.10). E s t i m a t e the order of m a g n i t u d e of Cn. SOLUTION: In line 3 of the algorithm, the consecutive elements xj and x j + l are compared for every value o f j . Since j varies from 1 to n - i, the
4.7 Complexities of Algorithms (optional)
249
n u m b e r of c o m p a r i s o n s is n - i, by v i r t u e of t h e i n n e r loop, w h e r e 1 < i
n-1
n-1
n-1
Cn--E(n-i)--En-Ei i=1
i=1
i-1
(n - 1)n ,
=n(n- 1)- ~
by E x a m p l e 4.15
n ( n - 1) -- O(n 2) - |
2)
T h u s the bubble sort a l g o r i t h m t a k e s O(n 2) - - |
2) comparisons,
m
We t u r n our analysis to the search a l g o r i t h m s p r e s e n t e d in Section 5. Review t h e m before proceeding any f u r t h e r . Use the linear search a l g o r i t h m (Algorithm 4.8) to e s t i m a t e the best time, the worst time, and the average t i m e r e q u i r e d to search for a key in a list X of n elements. SOLUTION: Let an, bn, and Cn denote the n u m b e r of e l e m e n t c o m p a r i s o n s needed in line 3 in the average case, the best case, and the worst case, respectively. 9 The best case is realized ifxn - key. Since this t a k e s only one c o m p a r i s o n for all i n p u t s of size n, bn = 1. So bn = O(1) and t h e execution t i m e is a constant. 9 To c o m p u t e Cn, notice t h a t the w o r s t case occurs w h e n key does not exist in the list, in which case the w h i l e loop is executed n + 1 times. Therefore,
Cn-n+l
whenn>_ 1
= 2n - O(n) Thus, in t h e worst case, the linear search a l g o r i t h m t a k e s O(n) comparisons. The r u n t i m e varies linearly with i n p u t size. 9 To c o m p u t e the average t i m e an, we need to consider two cases: key occurs or does not occur in the list. If key occurs in position i, n - i + 1 e l e m e n t c o m p a r i s o n s will be required, w h e r e 1 < i < n. If key does not occur in the list, n + 1 comparisons will be needed. So t h e average t i m e
250
Chapter 4
Induction and Algorithms
t a k e n is given by (l+2+...+n)+(n an =
+ 1)
n+l (n + 1)(n + 2)
-
2(n + 1) n
= - + 1 - O(n) 2 Again, it t a k e s O(n) e l e m e n t comparisons. Thus, t h e average case, f r o m t h e complexity point, is no b e t t e r t h a n t h e worst case in linear search. II N o t e : In the average case analysis, we a s s u m e d k e y could occur in a n y of the n positions with an equal chance. We also a s s u m e d t h a t it h a d t h e s a m e chance of not occurring in t h e list. If t h a t were not the case, we would need to apply the concept of expected value in probability t h e o r y to c o m p u t e an. N e x t we e x a m i n e the complexity of the b i n a r y search a l g o r i t h m .
Let Cn denote the m a x i m u m n u m b e r of c o m p a r i s o n s in lines 6 t h r o u g h 8 of the b i n a r y search a l g o r i t h m (Algorithm 4.9). Show t h a t Cn = O(lg n). SOLUTION: Case I
Let n be a power of 2, say, n - 2 h w h e r e k >_ 0. Initially, m i d - [(low + 2k)/2J - 2 k - l , so the lower sublist contains 2 h-1 - i elem e n t s and the u p p e r sublist 2 k- 1 elements. By now two c o m p a r i s o n s have t a k e n place, one in line 6 and t h e o t h e r in line 8. Since the u p p e r sublist contains more elements, p a r t i t i o n it into t h r e e sublists. This t i m e t h e maxi m u m n u m b e r of e l e m e n t s in a sublist is 2 h-2 and two m o r e c o m p a r i s o n s are needed. At t h e next stage, two m o r e c o m p a r i s o n s are needed. C o n t i n u e like this until the list contains one element, w h e n k = 0. Again, two m o r e c o m p a r i s o n s ensue. Thus, in the worst case, two c o m p a r i s o n s are needed for each power i of 2, w h e r e 0 _< i _< k. Therefore, + high)/2J -/(1
Cn - -
2(k + 1) - 2k + 2
-21gn+2,
sincen-2
k
= O(lg n) C a s e 2 Suppose n is not a power of 2. Let n be an i n t e g e r such t h a t 2 j < n < 2 j + l . T h e n j < lg n. Let N - 2 j + l . Clearly, Cn < CN. By t h e above analysis, CN = 2 ( j + 2). Thus: Cn < C N
= 2 ( j + 2)
4.7 Complexities of Algorithms (optional)
251
< 2(lg n + 2) <2(lgn§
whenn>4
=41gn = O(lg n) Thus, w h e t h e r or not n is a power of 2, C n - O(lg n), so the a l g o r i t h m takes O(lg n) comparisons in the worst case. I Additional examples of analyzing the complexities of algorithms a p p e a r in the exercises and the next chapter. Exercises 4.7 1. Show t h a t it takes O(n 2) additions to compute the sum of two square matrices of order n. 2. Let A and B be two square matrices of order n. Let Cn denote the n u m b e r of comparisons needed to d e t e r m i n e w h e t h e r or not A < B. Show t h a t Cn - O(n2). Let A be a square matrix of order n. Let Sn denote the n u m b e r of swappings of elements needed to find the transpose A T of A. 3. Find a formula for Sn.
4. Show t h a t Sn
=
O(n2).
5. Show t h a t the n u m b e r of additions of two n-bit integers is O(n). Let an denote the n u m b e r of additions (lines 5 and 6) required to compute the square of an integer using the algorithm in Exercise 6 of Section 5. 6. Find a formula for
an.
7. Show t h a t an = O ( n ) .
Algorithm 4.13 finds the m a x i m u m value in a list X of n items. Use it to answer Exercises 8 and 9. Algorithm fi ndmax(X, n,max) (* This a l g o r i t h m r e t u r n s the l a r g e s t item in a l i s t items in a v a r i a b l e c a l l e d max. *) O. Begin (* a l g o r i t h m *) 1. max +- Xl (* i n i t i a l i z e max *) 2. i ~-2 3. w h i l e i < n do 4. begin (* w h i l e *) 5. i f x i > max then (* update max *) 6. max K- xi 7. i ~- i + l
8. 9.
endwhile End (* a l g o r i t h m *)
Algorithm 4.13
X of n
252
Chapter 4 Induction and Algorithms
8. Establish the correctness of the algorithm. 9. Let Cn denote the number of comparisons needed in line 5. Show that Cn = O ( n ) .
10. Let Cn denote the number of element-comparisons in line 6 of the insertion sort algorithm in Algorithm 4.12. Show that Cn - O(n2). Use the m i n m a x a l g o r i t h m in A l g o r i t h m 4 . 1 4 to a n s w e r E x e r c i s e s 1 1 - 1 3 .
Algorithm iterative minmax(X,n,min,max) (* This algorithm returns the minimum and the maximum of a l i s t X of n elements. *) 0. Begin (* algorithm *) 1. i f n > 1 then 2. begin (* if *) 3. rain <-- Xl 4. max <-- Xl 5. f o r i = 2 to n do 6. begin (* for *) 7. i f xi < mi n then 8. min K-- xi 9. i f x i > max then 10. max K- xi 1I. endfor 12. endif 13. End (* algorithm *)
Algorithm
4.14
11. Find the maximum and the minimum of the list 12, 23, 6, 2, 19, 15, 37. 12. Establish the correctness of the algorithm. 13. Using the big-oh notation, estimate the number Cn of comparisons in lines 7 and 9 of the algorithm. 14. Letcn denote the maximum number of comparisons in lines 6 through 8 of the binary search algorithm (Algorithm 4.9). Show that Cn - (~)(lgn).
This chapter provided a quick introduction to number theory, one of the oldest branches of mathematics. By accepting the well-ordering principle as an axiom, we established the principle of induction. We saw many examples of how pivotal induction is in proving loop invariants. We also illustrated how to add and multiply any two nondecimal numbers, and how to subtract binary integers using complements.
ChapterSummary
253
Finally, we established the partial correctness of algorithms and discussed the time complexities of some s t a n d a r d algorithms using the big-oh and big-theta notations.
The Well-Ordering Principle 9 Every n o n e m p t y subset of N has a least element (page 186).
The Division Algorithm 9 The d i v i s i o n a l g o r i t h m When an integer a is divided by a positive integer b, there exist a unique quotient q and a unique r e m a i n d e r r such t h a t a - bq + r, where 0 < x < b (page 186). 9 An integer p >_ 2 is a p r i m e if its only positive factors are 1 and p (page 189).
The Greatest Common Divisor (gcd) 9 A positive integer d is the gcd of two positive integers a and b if: 9 dlaanddJb;and
9 i f d ' i a and d ' l b , then d ' i d . (page 191). 9 The e u c l i d e a n a l g o r i t h m , which uses successive applications of the division algorithm, provides a procedure to compute gcd{a,b} (page 193). 9 Two positive integers a and b are relatively prime if gcd{a,b} = 1 (page 194). 9 Every decimal integer has a unique nondecimal representation in a given base and every nondecimal integer has a unique decimal value (page 197). 9 Binary subtraction (page 203).
can
be
performed
using
two's
Mathematical Induction 9 Weak version
Let P(n) be a predicate such t h a t
9 P(n0) is true; and 9 for every k > no, if P(k) is true, P ( k + 1) is also true. Then P(n) is true for every n >_no (page 209). 9 Strong version
Let P(n) be a predicate such that
~ P(no) is true; and
complement
Chapter4 Inductionand Algorithms
254
9 for every k >_ no, if P(n0), P(n0 + 1 ) , . . . , P(k) are true, P(k + 1) is also true. Then P(n) is true for n >_ no (page 218). 9 T h e F u n d a m e n t a l T h e o r e m of A r i t h m e t i c Every positive integer >_ 2 is either a prime or can be expressed as a product of primes (page 218).
Algorithm Correctness 9 Using induction, we verified the partial correctness of several standard algorithms: linear search (page 228), binary search (page 230), bubble sort (page 233), and selection sort (page 234). The Big-0h Notation if there are positive constants C and no such that If(n)] > C ]g(n) ] for every n > no (page 237).
9 f(n)=O(g(n)),
9 f(n) = ~(g(n)), 9 f ( n ) = (-)g(n),
if If(n)] > C ]g(n) ] for every n >_ no (page 243). i f f ( n ) = O(g(n)) and f ( n ) = ~ ( g ( n ) )
(page 245).
9 The time complexity of an algorithm is the execution time of the algorithm (page 245).
Review Exercises Using the euclidean algorithm, find the gcd of each pair of integers. 1. 18,28
2. 36, 12
3. 15,24
4. 1024, 3076
Express each number in base 10. 5. 2000eight
6. 2345sixteen
7. BADsixteen
*8. BAD.CAsixteen
Rewrite each number in the indicated base b. 9. 245, b = 2
10. 348, b = 8
11. 1221, b = 8
12. 1976, b = 1 6
In Exercises 13-16, perform the indicated operation. 13. ll010two +llltwo
14. 5768sixteen +78CBsixteen
15. 5AB8sixteen • BiDsixteen
16. ll0110two -ll011two
Rewrite each binary integer in base eight. 17. 10110101
18. 1101101101 19. 100110011
20. 10011011001
21-24. Rewrite the binary integers in Exercises 17-20 in base 16. Find the value of x resulting from the execution of each algorithm fragment.
Chapter Summary 25.
255
x ~- 0 f o r i = 1 to n do f o r j = 1 to n do x <-- x + i
26.
x ~-- 0 f o r i = 1 to n do f o r j = 1 to i do f o r k = i to j do x+-x+l
27. F i n d a f o r m u l a for t h e n u m b e r an of t i m e s t h e s t a t e m e n t x ~ x + I is e x e c u t e d by t h e following loop: for i = 1 to n do for j = 1 to [i/2] do x,-
x+l
28. Let a,b,c,d ~ N. Let d lab, d lac, a n d b a n d c be relatively p r i m e n u m b e r s . P r o v e t h a t d la.
29. Let a,b E N a n d gcd{a,b} = 1. P r o v e t h a t gcd{a - b,a + b} - 1 or 2. U s i n g i n d u c t i o n prove each, w h e r e n is a positive integer. 30. n 2 - n is divisible by 2. 32.
31. n 3 - n is divisible by 3.
n(4n 2 - 1)
n
>--]~(2i - 1) 2 i=l --
3
1
n
33. F 1
n
( 2 i - 1)(2i + 1)
--
2n + 1
34. T h e p r o d u c t of a n y two consecutive positive i n t e g e r s is even. 35. Suppose you h a v e an u n l i m i t e d supply of identical black a n d w h i t e socks. U s i n g i n d u c t i o n a n d t h e pigeonhole principle, show t h a t y o u m u s t select at least 2n + 1 socks in o r d e r to e n s u r e n m a t c h i n g pairs. (C. T. Long) E v a l u a t e each s u m a n d product. n
n
36. ~ i ( i + l ) i=l
i=lj=l
n
n
38. ~ ~ 2 i3 j
n
n
i=lj=l n
i=lj--i
n
1-] 1-] 2i3J
n
39. ~ ~ 2 j
i-l j=l
40.
n
37. ~ ~ ( 2 i + 3 j )
n
41.
n
1-[ 1-] 32j i=lj=l
n
n
i
42. ]-] ~ 2 i
*43. ~ i ] - Ij
i-lj=l
i=l
j=l
44. Let S n d e n o t e t h e value of s u m after n i t e r a t i o n s of t h e while loop in A l g o r i t h m 4.15. P r o v e t h a t P(n): Sn = n(n + 1) is a loop i n v a r i a n t . A l g o r i t h m evensum (n) (* This a l g o r i t h m computes the sum o f the f i r s t p o s i t i v e even i n t e g e r s . *) O. Begin (* a l g o r i t h m *) I. sum <-- 0
x
256
Chapter 4 Induction and Algorithms
2. 3. 4. 5. 6. 7. 8.
i ,-- 0 (* c o u n t e r *) w h i l e i < n do begin (* w h i l e *) i <--i § sum <- sum + 2 * i endwhi 1 e End (* a l g o r i t h m *)
Algorithm 4.15 45. Using Example 4.23 predict a f o r m u l a for the n u m b e r of trailing zeros in n V where n > 1. 46. Let a n denote the n u m b e r of operations (additions and multiplications) in line 6 of the a l g o r i t h m in Exercise 44. F i n d the order of m a g n i t u d e of an.
47. Add two lines to the following n u m b e r p a t t e r n , where tn denotes the nth triangular number. tl+t2+t3
=t4
t5 + t6 + t7 + t8 = t9 + tl0 tll + t12 + t13 + t14 + t15 = t16 + t17 + t18 Prove each, where tn denotes the n t h t r i a n g u l a r n u m b e r . 48. t 2 - t n2_ 1 - n 3
49. t 2 - tn + t n - l t n + l
50. 2 t n t n - 1 - tn2 - 1
Supplementary Exercises 1. Prove t h a t (m 2 - n 2, 2 m n , m 2 + n 2) is a solution of the e q u a t i o n x 2 + y2 _ z 2. 2. Prove t h a t the product of the sums of two squares of two integers can be w r i t t e n as a sum of two squares. 3. Let tk denote the kth t r i a n g u l a r n u m b e r and n any t r i a n g u l a r n u m ber. Prove t h a t (2k + 1)2n + tk is also a t r i a n g u l a r n u m b e r . (R. F. J o r d a n , 1991) 4. In 1950, P. A. Piza discovered the following formula about s u m s of n n n powers of t r i a n g u l a r n u m b e r s ti " [3 ~ ti] 3 -- ~ t 3 + 2 ~ t 4. Verify it for n - 3 and n - 4. i=1 i-1 i-1 5. Show t h a t 111 cannot be a square in any base. *6. Prove t h a t one more t h a n the product of four is a perfect square, and the square root of the the average of the product of the smaller and the product of the two middle integers. (W. M.
consecutive integers r e s u l t i n g n u m b e r is larger n u m b e r s and Waters, 1990)
Chapter Summary
257
A composite n u m b e r n is D u f f i n i a n if none of its positive factors, except 1, is a factor of the sum s of its proper factors. For example, let n = 21. The sum of its proper factors - 1 + 3 + 7 = 11. Since both 3 and 7 are not factors of 11, 21 is Duffinian. (You may verify t h a t 10 is not Duffinian.) 7. Determine if 18, 25, 36, and 43 are Duffinian. 8. Let p be a prime and k a positive integer > 2. Prove t h a t Duffinian.
pk is
9. Prove t h a t n is Duffinian if and only if none of the factors of n, except 1, is a factor of n. 10. Prove or disprove: Duffinian.
The product of two Duffinian n u m b e r s is
Prove each, where n is a positive integer. "11. n(3n4+ 7n2+ 2) is divisible by 12. "12. n(3n4+ 13n2+ 8) is divisible by 24. * ' 1 3 . Let Sn denote the sum of the elements in the n t h set in the sequence of sets of positive integers {1}, {3, 5}, {7, 9, 11}, {13, 15, 17, 19}, . . . . Find a formula for Sn. (R. Euler, 1988) * ' 1 4 . Let Sn denote the sum of the elements in the n t h set in the sequence ofpositive integers {1}, {2, 3 , . . . , 8}, {9, 1 0 , . . . , 21}, {22, 2 3 , . . . , 40}, . . . . Find a formula for Sn. (C. W. Trigg, 1980) * ' 1 5 . Three schools in each state, Alabama, Georgia, and Florida, enter one person in each of the events in a track meet. The n u m b e r of events and the scoring system are u n k n o w n , but the n u m b e r of points for the third place is less t h a n t h a t for the second place, which in t u r n is less t h a n the n u m b e r of points for the first place. Georgia scored 22 points, and Alabama and Florida tied with 9 each. Florida won the high jump. Who won the mile run? (M. vos Savant, 1993)
Computer Exercises Write a program to perform each task. 1. Read in an integer b >_ 2 and select b + i integers at random. Find two integers in the list such t h a t their difference is divisible by b. 2. Read in an integer n >_ 2 and select n positive integers at random. Find a sequence of integers from the list whose sum is divisible by n. 3. Read in a positive integer > 2 and determine if it is a prime.
258
Chapter 4 Induction and Algorithms
4. Determine if each value of f ( n ) n<41. 5. Redo P r o g r a m 4 with
f(n)
-
n 2 -
=
n 2 -
41 is a prime, where 0 <
n +
79n + 1601, where 0 < n < 80.
6. Determine if the n t h F e r m a t n u m b e r f ( n ) 0
-
2 2n +
1 is a prime, where
7. Find all perfect n u m b e r s < 1000. (There are three such numbers.) 8. Find the gcd{x,y} using the euclidean algorithm. 9. Read in a sequence of pairs of integers n and b. For each integer n, determine its base-b representation and use this r e p r e s e n t a t i o n to compute the corresponding decimal value. P r i n t each integer n, base b, base-b representation, and its decimal value in a t a b u l a r form. 10. Read in a positive integer n and find the n u m b e r of trailing zeros in n!. 11. A p a l i n d r o m e is a positive integer t h a t reads the same backward and forward. Find the eight palindromic triangular n u m b e r s < 1000. 12. Compute the total n u m b e r of grains of wheat needed for each of the squares on an 8 x 8 chessboard, as in Exercises 39 and 40 in Section 4.4. (Hint" The answer is 18,446,744,073,709,551,615 grains, which may be too large for an integer variable to hold, so t h i n k of a suitable data structure.) 13. Read in a positive integer N _< 1000. Using Example 4.24, determine how many doors will remain open at the end. Do n o t use the fact t h a t there are [~/-nJ perfect squares < n. 14. P r i n t the ages 1-31 on five tablets A, B, C, D, and E, as in Figure 4.2. Read in some tablets at r a n d o m and compute the corresponding age. Extend the puzzle to six tablets to include ages t h r o u g h 63. 15. Read in a positive integer n and determine if it is a prime. 16. Construct a table of values of the function E ( n ) - n 2 - n + 41, where 0 < n _< 41, and identify each value as prime or composite. 17. Redo program 16 with L ( n ) - n 2 + n + 41, where 0 < n < 41, and identify each value as prime or composite. 18. Redo program 16 with H ( n ) - 9n 2 - 471n + 6203, where 0 < n < 39, and identify each value as prime or composite. 19. Redo program 16 with G ( n ) - n 2 - 2999n + 2248541, where 1460 < n < 1539, and identify each value as prime or composite. 20. Read in a positive integer n, and list all primes < n and are of the form k2+l.
Chapter Summary
259
21. Read in a positive integer n and find a prime between: (a) n and 2n.
(b) n 2 and n 2 + 1.
Exploratory Writing Projects Using library and Internet resources, write a team report on each of the following in your own words. Provide a well-documented bibliography. 1. Describe how twin primes were used in 1994 by Thomas Nicely of Lynchburg College, Virginia, to detect defects in the Pentium chip. 2. Explain how to construct Tables A-E in Figure 4.2 and how the puzzle works. Extend the puzzle to cover ages through 63. 3. Describe the origin of mathematical induction. Include biographies of those who developed this proof technique. Comment on its importance in computer science. 4. Describe the origin of figurate numbers. Explain the various types and their properties. Include the relationships between the 12 days of Christmas puzzle, and polygonal numbers and tetrahedral numbers. 5. Explore the history of magic squares. Do they have any practical applications? 6. Describe the origin of the big-oh, big-omega, and big-theta notations. Include biographies of mathematicians who developed them. 7. Investigate the various classes of prime numbers. 8. Describe the history of finding larger and larger primes, and their practical applications. Comment on the Greatest Internet Mersenne Prime Search (GIMPS), founded in 1996 by George Woltman. 9. Discuss the game of Nim and its relationship to binary numbers. 10. Discuss Eleusis, a card game devised by R. Abbott of New York.
Enrichment Readings 1. R. G. Archibald, An Introduction to the Theory of Numbers, Merrill, Columbus, OH, 1970, pp. 1-95. 2. G. Brassard and P. Bratley, Algorithmics: Theory & Practice, Prentice Hall, Englewood Cliffs, NJ, 1988. 3. J. Dugle, "The Twelve Days of Christmas and Pascal's Triangle," Mathematics Teacher, Vol. 75 (Dec. 1982), pp. 755-757. 4. G. H. Hardy, A Mathematician's Apology, Cambridge University Press, Cambridge, 1941.
260
Chapter4 Inductionand Algorithms 5. T. Koshy, Elementary Number Theory with Applications, Harcourt/ Academic Press, Boston, 2002, pp. 1-189. 6. C. Oliver, "The Twelve Days of Christmas," Mathematics Teacher, Vol. 70 (Dec. 1977), pp. 752-754. 7. H.S. Wilf, Algorithms and Complexity, Prentice-Hall, Englewood Cliffs, NJ, 1986, pp. 8-22, 137-175.
Chapter 5
Recursion It is common sense to take a method and try it. I f it fails, admit it frankly and try another. But above all, try something. FRANKLIN ROOSEVELT
R
ecursion is an elegant and powerful problem-solving technique, used extensively in both discrete mathematics and computer science. Many programming languages, such as ALGOL, FORTRAN 90, C + +, and Java, support recursion. This chapter investigates this powerful method in detail. In addition, we will study three simple methods for solving recurrence relations: iteration, characteristic equations, and generating functions. We also will establish the validity ofrecursive algorithms using induction and analyze their complexities using the big-oh and big-theta notations. Some of the interesting problems we pursue in this chapter are: 9 There are three pegs X, Y, and Z on a platform and 64 disks of increasing sizes at X. We would like to move them from X to Z using Y as an auxiliary peg subject to the following conditions: Only one disk can be moved at a time. No disk can be placed on the top of a smaller disk. If it takes one second to transfer a disk from one peg to another, how long will it take to solve the puzzle? 9 Is there a formula for the number of n-bit words containing no two consecutive l's? 9 Suppose we introduce a mixed pair (male and female) of l-month-old rabbits into a large enclosure on J a n u a r y 1. By the end of each month, the rabbits become mature, and each pair produces k - 1 mixed pairs of offspring at the beginning of the following month. Find the average age of the rabbit pairs at the beginning of the nth month. 9 Can we estimate the number of divisions required to compute gcd{a, b} by the euclidean algorithm? 9 What is a divide-and-conquer algorithm? If f (n) denotes the number of operations required by such an algorithm, what can you say about its order of complexity? 261
Chapter 5 Recursion
262
Recall t h a t in Section 2.5 we employed recursion to define sets; we invoked the recursive clause to construct new elements from k n o w n elements. The same idea can be applied to define functions, and hence sequences as well. This section illustrates how powerful a problem-solving technique recursion is. We begin with a simple problem: i There are n guests at a sesquicentennial ball. Each person shakes h a n d s with everybody else exactly once. How m a n y h a n d s h a k e s are made? Suppose you would like to solve a problem such as this. (See Example 5.3.) The solution may not be obvious. However, it may t u r n out t h a t the problem could be defined in terms of a simpler version of itself. Such a definition is a r e c u r s i v e d e f i n i t i o n . Consequently, the given problem can be solved provided the simpler version can be solved. This idea is pictorially represented in Figure 5.1. F i g u r e 5.1 can b e solved r if
can b e solved Y if
can b e solved v if This is solvable.
Recursive Definition of a Function Let a ~ W and X - { a , a + 1,a + 2,...}. The r e c u r s i v e d e f i n i t i o n of a function f with domain X consists of three parts, where k > 1" 9 B a s i s c l a u s e A few initial values of the function f(a), f ( a + 1 ) , . . . , f ( a + k - 1) are specified. An equation t h a t specifies such initial values is an i n i t i a l c o n d i t i o n . 9 R e c u r s i v e c l a u s e A formula to compute f ( n ) from the k preceding functional values f ( n - 1), f ( n - 2), . . . , f ( n - k ) is made. Such a formula is a r e c u r r e n c e r e l a t i o n (or r e c u r s i o n f o r m u l a ) . 9 T e r m i n a l c l a u s e Only values thus obtained are valid functional values. (For convenience, we drop this clause from our recursive definition.)
5.1 Recurslvely Defined Functions
263
T h u s the recursive definition of f consists of one or more (a finite n u m b e r of) initial conditions, and a r e c u r r e n c e relation. Is the recursive definition of f a valid definition? In other words, if t h e k initial values f(a), f ( a + 1 ) , . . . , f ( a + k - 1) are k n o w n and f ( n ) is defined in t e r m s ofk of its p r e d e c e s s o r s f ( n - 1), f ( n - 2 ) , . . . , f ( n - k ) , where n > a + k, i s f ( n ) defined for n > a? F o r t u n a t e l y , the next t h e o r e m comes to our rescue. Its proof uses s t r o n g induction and is complicated, so we omit it. ~
Let a ~ W, X f(a), f ( a + 1), > a + k such f ( n - k). T h e n
- {a,a + 1,a + 2,...}, and k e N. Let f 9 X --~ ]~ such t h a t . . . , f ( a + k - 1) are known. Let n be any positive i n t e g e r t h a t f ( n ) is defined in t e r m s of f ( n - 1), f ( n - 2 ) , . . . a n d f ( n ) is defined for every n _> a. m
By virtue of this theorem, recursive definitions are also k n o w n as ] ...........................................
I inductive definitions.
The following examples illustrate the recursive definition of a function. Define recursively the factorial function f. SOLUTION: Recall t h a t the factorial function f is defined by f ( n ) = n!, where f(0) - 1. Since n! - n ( n - 1)!, f c a n be defined recursively as follows:
f(o)-
~- initial condition
1
f ( n ) - n . f ( n - 1),
n > 1
~ recurrence relation
m
Suppose we would like to compute f(3) u s i n g this recursive definition. We t h e n continue to apply the recurrence relation until the initial condition is reached, as s h o w n below:
f(3) = 3 9f(2)
(5.1) return value
f(2) = 2. f ( 1 ) ~ . . .
/
(5.2) return value
f(1) = 1. f(o)
(5.3)
) f(o) = 1
return value (5.4)
Chapter 5 Recursion
264
Since f(0) = 1, 1 is s u b s t i t u t e d for f(0) in E q u a t i o n (5.3) a n d f(1) computed: f(1) = 1 9f(0) = 1 9 1 = 1. This value is s u b s t i t u t e d for f(1) E q u a t i o n (5.2) and f(2) is computed: f(2) = 2 .f(1) = 2 . 1 = 2. This value now r e t u r n e d to E q u a t i o n (5.1) to c o m p u t e f(3): f(3) = 3 9f(2) = 3 . 2 = as expected. ~
J
u
d
y
is in is 6,
deposits $1000 in a local savings b a n k at an a n n u a l i n t e r e s t r a t e of 8% c o m p o u n d e d annually. Define recursively the c o m p o u n d a m o u n t A ( n ) she will have in her account at the end of n years.
SOLUTION: Clearly, A(0) = initial deposit - $1000. Let n >_ 1. Then:
A(n)
compound a m o u n t ) + at the end of the (n - 1)st y e a r
-
= A(n
-
1) + (0.08)A(n
-
interest e a r n e d ) d u r i n g the n t h year
1)
= 1 . 0 8 A ( n - 1) Thus
A(n)
can be defined recursively as follows" A(0)-
1000
~ initial condition
A(n)-
1 . 0 8 A ( n - 1),
n >__ 1
+-- r e c u r r e n c e relation
I
For instance, the c o m p o u n d a m o u n t J u d y will have at the end of t h r e e years is A(3) = 1.08A(2) = 1.08 [ 1.08 A( 1)l - 1.082A(1) = 1 . 0 8 2 1 1 . 0 8 A ( 0 ) 1 - 1.083(1000) $1259.71"
The next two examples illustrate an extremely useful problem-solving technique, used often in discrete m a t h e m a t i c s and c o m p u t e r science.
(The h a n d s h a k e p r o b l e m ) T h e r e are n guests at a s e s q u i c e n t e n n i a l ball. Each person shakes h a n d s with everybody else exactly once. Define recursively the n u m b e r of h a n d s h a k e s h ( n ) t h a t occur. SOLUTION: Clearly, h(1) - 0, so let n >_ 2. Let x be one of the guests. By definition, the n u m b e r of h a n d s h a k e s m a d e by the r e m a i n i n g n - 1 guests a m o n g themselves is h ( n - 1). Now person x shakes h a n d s with each of these *The symbol ~ means is approximately
equal to.
5.1 Recursively Defined Functions
265
n - 1 guests, y i e l d i n g n - 1 a d d i t i o n a l h a n d s h a k e s . So t h e total n u m b e r of h a n d s h a k e s m a d e e q u a l s h(n - 1) + (n - 1), w h e r e n > 2. T h u s h(n) can be defined r e c u r s i v e l y as follows: h(1)-
0
~- initial condition
h(n) = h(n - 1) + (n - 1),
n>2
~- r e c u r r e n c e r e l a t i o n
I
( T o w e r o f B r a h m a * ) A c c o r d i n g to a l e g e n d of India, at t h e b e g i n n i n g of creation, God s t a c k e d 64 golden disks on one of t h r e e d i a m o n d pegs on a b r a s s p l a t f o r m in t h e t e m p l e of B r a h m a at B e n a r e s ~ (see F i g u r e 5.2). T h e p r i e s t s on d u t y w e r e a s k e d to move t h e disks f r o m p e g X to p e g Z u s i n g Y as a n a u x i l i a r y p e g u n d e r t h e following conditions" 9 O n l y one disk can be m o v e d at a time. 9 No disk can be placed on t h e top of a s m a l l e r disk. T h e p r i e s t s w e r e told t h a t t h e world w o u l d e n d w h e n t h e job was c o m p l e t e d .
F i g u r e 5.2
[
I
)
I X
Y
Z
S u p p o s e t h e r e a r e n disks on peg X. L e t bn d e n o t e t h e n u m b e r of m o v e s n e e d e d to move t h e m f r o m peg X to peg Z, u s i n g peg Y as an i n t e r m e d i a r y . Define bn recursively. SOLUTION: Clearly bl - 1. A s s u m e n _> 2. C o n s i d e r t h e top n - 1 disks on p e g X. By definition, it t a k e s b~_l moves to t r a n s f e r t h e m f r o m X to Y u s i n g Z as a n auxiliary. T h a t leaves t h e l a r g e s t disk at peg X; it t a k e s one m o v e to t r a n s f e r it f r o m X to Z. See F i g u r e 5.3. N o w t h e n - 1 disks at Y c a n be m o v e d f r o m Y to Z u s i n g X as a n i n t e r m e d i a r y in bn-1 moves, so t h e t o t a l n u m b e r of moves n e e d e d is bn-1 + 1 + bn-1 - 2bn_ 1 + 1. T h u s bn can be defined r e c u r s i v e l y as follows"
b n = {1 2bn-1 + 1
if n -- 1
<-- initial condition
otherwise
<--- r e c u r r e n c e r e l a t i o n
m
*A puzzle based on the Tower of Brahma was marketed in 1883 under the name Tower of Hanoi. t Benares is now known as Varanasi.
266
Chapter 5 Recursion
Figure 5.3
9 (
I I
!
) )
Y
For example, b4 - 2b3 + 1
= 212b2 + 1] + 1
= 4b2 + 2 + 1
= 412bl + 1] + 2 + 1
=8b1+4+2+1
=8(1)+4+2+1
=15 so it t a k e s 15 moves to t r a n s f e r 4 disks from X to Z, by this s t r a t e g y . T h e next example also illustrates the s a m e technique. We will t a k e it a step f u r t h e r in C h a p t e r 6. I m a g i n e n lines in a plane such t h a t no two lines are parallel, a n d no t h r e e are concurrent.* Let fn denote the n u m b e r of distinct regions into which the plane is divided by t h e m . Define fn recursively. SOLUTION: If t h e r e is j u s t one line ~1 in the plane, t h e n fl - 2 (see F i g u r e 5.4). Now consider a second line ~2; it is i n t e r s e c t e d at exactly one point by el. E a c h half of ~2 divides an original region into two, adding two m o r e regions (see Figure 5.5). T h u s f2 = fl + 2 - 4. Suppose we add a t h i r d line ~3. It is
Figure 5.4
Figure 5.5
*Three or more lines in a plane are concurrent if they intersect at a point.
5.1 RecursivelyDefined Functions
267
intersected by 61 and 62 in two points; in other words, line 63 is divided by 61 and 62 into three parts. Each portion divides an existing region into two, yielding three new regions (see Figure 5.6). So f3 = f2 + 3 = 7.
F i g u r e 5.6
More generally, suppose there are n - 1 lines 61,62, . . . , 6n-1 in the plane. They divide the plane into f n - 1 disjoint regions, by definition. Now add one more line 6n (see Figure 5.7). Since no three lines are concurrent, line 6n must intersect lines 61,62, . . . , 6n-1 at new points and hence is divided by
F i g u r e 5.7
ln_l them into n segments. Each segment divides an existing region into two subregions, contributing n more regions, so fn = f n - 1 + n. Thus fn can be defined recursively as follows: 1 fn -
if n = 0 otherwise
fn-1 + n
m
The next example illustrates how to define recursively the n u m b e r of times an assignment is executed by nested f o r loops. Let a,~ denote the n u m b e r of times the assignment s t a t e m e n t X executed by the following nested f o r loops. Define an recursively. for
i
for
= I
to
j
I to
for
-
+ 1 is
n do
i
do
k = i to j
x <--x+
X
do
1
SOLUTION: 9 First, we must find the initial condition satisfied by an. When n = 1, i = j = k = 1, so the assignment s t a t e m e n t is executed exactly once. Thus al = 1.
268
Chapter 5 Recursion
9 T o f i n d t h e r e c u r r e n c e r e l a t i o n s a t i s f i e d by an"
Let n > 2. As i runs from i through n - 1, by definition, the s t a t e m e n t is executed a n - 1 times. When i = n, the inner loops become: f o r j = 1 t o n do f o r k = 1 t o j do x <--x+ I
For each value of j, where 1 < j < n, the innermost loop executes the n n ( n + 1) statement j times. So these nested loops execute it ~ j = j=l 2 times. Therefore, an -
no. of times the statement ) is executed as i runs from + i through n - 1
no. of times the ) statement is executed when i = n
n ( n + 1) -an-1
+
Thus an can be defined as follows" al-1 an - a n - 1
n(n+ + ~ , 2
1) n > 2
(We shall pursue this definition in Example 5.11.)
m
The next example provides a recursive definition with two initial conditions. We shall use it often in the following sections and in the next chapter. ( F i b o n a e c i ) Leonardo Fibonacci, the most outstanding Italian mathematician of the Middle Ages, proposed the following problem around 1202: Suppose there are two newborn rabbits, one male and the other female. Find the number of rabbits produced in a year if: 9 Each pair takes one month to become mature. 9 Each pair produces a mixed pair every month, from the second month. 9 No rabbits die. Suppose, for convenience, that the original pair of rabbits was born on J a n u a r y 1. They take a month to become mature. So there is still only one pair on February 1. On March 1, they are 2 months old and produce a new mixed pair, a total of two pairs. Continuing like this, there will be three pairs on April 1, five pairs on May 1, and so on. See the last row of Table 5.1.
5.1 Recursively Defined Functions T a b l e 5.1
No. of pairs
Jan
Feb
Adults Babies Total
0 1 1
1 0 1
269
March April 1 1 2
2 1 3
May
June
July
Aug
3 2 5
5 3 8
8 5 13
13 8 21
L e o n a r d o F i b o n a c c i (1170?-1250?), also known as Leonardo of Pisa, was born in the commercial center of Pisa, Italy, into the Bonacci family. His father, a customs manager, expected the son to become a merchant and took him to Bougie, Algeria, to receive good training in arithmetic with Indian numerals. Leonardo's subsequent business trips to Egypt, Syria, Greece, and Sicily brought him closer to Indian mathematics. In 1202, shortly after his return, convinced of the elegance of the Indian methods of computation, Fibonacci published his famous work, Liber Abaci. (The word abaci in the title does not refer to the old abacus, but to computation in general.) This book, devoted to arithmetic and elementary algebra, introduced the Indian notation and arithmetic algorithms to Europe. Fibonacci wrote three additional books: Practica Geometriae, a collection of results in geometry and trigonometry; Liber Quadratorum, a major work on number theory; and Flos, also on number theory. Fibonacci's importance and usefulness to Pisa and its citizenry through his teaching and services were honored by Emperor Frederick II of Pisa.
The n u m b e r s 1, 1, 2, 3, 5, 8 , . . . are F i b o n a c c i n u m b e r s . * T h e y have a fascinating property: Any Fibonacci n u m b e r , except the first two, is the s u m of the two immediately preceding Fibonacci n u m b e r s . (At the given rate, there will be 144 pairs of rabbits on December 1.) This yields the following recursive definition of the n t h Fibonacci n u m b e r Fn : F1 - F2 - 1
Fn - F n - I + Fn-2,
~ initial conditions n >_ 3
(-- recurrence relation
n
The next example illustrates recursion and also shows that Fibonacci numbers occur in quite unexpected places. Let an denote the number of n-bit words containing no two consecutive 1' s. Define an recursively.
*See author's Fibonacci and Lucas Numbers with Applications for a thorough discussion of Fibonacci numbers.
270
Chapter,5 Recursion
SOLUTION: F i r s t , let u s find t h e n - b i t w o r d s c o n t a i n i n g n o t w o c o n s e c u t i v e l ' s c o r r e s p o n d i n g to n - 1, 2, 3, a n d 4 (see T a b l e 5.2). I t follows f r o m t h e t a b l e t h a t a l - 2, a2 - 3, a3 -- 5, a n d a4 = 8.
Table 5.2
n=l
n=2
0 1
00 01 10
n=4
n=3
0000 0100 1000 0010 1010 0001 0101 1001
000 010 100 001 101
N o w , c o n s i d e r a n a r b i t r a r y n - b i t w o r d . It m a y e n d in 0 or 1. C a s e 1 S u p p o s e t h e n - b i t w o r d e n d s in 0. T h e n t h e (n - 1)st b i t c a n b e a 0 or a 1, so t h e r e a r e no r e s t r i c t i o n s on t h e (n - 1)st bit" n bits r
-
-
-
0 1 0 = - ~ ( n -
1)stbit
no r e s t r i c t i o n s T h e r e f o r e , a,z_ 1 n - b i t w o r d s e n d in 0 a n d c o n t a i n n o t w o c o n s e c u t i v e l ' s . C a s e 2 S u p p o s e t h e n - b i t w o r d e n d s in 1. T h e n t h e (n - 1)st b i t m u s t b e a zero. F u r t h e r , t h e r e a r e no r e s t r i c t i o n s o n t h e (n - 2 ) n d bit" n bits r
0 1
0
1 -~
(n - 1)st b i t
no r e s t r i c t i o n s T h u s a n - 2 n - b i t w o r d s e n d in I a n d c o n t a i n n o t w o c o n s e c u t i v e l ' s . Since the two cases are m u t u a l l y exclusive, by the addition principle, we have: al -2,
initial conditions
a2-3
a n ~ a n - 1 4- a n - 2 ,
n>3
recurrence relation
5.1 Recursively Defined Functions
271
Notice that the above recurrence relation is exactly the same as the Fibonacci recurrence relation, but with different initial conditions! The resulting numbers are the Fibonacci numbers 2, 3, 5, 8, 13, .... m Notice that this example does n o t provide a constructive method for systematically listing all n-bit words with the required property. It is given in Exercise 19. Interestingly enough, the delightful Fibonacci numbers occur in numerous totally unexpected places. For instance, the numbers of spiral arrays of seeds in mature sunflowers in the clockwise and counterclockwise directions are often consecutive Fibonacci numbers, usually 34 and 55, or 55 and 89. See Figures 5.8 and 5.9. F i g u r e 5.8
F i g u r e 5.9
272
Chapter 5 R e c u r s i o n
Before closing this section, we e s t a b l i s h a n i m p o r t a n t r e s u l t f r o m t h e theory of f o r m a l languages. First, recall t h a t Z* d e n o t e s t h e set of w o r d s over an a l p h a b e t Z. Also Z* can be defined r e c u r s i v e l y as follows (see E x e r c i s e 35 in Section 2.6): 9 ~EE*.
9 IfwEZ*andsEZ,
thenwsEE*.
Furthermore, the length r e c u r s i v e l y as follows:
Ilwll of a word w over E can be defined
9 il~ll = 0.
9 If w E E* a n d s E E, t h e n Ilws[I = Ilwll + 1. U s i n g t h e s e definitions a n d induction, we prove below t h a t Ilxyll = Ilxll + Ilyll for a n y two words x a n d y in E*. Let x a n d Y be a n y two words over an a l p h a b e t Z. P r o v e t h a t IIx y II = Ilxll + Ilyll. P R O O F (by induction): Let x be a n y e l e m e n t in Z*. Let P(y) d e n o t e t h e p r e d i c a t e t h a t Ilxyll = Ilx][ + [[yl], w h e r e y E E*. S i n c e y E E * , y can be t h e null word ~ or a n o n e m p t y word. Basis step
T o s h o w t h a t P(~) is true; t h a t is, IlxZl[ = Ilxl[ + [[Zl[:
Since xk - x, IIx~ll - Ilxll = Ilxll + 0 - Ilxll + I1~11. So P(X) is true. I n d u c t i o n s t e p A s s u m e P(y) is true, t h a t is, Ilxyll - Ilxll + IlYll (inductive hypothesis). We m u s t show t h a t P(ys) is t r u e , t h a t is, Ilxysil - Ilxll + liysll. Notice t h a t : x y s = (xy)s
assoc, prop. of c o n c a t e n a t i o n
Then llxys II = li(xy)s II
l e n g t h is a f u n c t i o n
= lixyil + 1
r e c u r s i v e def. of l e n g t h
= ([[x[[ + [[y[[) + 1
inductive hypothesis
= [[x[[ + ([[y[[ + 1)
assoc, prop. of a d d i t i o n
= Ilxll + Itysll
r e c u r s i v e def. of l e n g t h
Therefore, P(ys) is true. T h u s P(y) implies P(ys). T h e r e f o r e , by induction, P(y) is t r u e for every y E E*; t h a t is, Ilxyll llxll + IlYll for every x, y E Z*. m
5.1 Recursively Defined Functions
273
Finally, we emphasize that the immediate predecessor f n - 1 need not appear in the recursive definition of a function f at n. For example, consider the function f" W ~ W defined by
fo= , f =o, f2=1 fn - f n - 2 + 2 f n - 3 ,
Clearly, fn-1
n > 3
is not needed to compute f n , when n > 3. Try f6 as an
exercise. ,
J
.
.
.
.
.
.
.
Exercises 5.1
In Exercises 1-6, an denotes the nth term of a n u m b e r sequence satisfying the given initial condition(s) and the recurrence relation. Compute the first four terms of the sequence. 2. a 0 - 1
1. a 1 - 1 an - a n - 1 --t- 3, n >_ 2
an - a n - 1 -~- n , n >__ 1
3. a 1 - 1
4. a l -
n an = ~ a n - 1 , n-1
5. al - 1, a 2 an - a n - 1
an - a n - 1
n >_ 2
1, a 3 -
1, a2 - 2
6. a l - 1 ,
2
an-
+ a n - 2 + a n - 3 , n >_ 4
+ a n - 2 , n >__ 3
a2-2,
a3-3
a n - 1 -'~ a n - 2 - ~ - a n - 3 ,
n >_ 4
7. The nth L u c a s n u m b e r L n , named after the French mathematician Fran~ois-Edouard-Anatole Lucas, is defined recursively as follows" L1 - 1, Ln-
L2-3
Ln-1 + Ln-2, n > 3
(The Lucas sequence and the Fibonacci sequence satisfy the same recurrence relation, but have different initial conditions.) Compute the first six Lucas numbers. The gcd of two integers x (> 0) and y (_> 0) can be defined recursively as follows: gcdly,
gcd{x,y} =
I
xl
x
g c d { y , x m o d y}
ify>x i f y _< x a n d y - 0 i f y _< x a n d y > 0
Using this definition, compute the gcd of each pair of integers. 8. 28, 18
9. 24, 75
274
Chapter 5 Recursion
F r a n ~ ' o i s - E d o u a r d - A n a t o l e L u c a s (1842-1891) was born in Amiens, France. After completing his studies at the E,cole Normale in Amiens, he worked as an assistant at the Paris Observatory. He served as an artillery officer in the Franco-Prussian war and then became professor of mathematics at the Lycde Saint-Louis and Lycde Charlemagne, both in Paris. A gifted and entertaining teacher, Lucas died of a freak accident at a banquet: His cheek was gashed by a piece of a plate that was accidentally dropped, and he died from infection within a few days. Lucas loved computing and developed plans for a computer that never materialized. Besides his contributions to number theory, he is known for his four-volume classic on recreational mathematics. Best known among the problems he developed is the Tower of Brahma.
A person deposits $1000 in a b a n k at an a n n u a l i n t e r e s t r a t e of 6%. Let A ( n ) denote the c o m p o u n d a m o u n t she will receive at t h e e n d of n i n t e r e s t periods. Define A ( n ) recursively if i n t e r e s t is compounded: 10. S e m i a n n u a l l y
11. Q u a r t e r l y
12. M o n t h l y
Ned deposits a certain a m o u n t A0 in a b a n k at an a n n u a l i n t e r e s t r a t e of 12% c o m p o u n d e d annually. The c o m p o u n d a m o u n t he would receive at the end of n y e a r s is given by A,, - 1.12A,,_1, w h e r e n >_ 1. D e t e r m i n e the initial deposit A0 if he would receive" 13. $1804.64 at the end of 5 years.
14. $3507.00 at t h e end of 6 years.
Define recursively each sequence of n u m b e r s . (Hint: Look for a p a t t e r n a n d define the n t h t e r m a,, recursively.)
15. 1, 4, 7, 10, 13 ...
16. 3, 8, 13, 18, 23 ...
17. 0, 3, 9, 21, 45 ...
18. 1, 2, 5, 26, 677 ...
19. An n-bit word c o n t a i n i n g no two consecutive ones can be c o n s t r u c t e d recursively as follows" Append a 0 to such (n - 1)-bit words or a p p e n d a 01 to such (n - 2)-bit words. U s i n g this procedure c o n s t r u c t all 5-bit words c o n t a i n i n g no two consecutive ones. T h e r e are 13 such words. Define each recursively, w h e r e n > 0. 20. T h e n t h power of a positive real n u m b e r x. 21. The u n i o n of n sets. 22. The intersection of n sets. 23. The n u m b e r Sn of s u b s e t s of a set with n elements. 24. The n t h t e r m an of an a r i t h m e t i c sequence with first t e r m a a n d c o m m o n difference d.
5.1 RecursivelyDefined Functions
.. "~'.. ~.),:: Z
L', ,-'-,
:, '~,.
'1
"~.
"
~. .,
9....
"
b
~?, "
~
"4
"t .~ ~'i ~ ', ..
275
John McCarthy (1927-), one of the fathers of artificial intelligence (AI), was born in Boston. He graduated in mathematics from the California Institute of Technology, receiving his Ph.D. from Princeton in 1951. After teaching at Princeton, Stanford, Dartmouth, and MIT, he returned to Stanford as a full professor. While at Princeton, he was named a Proctor Fellow and later the Higgins Research Instructor in mathematics. At Stanford, he headed the Artificial Intelligence Laboratory. During his tenure at Dartmouth, McCarthy coined the term artificial intelligence (AI). He developed LISP (LISt Programming), one of the most widely used programming languages in AI. He also helped develop ALGOL 58 and ALGOL 60. In 1971 he received the prestigious Alan M. Turing award for his outstanding contributions to data processing.
25. The n t h t e r m an of a geometric sequence with first t e r m a and c o m m o n ratio r. 26. Let f 9X ~ X be bijective. Define fn recursively, where f2 _ f o f. The 9 1 - f u n c t i o n f, invented by J o h n McCarthy, is defined recursively on W as follows. f(x) = I x -
10
i f x > 100
[ f (f (x + l l ) )
if0_<x_<100
C o m p u t e each 27. f(99)
28. f(98)
29. f(f(99))
30. f(f(91))
31. Show t h a t f(99) - 91. 32. Prove t h a t f(x) = 91 for 90 < x < 100. 33. Prove t h a t f(x) - 91 for 0 < x < 90.
( T r i a n g u l a t i o n o f c o n v e x p o l y g o n s ) The n t h Catalan n u m b e r Cn denotes the n u m b e r of ways to divide a convex (n + 2)-gon into triangles by d r a w i n g n o n i n t e r s e c t i n g diagonals. For instance, there are five ways of t r i a n g u l a t i n g a convex pentagon, as shown in Figure 5.10; therefore, n
C3 -
5. Cn is given recursively by Cn+l
-
C o m p u t e each.
F i g u r e 5.10
34. C6
35. C7
~ C i C n - i , where Co = 1. i=O
276
Chapter ,5 Recursion
1 N 36. The sequence defined by an+l = -~(an -}- ~ ) can be used to approxian mate ~ to any desired degree of accuracy, where al is an estimate of v/N. Use this fact to compute v/i9 correct to six decimal places. U s e a l - 4. 37. Let Fn denote the n t h Fibonacci number. Compute
Fn+l Fn correct to
eight decimal places for 1 _< n _< 10. Compare each value to (1 + v~)/2 correct to eight decimal places. 38. (For those familiar with the concept of limits) Use Exercise 37 to predict lim Fn+l. n--.oc
Fn
Prove each, where Fn is the n t h Fibonacci number, Ln the n t h Lucas number, and a - (1 + v~)/2, the g o l d e n r a t i o . 39. Fn = 2Fn- 2 + Fn- 3 , n > 4 40. F 2 - F n - l F n + l = ( - 1 ) n - l , n _> 2 41. F5n is divisible by 5, n >__1. 42.
F~ < a n-
1, n
_> 3
43. Fn <_ 2 n, n >_ 1 44" L e t A - [
11 ~] T h e n A n - "
Fn + 1 Fn
Fn 1 , n >__1. Assume F0 = 0. Fn-1
45. Using Exercise 44, deduce t h a t F,~+1 g n - 1 --
F2
-
(-- 1)n.
(Hint" Let A be a square matrix. Then [An[ -- In[ n, where [A[ denotes the d e t e r m i n a n t of A.) 2n-2
46. Ln = F n + l + F n - l , n
47. L2n - 3 +
>_ 2
~
Lk
k=l ~n _ ~n
The n t h term bn of a n u m b e r sequence is defined by bn -
where
a - (1 + v/5)/2 and fl - (1 - v/5)/2 are solutions of the equation x 2 = x + 1. Verify each. 48. bl = 1
49. b 2 - 1
50. b n - bn-1 + bn-2, n >_ 3
(It follows from Exercises 48-50 t h a t bn = Fn. It is called the B i n e t f o r m of the n t h Fibonacci number, after the French m a t h e m a t i c i a n JacquesPhillipe-Marie Binet.) With a and fl as above, let U n - - a n -+- fin, n > 1. Verify each. 51.
Ul = 1
52.
u2-
3
53.
Un = Un-1
+ Un-2, n >_ 3
[These exercises indicate t h a t Un = Ln, the n t h Lucas number. Accordingly, the Binet form of L n . ]
U n - - a n -Jr- f i n i s
5.1
Recursively Defined Functions
277
Jacques Phillippe Marie Binet (1786-1865), a French mathematician and astronomer, was born at Rennes, Brittany. In 1804, he entered the Ecole Polytechnique in Paris, graduated 2 years later, and took a job in the Department of Bridges and Roads of the French government. In 1807, Binet became a teacher at the E,cole Polytechnique, and the following year became assistant to the professor of applied analysis and descriptive geometry. In 1814, he was appointed examiner of descriptive geometry, then professor of mechanics (1815), and then inspector general of studies .A (1816). In 1821, he was awarded the Chevalier de la Ldgion d'Honneur. :: ,~ ~ Two years later, Binet was appointed chair of astronomy at the Coll~ge de ~" ":~. France. ~ y But the July 1830 revolution was not kind to him. A strong supporter of Charles X, Binet became a victim of Charles' abdication; he was dismissed from Ecole Polytechnique by King Louis-PhiUipe in November, 1830. Binet made many contributions to mathematics, physics, and astronomy. In 1812, he discovered the rule for matrix multiplication and, in 1840, discovered the explicit formula for the nth Fibonacci number. In 1843, he was elected to the Academy of Sciences and later became its president. A devout Catholic, Binet died in Paris.
54. Let al, a2, . . . , an E 1~, where n > 2. Prove that gcd{al, a2, . . . , an} - - g c d { g c d { a l , a2, . . . , an-1},an}. Using Exercise 54 compute the gcd of each set of numbers. 55. 6, 12, 20, 38
56. 12, 28, 48, 104, 252
Let an denote the n u m b e r of times the assignment statement x <- x + 1 is executed by each nested f o r loop. Define an recursively. 57.
for
i
for
= 1 to j
x ~-
n do
= I to
i
58. do
x + I
for
i for
= 1 to j
for
n do
= I to
i
k = I to
do i do
x ~--x+l
59. Let an denote the number of rectangles that can be formed on a 1 x n rectangular board. Find the recurrence relation satisfied by an. (Hint: Look for a pattern. Every square is also a rectangle.) A subset of the set S = {1, 2, . . . , n} is a l t e r n a t i n g if its elements, when arranged in increasing order, follow the pattern odd, even, odd, even, etc. For example, {3 }, { 1, 2, 5 }, and {3, 4 } are alternating subsets of {1, 2, 3, 4, 5 }, whereas { 1, 3, 4} and {2, 3, 4, 5 } are not; 0 is considered alternating.* Let an denote the n u m b e r of alternating subsets of S. 60. Define an recursively. 61. Prove that an =- Fn+2, where Fn denotes the nth Fibonacci number. *Proposed by Olry Terquem (1782-1862).
278
Chapter 5 Recursion S t i r l i n g n u m b e r s o f t h e s e c o n d k i n d , denoted by S ( n , r) a n d used in combinatorics, are defined recursively as follows, where n, r ~ N:
1 S(n,r) -
S(n-
if r l, r - 1 )
lorr-n
ifl
+ r S ( n - l, r)
0
ifr>
n
They are n a m e d after the English m a t h e m a t i c i a n J a m e s Stirling (16921770). Compute each Stirling number. 62. S(2, 2)
63. S(5, 2)
A function of theoretical importance in the study of a l g o r i t h m s is the A c k e r m a n n ' s f u n c t i o n , n a m e d after the G e r m a n m a t h e m a t i c i a n and logician Wilhelm A c k e r m a n n (1896-1962). It is defined recursively as follows, where m , n ~ W:
A(m,n) -
n + 1
ifm -0
A ( m - 1, 1)
if n - 0
A(m-
1, A ( m , n -
1))
otherwise
Compute each. 64. A(0, 7)
65. A(1, 1)
66. A(4,0)
67. A(2,2)
Prove each for n > 0. m
68. A(1, n) - n + 2
69. A(2, n) - 2n + 3
"70. Predict a formula for A(3, n). "71. Prove the formula in Exercise 70, where n >_ 0.
The recursive definition of a function f does not provide us with an explicit formula for f ( n ) , but establishes a systematic procedure for finding it. This section illustrates the iterative method of finding a formula for f ( n ) for a simple class of recurrence relations.
5.2 SolvingRecurrence Relations
279
S o l v i n g t h e r e c u r r e n c e r e l a t i o n for a function f m e a n s finding a n explicit f o r m u l a for f ( n ) . T h e i t e r a t i v e m e t h o d of solving it involves two steps" 9 Apply t h e r e c u r r e n c e f o r m u l a i t e r a t i v e l y a n d look for a p a t t e r n to predict an explicit formula. ~ Use induction to prove t h a t t h e f o r m u l a does indeed hold for e v e r y possible value of t h e i n t e g e r n. The next e x a m p l e illustrates this m e t h o d . (The h a n d s h a k e p r o b l e m continued) By E x a m p l e 5.3, t h e n u m b e r of h a n d s h a k e s m a d e by n guests at a d i n n e r p a r t y is given by h(1)-0 h(n)-
1)+ (n-
h(n-
1),n >_ 2
Solve this r e c u r r e n c e relation. SOLUTION: Step 1
To predict a f o r m u l a for h ( n ) "
U s i n g iteration,
h(n)
-
h(n -
1) + (n - 1)
= h(n -
2) + (n - 2) + (n - 1)
= h(n -
3) + (n - 3) + (n - 2) + (n - 1)
= h(1) + 1 + 2 + 3 + . . . + (n - 2) + (n - 1) =0+
1+2+3+...
n(n -
+ (n-
1)
1)
2
Step 2
To prove, by induction, t h a t h ( n ) -
Basis step
W h e n n = 1, h(1) -
n(n ~ ,
2
1)
w h e r e n > 1:
1.0 2 = 0, which agrees with t h e initial
condition. So the f o r m u l a holds w h e n n - 1.
Induction step h ( k + 1) -
Assume h(k) h(k) + k,
k(k-
1)
for a n y k > 1. Then:
by t h e r e c u r r e n c e relation
Chapter 5 Recursion
280
1)
k(k2
+k,
by the induction h y p o t h e s i s
1)
k(k+
Therefore, if the f o r m u l a holds for n - k, it also holds for n - k + 1. Thus, by PMI, the r e s u l t holds for n >_ 1.
E
More generally, u s i n g i t e r a t i o n we can solve the r e c u r r e n c e r e l a t i o n (5.5)
an - a n - 1 + f (n )
as follows: an -- a n - 1 + f (n ) = l a n - 2 + f ( n - 1)] + f ( n )
-- a n - 2 + f ( n - 1) + f ( n )
= l a n - 3 + f ( n - 2)] + f ( n - 1) + f ( n ) = a n - 3 + f ( n - 2) + f ( n - 1) + f ( n )
lz
= ao +
r(i)
(5.6)
i=1
You can verify t h a t this is the actual solution of the r e c u r r e n c e r e l a t i o n (5.5). For example, in t h e h a n d s h a k e p r o b l e m f ( n ) - n - 1 a n d h(0) = 0, so the solution of the r e c u r r e n c e relation is r/
?/
h ( n ) - h(O) + E f ( i )
- 0 + E(i
i=1 n-1
-
~
i =
n(n
- 1)
i=1 m
2
1) ,
n>__l
i=1
which is exactly the solution o b t a i n e d in the example. ~
Solve t h e r e c u r r e n c e relation in E x a m p l e 5.6. SOLUTION: Notice t h a t an can be redefined as
an-
n ( n + 1) an-1 + - - , 2
n > 1
5.2
Solving Recurrence Relations
w h e r e a0 -
f(n)
-
281
0. C o m p a r i n g this w i t h r e c u r r e n c e r e l a t i o n (5.5), we h a v e
n(n + 1) T h e r e f o r e , by E q u a t i o n (5.6) 2
n
an -- ao + ~-~f (i) i=1
i(i + 1)
n
= ao + ~--~ i=1
2
= 2
i2 +
_
+
+ i)
i=l i
i=1
1 [n(n
2
n
1 E(i2
1 ) ( 2 n + 1)
L
6
-4- n(n2+ 1)]
n ( n + 1 ) ( 2 n--------6----f-i)+12 n ( n2+nl + ) 4"2 6 n(n + 1)(n + 2)
,
n > _0
m
T h e following i l l u s t r a t i o n of t h e i t e r a t i v e m e t h o d b r i n g s us a g a i n to t h e T o w e r of B r a h m a puzzle. ~
Recall from E x a m p l e 5.4 t h a t t h e n u m b e r of moves n e e d e d to t r a n s f e r n disks from peg X to peg Z is given by bl-
1
b n - 2bn-1 + 1, n >__2 Solve this r e c u r r e n c e relation. SOLUTION: S t e p 1 To predict a f o r m u l a for U s i n g iteration,
bn"
b n - 2bn-1 + 1 = 212bn_2 + 1] + 1 - 22bn_2 + 2 + 1 = 2212bn_3 + 1] + 2 + 1 - 23bn_3 + 22 + 2 + 1
---- 2 n - l b l + 2 n-2 -+-'''-+- 2 2 A- 2 + 1 __ 2 n-1 jr_ 2n-2 + . . . + 2 + 1 = 2 n -- 1,
by Exercise 8 in Section 4.4.
Chapter 5 Recursion
282
Step 2
You m a y prove by i n d u c t i o n t h a t b n - 2 n - 1, w h e r e n > 1.
m
M o r e generally, y o u m a y verify t h a t t h e solution of t h e r e c u r r e n c e r e l a t i o n a n - C a n - 1 + 1, w h e r e c is a c o n s t a n t (r 1), is Cn
an
--
+
c n aO
--
1
c-1
F o r i n s t a n c e , in E x a m p l e 5.12, b0 - 0 a n d c - 2, so 2 n -- 1 bn -
2n "O + ~
=2 n -1
2-1 as expected. Let us p u r s u e E x a m p l e 5.12 a bit f u r t h e r . S u p p o s e t h e r e a r e 64 d i s k s at peg X, as in t h e original puzzle, a n d it t a k e s 1 second to m o v e a disk f r o m one peg to a n o t h e r . T h e n it t a k e s a t o t a l of 264 - 1 s e c o n d s to solve t h e puzzle. To get a n idea how incredibly large t h i s total is, notice t h a t t h e r e a r e about 365.24.60.60 - 31,536,000 seconds in a year. T h e r e f o r e , T o t a l t i m e t a k e n - 264 - 1 seconds 1. 8 4 4 6 7 4 4 0 7 x 1019 seconds 5 . 8 4 9 4 2 4 1 7 x 1011 y e a r s 600 billion years! I n t r i g u i n g l y , a c c o r d i n g to s o m e e s t i m a t e s , 18 billion y e a r s old.
t h e u n i v e r s e is only a b o u t
Exercises 5.2 U s i n g t h e i t e r a t i v e m e t h o d , p r e d i c t a s o l u t i o n to each r e c u r r e n c e r e l a t i o n s a t i s f y i n g t h e given initial condition. 1. s 0 - 1 Sn -
2. a l = l 2Sn-1, n > 1
5.
an-1
+ n, n > 1
a n -- a n - 1
+
(2n - 1), n >_ 2
6. s l = l
ao-O an -
+ n, n > 2
4. a 1 = 1
3. a 0 - 1 an -
an --an-1
an-1
+ 4n, n > 1
Sn - - ~ S n -
1 + n3, n _> 2
5.2 Solving Recurrence Relations
283
7. s l = l
8. a 1 - - 1
8n = S n - 1 + n 2 , n > 2
an - 2 a n - 1
+ (2 n -
1), n >_ 2
9 - 1 6 . Using induction, verify the solutions to Exercises 1-8. 17. Using the data in Example 5.2, show t h a t the c o m p o u n d a m o u n t J u d y will receive at the end o f n years is given b y A ( n ) = 1000(1.08) n, w h e r e n>0.
Use the recursive definition of fn in E x a m p l e 5.5 to a n s w e r Exercises 18 and 19. 18. Predict a formula for fn. 19. Prove t h a t the formula holds for n > 1. 20. Using induction, establish the explicit f o r m u l a for bn in E x a m p l e 5.12. Using induction, prove t h a t each is a solution to the c o r r e s p o n d i n g recurrence relation, where c is a c o n s t a n t and f ( n ) a function of n. n
21.
an
--
ao + ~ f(i),
an
-- an-1
+
f (n)
i=1
22. a n - c n a o
+
cn - 1 ~ an-Can_l c-l'
+ l ( a s s u m e c ~: l )
n
23. an -- c n a o + ~ c n - i f (i), an -- C a n - 1 -b f (n) i=1
Let an denote the n u m b e r of times the s t a t e m e n t x ~- x + 1 is executed by the following loops. for
i
= 1 to
n do
f o r j = 1 to [ i / 2 ] x~-x+l
do
24. Define an recursively. 0 25. Show t h a t an =
an-1 + n/2 an-l+(n-1)/2
if n - 1 if n > 1 and even if n > l a n d o d d
26. Solve the recurrence relation satisfied by an. Let an denote the n u m b e r of times the s t a t e m e n t x ~ x + 1 is executed by the following f o r loops: for
i
= 1 t o n do
f o r j = 1 to [ i / 2 ] do x,--x+1
27. Define an recursively. 1 28. Show t h a t an --
an-1 + n/2 a n - 1 + (n -+- 1)/2
if n - 1 if n > 1 and even if n > l a n d o d d
284
Chapter 5 Recursion 29. Solve the recurrence relation satisfied by an. Let an denote the number of times the statement x ~ x + 1 is executed by the nested f o r loops in Exercise 35 in Section 4.4. 30. Define an recursively. 31. Solve the recurrence relation satisfied by an. 32-33. Redo Exercises 30 and 31 using the loops in Exercise 36 in Section 4.4. 34-35. Redo Exercises 30 and 31 using the loops in Exercise 37 in Section 4.4. 36-37. Redo Exercises 30 and 31 using the loops in Exercise 38 in Section 4.4. Let tn denote the nth triangular number. 38. Define tn recursively. 39. Find an explicit formula for tn. 40. Prove that 8tn + 1 is a perfect square. The nth p e n t a g o n a l n u m b e r Pn is obtained from its predecessor by adding three rows of dots plus one. The first four pentagonal numbers are represented pictorially in Figure 5.11.
Figure 5.11 9
9
9
9
9
9
9
9
9 9
9
pl--1
9
9
P2 = 5
9
9
9
9
9
9
9
9
9
9
9
9
P 3 = 12
9
9
9
9
9
9
9
9
P4 = 22
41. Represent P5 pictorially. 42-43. Redo Exercises 38 and 39 usingpn. The nth h e x a g o n a l n u m b e r hn is obtained from its predecessor by adding four rows of dots plus one dot. The first four hexagonal numbers are shown pictorially in Figure 5.12. 44-46. Redo Exercises 41-43 using h n . 47. Prove that hn - Pn + tn -- n, using the explicit formulas for Pn and tn. 48. Prove that hn - Pn + tn - n, using the recurrence relations for Pn and tn.
285
5.2 SolvingRecurrence Relations Figure
5.12
9
hl = 1
h2 = 6
9
9
h 3 = 15
9
9
9
9
Q
h 4 = 28
Triangular pyramidal n u m b e r s Tn (or t e t r a h e d r a l numbers) a r e positive i n t e g e r s t h a t can be r e p r e s e n t e d by t r i a n g u l a r p y r a m i d a l s h a p e s . T h e first f o u r t e t r a h e d r a l n u m b e r s a r e 1, 4, 10, a n d 20; see F i g u r e 5.13.
Figure 5.13
T1-- 1
T2 = 4
T 3 = 10
T 4 = 20
49. Define Tn r e c u r s i v e l y . 50. C o n j e c t u r e a n explicit f o r m u l a for Tn. 51. E s t a b l i s h t h e f o r m u l a in E x e r c i s e 50.
Square pyramidal n u m b e r s Sn a r e positive i n t e g e r s t h a t c a n be repr e s e n t e d by p y r a m i d a l s h a p e s , w h e r e t h e b a s e is a s q u a r e . T h e first f o u r s q u a r e p y r a m i d a l n u m b e r s a r e 1, 5, 14, a n d 30; see F i g u r e 5.14. 52-54.
Redo Exercises 49-51 with
Sn.
L e t an d e n o t e t h e n u m b e r of s u b s e t s of t h e set S - {1, 2, . . . , n } t h a t c o n t a i n no c o n s e c u t i v e i n t e g e r s , w h e r e n > 0. W h e n n - 0, S - O.t C o m p u t e each. 55. a0
56. a l
57. a2
t Proposed by Irving Kaplansky of The University of Chicago.
58. a3
286
Chapter 5 Recursion
F i g u r e 5.14 a
? ....
~
---
e
9
9
.
S1 = 1
.
S 2 =
59. Define
.
~
- - -
.
S 3 = 14
5
an
. . . .
S 4 =
30
recursively.
60. Solve the recurrence relation satisfied by an. Suppose we introduce a mixed pair of l-month-old rabbits into a large enclosure on the first day of a certain month. By the end of each month, the rabbits become m a t u r e and each pair produces k - 1 mixed pairs of offspring at the beginning of the following month. ( N o t e : k >_ 2.) For instance, at the beginning of the second month, there is one pair of 2-month-old rabbits and k - 1 pairs of 0-month-olds; at the beginning of the third month, there is one pair of 3-month-olds, k - 1 pairs of l-month-olds, and k ( k - 1) pairs of 0-month-olds. Assume the rabbits are immortal. Let a,~ denote the average age of the rabbit pairs at the beginning of the nth month. (P. Filipponi, 1990) * ' 6 1 . Define a , recursively. **62. Predict an explicit formula for a,~. **63. Prove the formula in Exercise 64. 64. (For those familiar with the concept of limits) Find lim
an.
n - ~
Unfortunately, the iterative method illustrated in the preceding section can be applied to only a small and simple class of recurrence relations. The present section develops a method for solving two large, i m p o r t a n t classes of recurrence relations.
5.3 SolvingRecurrence Relations Revisited
287
Linear Homogeneous Recurrence Relations with Constant Coefficients (LHRRWCCs) l i n e a r h o m o g e n e o u s r e c u r r e n c e r e l a t i o n w i t h cons t a n t c o e f f i c i e n t s is a r e c u r r e n c e r e l a t i o n of t h e f o r m
A kth-order
an
-- Clan-1
4- C 2 a n - 2
4- " ' " 4- C k a n - k
(5.7)
w h e r e Cl, C2,... ,Ck E R a n d ck r 0. First, a few w o r d s of e x p l a n a t i o n : T h e t e r m l i n e a r m e a n s t h a t e v e r y t e r m on t h e R H S of E q u a t i o n (5.7) c o n t a i n s at m o s t t h e first p o w e r of a n y p r e d e c e s s o r a i . A r e c u r r e n c e r e l a t i o n is h o m o g e n e o u s if e v e r y t e r m on t h e R H S is a m u l t i p l e of s o m e a i ; in o t h e r w o r d s , t h e relation is satisfied by t h e s e q u e n c e {0}; t h a t is, a n - 0 for e v e r y n. All coefficients ci a r e c o n s t a n t s . Since a n d e p e n d s on its k i m m e d i a t e predecessors, t h e o r d e r of t h e r e c u r r e n c e r e l a t i o n is k. Accordingly, to solve a k t h - o r d e r L H R R W C C , we will n e e d k initial conditions, say, a0 - Co, a l - e l , . . . , a k - 1 - - C k - 1 . T h e n e x t e x a m p l e i l l u s t r a t e s in detail t h e v a r i o u s t e r m s in t h i s definition. 9 T h e r e c u r r e n c e r e l a t i o n Sn - 2Sn-1 is a L H R R W C C . Its o r d e r is one. 9 T h e r e c u r r e n c e r e l a t i o n a n - n a , ~ _ l is l i n e a r a n d h o m o g e n e o u s . B u t t h e coefficient on t h e R H S is not a c o n s t a n t . T h e r e f o r e , it is not a LHRRWCC. 9
hn h n - 1 + ( n - 1) is a l i n e a r r e c u r r e n c e relation. B u t it is not h o m o g e n e o u s b e c a u s e of t h e t e r m n - 1.
9 T h e r e c u r r e n c e r e l a t i o n a n - a n2_ 1 + 3 a n - 2 not l i n e a r since t h e p o w e r of an-1 is 2. 9 an -- an-1
4- 2 a n - 2
4- 3 a n - 6
is h o m o g e n e o u s . B u t it is
is a L H R R W C C of o r d e r six.
m
Before we discuss solving s e c o n d - o r d e r L H R R W C C s , notice t h a t t h e solution of t h e r e c u r r e n c e r e l a t i o n Sn - 2 S n - 1 , w h e r e so - 1, is Sn - 2 n, n >_ 0 (see Exercise 1 in Section 5.2). M o r e generally, you m a y verify t h a t t h e solution of t h e r e c u r r e n c e r e l a t i o n a n - o t a n _ l , w h e r e a0 - c, is a n - c a n, n>0. We now t u r n o u r a t t e n t i o n to t h e s e c o n d - o r d e r L H R R W C C an
-- aan_l
-~- b a n - 2
(5.8)
w h e r e a a n d b a r e n o n z e r o c o n s t a n t s . If it h a s a n o n z e r o solution of t h e f o r m t h e n c a n - acot n - 1 + b c o t n - 2 . Since ca r 0, t h i s yields c~2 - a a + b; t h a t is, ot 2 - - a a - b - 0, so a m u s t be a solution of t h e c h a r a c t e r i s t i c e q u a t i o n
c a n,
X 2 -- ax -
b -
0
(5.9)
Chapter 5 Recursion
288
of the r e c u r r e n c e relation (5.8). The roots of E q u a t i o n (5.9) are t h e c h a r a c t e r i s t i c r o o t s of r e c u r r e n c e relation (5.8). T h e o r e m s 5.2 t h r o u g h 5.4 show how characteristic roots help solve LHRRWCCs. ~
Let a and fl be the distinct (real or complex) solutions of the e q u a t i o n 0, where a, b e R and b 4: 0. T h e n every solution of the LHRRWCC a n - a a n - 1 + b a n - 2 , where a0 - Co and al - C1, is of the form an - A a n + B fl n for some c o n s t a n t s A and B.
x 2 - ax - b -
PROOF"
The proof consists of two parts: 9 First, we will show t h a t a n = A(~ n + B f l n is a solution of the r e c u r r e n c e relation for any c o n s t a n t s A and B. 9 We will t h e n find the values of A and B satisfying the given initial conditions. First, notice t h a t since c~ and fl are solutions of equation (5.9), and ~ 2 __ a f t + b. 9 T o s h o w t h a t an - A a n + B f l n is a s o l u t i o n
~2 _
of the recurrence
a~ + b
relation"
a a n - 1 + b a n - 2 - a ( A ~ '~-1 + B f l n - l ) + b ( A a n - 2 + B f l n - 2 ) = Ac~'~-2(acv + b) + B f l n - 2 ( a f l = Ac~,~-2 . ol2 + B f l n - 2
+ b)
f12
= Aol '~ + B f l n
T h u s an - A a n + B f l n is a solution of the recurrence relation (5.8). 9 Secondly, let an - A~x n + B f l n be a solution of (5.8). To find the values of A and B, notice t h a t the conditions a0 - Co and a l - C1 yield the following linear system" Co - A + B
(5.10)
C1 - A a + B f l
(5.11)
Solving this system, we get (Verify.) A -
C1 - C o i l
~-Z
and C0d - C1 (Remember, a 4= ft.)
a-t~
With these values for A and B, an satisfies the initial conditions and the recurrence relation. Since the recurrence relation and the initial conditions d e t e r m i n e a u n i q u e sequence, { a n } , an -- A a n + B f l n is indeed the u n i q u e solution of the r e c u r r e n c e relation, m
5.3
Solving Recurrence Relations Revisited
289
A few interesting observations:
9 T h e s o l u t i o n s a a n d ~ a r e n o n z e r o , since a = 0, for i n s t a n c e , w o u l d i m p l y t h a t b = 0. 9 T h e o r e m 5.2 c a n n o t be applied if a - ft. H o w e v e r , it w o r k s even if a n d fl a r e c o m p l e x n u m b e r s . 9 T h e s o l u t i o n s otn a n d fin a r e t h e b a s i c s o l u t i o n s of t h e r e c u r r e n c e relation. In g e n e r a l , t h e n u m b e r of basic s o l u t i o n s e q u a l s t h e o r d e r of t h e r e c u r r e n c e relation. T h e g e n e r a l s o l u t i o n an - Aot n 4- B f l n is a l i n e a r c o m b i n a t i o n of t h e basic solutions. T h e p a r t i c u l a r solution is o b t a i n e d by selecting A a n d B in s u c h a w a y t h a t t h e initial c o n d i t i o n s a r e satisfied, as in T h e o r e m 5.2. T h e n e x t t h r e e e x a m p l e s i l l u s t r a t e h o w to LHRRWCCs using their characteristic equations. Solve t h e r e c u r r e n c e r e l a t i o n an - 5 a n - 1 - 6 a n - 2 ,
solve
second-order
w h e r e a0 - 4 a n d a l - 7.
SOLUTION: 9 To find the general solution of the recurrence relation:
T h e c h a r a c t e r i s t i c e q u a t i o n of t h e r e c u r r e n c e r e l a t i o n is x 2 - 5x + 6 - 0; t h e c h a r a c t e r i s t i c roots a r e 2 a n d 3. T h e r e f o r e , by T h e o r e m 5.2, t h e g e n e r a l solution of t h e r e c u r r e n c e r e l a t i o n is an = A . 2 n + B . 3 n. (This solution is u s e d in E x a m p l e s 5.19 a n d 5.20.) 9 To find the values of A and B:
U s i n g t h e initial c o n d i t i o n s we find: a0 = A + B = 4 a l = 2 A + 3B = 7 Solving this l i n e a r s y s t e m yields A - 5 a n d B - - 1 (Verify this.). T h u s t h e solution of t h e r e c u r r e n c e r e l a t i o n s a t i s f y i n g t h e given conditions is an - 5 . 2 n - 3 n, n >_ O. m T h e n e x t e x a m p l e finds a n explicit f o r m u l a for t h e n t h Fibonacci n u m b e r F n , w h i c h we h a v e b e e n w a i t i n g for.
Solve t h e Fibonacci r e c u r r e n c e F1 = 1 - F2.
relation Fn
-
Fn-1
+ Fn-2,
where
SOLUTION: T h e c h a r a c t e r i s t i c e q u a t i o n of t h e r e c u r r e n c e r e l a t i o n is x 2 - x - 1 - O, a n d 1+~/5 1-~/5 its solutions are a = 2 a n d fl - ~ . You m a y verify a + fl = 1 a n d aft - - 1. T h e g e n e r a l solution is F n - A a n + B f l n. To find A a n d B, we have: F1 - Aot + B fl -
1
F2 - A ot 2 --}-B fl 2 -
1
290
Chapter 5 Recursi0n
Solving these two equations, we get (Verify)" A-
a
_ (1 + v/5)/2 (5 + vf5)/2
1 + c~2 (1 + v ~ ) ( 5 -
v~)
5 + 5~/5- v~-
(5 + v ~ ) ( 5 - j 5 ) and similarly B -
_ 1 + j5 5 + ~/5
25 - 5
fl 1 + ~2 --
5
1 j~
1
v/~ (Verify this.).
T h u s t h e solution of t h e r e c u r r e n c e relation satisfying t h e given conditions is o,n _ _ ~n c~n _ _ ~n an
~
--
which is the B i n e t f o r m for the n t h Fibonacci n u m b e r Fn. (See E x a m p l e 5.26 for a different method.) m The next example, proposed by Irving K a p l a n s k y of T h e U n i v e r s i t y of Chicago, also illustrates solving second order L H R R W C C s a n d is closely related to E x a m p l e 5.15. ~
{ 1, 2 , . . . n} t h a t do not Let an denote the n u m b e r of subsets of the set S contain consecutive integers, w h e r e n >__ 0. W h e n n - 0, S - 0 . Find an explicit f o r m u l a for a,,. SOLUTION: To get an idea about a,,, let us find its value for n - 0, 1, 2, 3, and 4 by c o n s t r u c t i n g a table, as in Table 5.3. It a p p e a r s from the table t h a t an is a Fibonacci n u m b e r and a,, - F,+2.
Table 5.3
S u b s e t s of S t h a t do n o t contain consecutive integers
an
D,
D,{I} D, {I}, {2} O, {i}, {2}, {3}, {1,3} O, {I}, {2}, {3}, {4}, {1,3}, {1,4}, {2,4} Fn
+2
We shall, in fact, prove t h a t an - Fn+2 in two steps" F i r s t we shall define an recursively and t h e n solve the r e c u r r e n c e relation to obtain this explicit formula. 9 To define an recursively" F r o m Table 5.3, a0 = 1 and a l - 2. So let n >_ 2. Let A be a subset of S t h a t does not contain two consecutive integers. T h e n e i t h e r n e A or nCA.
5.3
Solving Recurrence Relations Revisited
291
C a s e 1 Suppose n ~ A. T h e n n 1 r A. By definition, S* = {1, 2 , . . . , n - 2} has a n - 2 subsets not c o n t a i n i n g two consecutive integers. Add n to each of the subsets. T h e r e s u l t i n g sets are subsets of S satisfying t h e desired property, so S has a n - 2 such subsets. C a s e 2 Suppose n r A. By definition, t h e r e are a n - 1 such subsets of S h a v i n g the r e q u i r e d property. Since these two cases are m u t u a l l y exclusive, by t h e addition principle, an
-- an-
Thus
an
1 zr- a n - 2 .
can be defined recursively as a0 - 1 , a l - 2 an -
9 To solve
the recurrence
n>2.
a n - 1 -+- a n - 2 ,
relation"
This r e c u r r e n c e relation is exactly the s a m e as t h e Fibonacci one w i t h the initial conditions a0 = 1, a l = 2. So i n s t e a d of going t h r o u g h a complete solution, as in E x a m p l e 5.15, notice t h a t this definition yields the Fibonacci n u m b e r s 1, 2, 3, 5, 8, . . . . It follows t h a t an = F n + 2 , n > 0. m
U s i n g the values of a and ~ from E x a m p l e 5.15, an+2
an
--Fn+2
--
_
fin+2
n > 0 u
,
a--~
(Verify this. See Exercise 13.)
m
T h e o r e m 5.2 does not work if the c h a r a c t e r i s t i c roots a and fl are equal, t h a t is, if a is a root w i t h degree of multiplicity two. T h e following t h e o r e m , however, comes to our rescue. It shows t h a t , in addition to a n , n a n is a basic solution. Let a, b ~ I~ and b r 0. Let a be a real or complex solution of the e q u a t i o n a x - b = 0 w i t h degree of multiplicity two. T h e n a n the general solution of the L H R R W C C a n - a a n _ 1 -~ b a n - 2 .
x 2 -
PROOF" Since a is a root of t h e e q u a t i o n x 2 city two, x 2 -
ax-
b =
ax -
b -
(x-
a)2
X 2 --
2ax +
0
Aa n + Bnan
is
with degree of multipli-
a 2
Therefore, a - 2a
and
b
--
--a
2
(5.12)
Chapter 5 Recursion
292
9 To show
that
an -
na n satisfies
the recurrence
relation:
1)a n - l ] +
-
Notice t h a t aan-1
+ ban-2
-
a[(n
-
= 2a[(n
-
l)a n-l]
b[(n
-~-
2)a n-2]
(--a2)[(n -- 2)a n-2] by (5.12)
= an[2(n - 1) - (n - 2)] -- na n -
Therefore,
na n
an
is a solution of t h e r e c u r r e n c e relation.
T h e n a n - A a n + B n f l n is t h e general solution of t h e given r e c u r r e n c e relation, w h e r e A and B are selected in such a way t h a t t h e initial conditions are satisfied. (The values of A a n d B can be found u s i n g initial conditions, as in T h e o r e m 5.2.) n The next example i l l u s t r a t e s T h e o r e m 5.3. Solve the r e c u r r e n c e relation
an -
6an-- 1
9an-2,
w h e r e a0 = 2 a n d a -1
3.
SOLUTION: The characteristic e q u a t i o n of the r e c u r r e n c e relation is x 2 - 6x + 9 - 0; its solution is 3 with degree of multiplicity two. Therefore, by T h e o r e m 5.3, the general solution of the r e c u r r e n c e relation is a , , = A . 3 '2 + B 9 n 3 n . (We use this in E x a m p l e 5.21.) The initial conditions a0 = 2 and a l = 3 yield the e q u a t i o n s A.3 ~ +B. 0.3 ~ - 2 and
A.3+B.1.3-3.
Solving these equations, we get A - 2 and B - - 1 . (Verify). T h u s the solution of t h e r e c u r r e n c e relation satisfying t h e given conditions is a n - 2 . 3 n - n . 3 n , n >_ O. m T h e o r e m s 5.2 and 5.3 can be combined to yield t h e following general result. ~
Let a be a c h a r a c t e r i s t i c root of t h e L H R R W C C (5.7). 9 If the degree of multiplicity of c~ is 1, t h e n a n is a basic solution of the LHRRWCC. 9 If t h e degree of multiplicity of a is m, t h e n a n, n a n , . . . , n m - l a n are basic solutions of t h e L H R R W C C . ( N o t e : A k t h - o r d e r L H R R W C C has k basic solutions.) 9 T h e general solution of the L H R R W C C is a linear c o m b i n a t i o n of all basic solutions, m The following e x a m p l e illustrates this general t h e o r e m .
5.3 Solving Recurrence Relations Revisited
293
Solve t h e r e c u r r e n c e r e l a t i o n an - 7 a n - 1 - 1 3 a n - 2 - 3 a n - 3 + 1 8 a n - 4 , w h e r e a0 - 5 , a l - 3 , a 2 - 6, a n d a3 - - 2 1 . SOLUTION: T h e c h a r a c t e r i s t i c e q u a t i o n of t h e L H R R W C C i s x 4 - 7X 3 + 13X 2 +3X-- 18 -- 0. Since x 4 - 7 x 3 + 13x 2 + 3x - 18 -- (x + 1)(x - 2)(x - 3) 2, t h e c h a r a c t e r i s t i c r o o t s are: - 1 a n d 2 w i t h d e g r e e of m u l t i p l i c i t y o n e e a c h and
3 w i t h d e g r e e of m u l t i p l i c i t y t w o
Since 3 is a r o o t w i t h d e g r e e of m u l t i p l i c i t y two, it y i e l d s t w o b a s i c s o l u t i o n s , 3 n a n d n 3 n. T h u s t h e g e n e r a l s o l u t i o n of t h e L H R R W C C is a l i n e a r c o m b i n a t i o n of t h e basic s o l u t i o n s ( - 1 ) n , 2 n , 3 n, a n d n3n; t h a t is, an -= A ( - 1 ) n -+- B 2 n + C3 n -~- D n 3 n. T o f i n d the v a l u e s o f A, B, C, a n d D: Since a0 - 5, a l - 3, a2 - 6, a n d a3 - - 2 1 , w e h a v e A+B+C
=5
- A + 2B + 3C + 3D = 3 A + 4B + 9C + 18D = 6 and
-A
+ 8B + 27C + 81D = - 2 1
S o l v i n g t h i s l i n e a r s y s t e m , we g e t A - 2 - C, B - 1, a n d D - - 1 (Verify this.). T h u s t h e s o l u t i o n of t h e L H R R W C C s a t i s f y i n g t h e i n i t i a l c o n d i t i o n s is an - 2 ( - 1 ) n _+_ 2 n _+_2 . 3 n -- n 3 n, n >_ O. m T h e t e c h n i q u e of s o l v i n g L H R R W C C s c a n n o t b e a p p l i e d to t h e s e e m i n g l y s i m p l e r e c u r r e n c e r e l a t i o n s fn - f n - 1 + n ( E x a m p l e 5.5) a n d bn -- 2 b n - 1 + 1 ( E x a m p l e 5.4), w h i c h a r e l i n e a r , b u t n o n h o m o g e n e o u s . So we n o w t u r n to solving l i n e a r n o n h o m o g e n e o u s r e c u r r e n c e r e l a t i o n s w i t h c o n s t a n t coefficients (LNHRRWCCs).
LNHRRWCCs T h e g e n e r a l f o r m of a L N H R R W C C is an - Clan-1 + C2an-2 + "'" + Ckan-k + f (n)
(5.13)
w h e r e cl, C 2 , . . . , Ck E R, Ck 7s O, a n d f ( n ) is n o t i d e n t i c a l l y zero. I t s s o l u t i o n d e p e n d s on t h a t of t h e a s s o c i a t e d l i n e a r h o m o g e n e o u s recurrence relation with constant coefficients (ALHRRWCCs) an - Clan-1 + C2an-2 + "'" + Ckan-k
we s t u d i e d e a r l i e r .
(5.14)
294
Chapter 5 Recursion
Solving LNHRRWCCs To solve the LNHRRWCCs (5.13), let a(nh) denote the general solution of the ALHRRWCCs (5.14). Suppose we know some solution a(np) of t h e r e c u r r e n c e relation (5.13); a(np) is a p a r t i c u l a r s o l u t i o n of the L N H R R W C C s (5.13). T h e n the g e n e r a l s o l u t i o n of (5.13) is given by an-
a (nh) + a (np)
This fact is confirmed by the following theorem; we leave its proof as an exercise (see Exercise 44). Let a(nh) denote the general solution of the ALHRRWCCs (5.14) and a(np) a particular solution of the L N H R R W C C (5.13). T h e n an -- a(nh) + a(np) is the general solution of the L N H R R W C C s (5.13). I It follows from this t h e o r e m t h a t solving the L N H R R W C C s (5.13) depends on finding a particular solution a~np . Although no general algor i t h m exists for solving an a r b i t r a r y LNHRRWCCs, two special cases can be handled fairly easily. When f ( n ) is a polynomial in n or is of the form Cot n, a particular solution can be extracted with ease, as the next two examples demonstrate, where C and a are constants. The techniques we employ are similar to those used to solve linear nonhomogeneous differential equations. Solve the LNHRRWCCs an al-7.
5an-1
- 6a~_2 + 8n 2, where a0 -
4 and
SOLUTION: It follows from Example 5.14 t h a t the general solution of the ALHRRWCCs an - 5 a n - 1 - 6 a n - 2 is given by a(nh/ = A . 2 n + B . 3 n. Since f ( n ) - 8n 2 is a quadratic polynomial in n, it seems reasonable to look for a particular solution of the same form, say, an - a n 2 + b n + c . T h e n the given recurrence relation yields an 2 +bn +c
-
5 1 a ( n - 1) 2 + b ( n -
=
(8-a)n
1)+c]-61a(n-2)
2 +(14a-b)n-
2 +b(n-2)+c]+8n
2
19a+ 7b-c
E q u a t i n g the coefficients of like terms, we get the linear systema-8-a b = 14a-b
c = -19a + 7b-c Solving the system, we get a - 4, b - 28, and c - 60 (Verify). We now claim t h a t t-(P) 4n 2 + 28n + 60 is a particular solution (Verify). tn --
5.3
Solving Recurrence Relations Revisited
295
T h u s , by T h e o r e m 5.5, t h e g e n e r a l s o l u t i o n of t h e given r e c u r r e n c e r e l a t i o n is an-
a (nh) + a (np)
= A . 2n + B .
3 n + 4n 2 + 28n + 60
U s i n g t h e two given initial conditions, t h i s yields t h e l i n e a r s y s t e m : A +B
-
-56
2A + 3B -- - 8 5 T h i s yields A - - 8 3 a n d B - 27 (Verify t h i s also.). T h u s t h e d e s i r e d solution is an -
f(n)
( - 8 3 ) . 2 n + 2 7 . 3 n ~- 4n 2 A- 28n + 60,
n > 0
m
T h e n e x t e x a m p l e i l l u s t r a t e s h o w to solve t h e L N H R R W C C s (5.13) w h e n is of t h e f o r m C a n, w h e r e C a n d a a r e c o n s t a n t s .
Solve t h e L N H R R W C C s a n al=7.
5an-1
6an-2
+
3 . 5 n , w h e r e a0 -
4 and
SOLUTION: As in E x a m p l e 5.19, t h e g e n e r a l solution of t h e A L H R R W C C s a n - 5 a n - 1 6 a n - 2 is given by a(nh) - A . 2 n -4- B . 3 n. Since f ( n ) - 3 . 5 n, we s e a r c h for a p a r t i c u l a r solution of t h e f o r m a n = c 9 5 n. T h e n we m u s t h a v e c. 5 n - 5(c. 5 n - l ) - 6(c. 5 n-2) -4- 3 . 5 n
Canceling 5 n-2 f r o m b o t h sides, t h e r e s u l t i n g e q u a t i o n yields c - 25/2. We n o w claim t h a t a n - (25/2)5 n is a p a r t i c u l a r solution of t h e r e c u r r e n c e r e l a t i o n (Verify this.). T h u s t h e g e n e r a l solution of t h e L N H R R W C C s is a n - A . 2 n -+- B . 3 n -+-
(25/2)5 n
U s i n g t h e initial conditions, we get t h e l i n e a r s y s t e m : A + B - -17/2 2A + 3B - - 1 1 1 / 2 Solving this s y s t e m , we get A - 30 a n d B - - 7 7 / 2 (Verify this.). T h u s t h e solutions of t h e given r e c u r r e n c e r e l a t i o n a r e given by an -
(Verify this also.)
(30). 2 n - (77/2). 3 n -+- (25/2). 5 n,
n > 0 m
Chapter 5 Recursion
296
A n i m p o r t a n t observation: In t h i s example, notice t h a t t h e 5 in f ( n ) is not a c h a r a c t e r i s t i c r o o t of t h e A L H R R W C C s . If it were, we w o u l d h a v e n e e d e d to m a k e a d j u s t m e n t s in o u r search for a p a r t i c u l a r solution, as in T h e o r e m 5.3. We shall p u r s u e this case shortly.
T h e following t h e o r e m justifies t h e t e c h n i q u e s d e m o n s t r a t e d in t h e s e two examples; we o m i t its p r o o f in t h e i n t e r e s t of brevity. In t h e L N H R R W C C s (5.13), s u p p o s e f (n) = (bk nk + b k _ l n k-1 + . . . + b i n + bo)(~ n. If a is not a c h a r a c t e r i s t i c root of t h e A L H R R W C C s (5.14), t h e n a p a r t i c u l a r solution is of t h e f o r m (dk nk + d k _ l n k-1 + ... + d i n 4- do)or n. If a is a c h a r a c t e r i s t i c root w i t h m u l t i p l i c i t y m, t h e n a p a r t i c u l a r s o l u t i o n is of t h e f o r m n m ( e k n k + ek_l n k - 1 + . . . + e l n + eo)ot n. m We conclude this section w i t h t h e following example, w h i c h i l l u s t r a t e s this t h e o r e m w h e n a is a c h a r a c t e r i s t i c root of t h e A L H R R W C C s . Solve t h e L N H R R W C C s an - 6an-1 - 9an-2 + 4(n + 1)3 n, w h e r e a0 = 2 a n d a l - 3. SOLUTION: F r o m E x a m p l e 5.17, t h e general solution of t h e A L H R R W C C s is a ~ ) = A. 3 ~ + B. n3 n, w h e r e n >_ 0. Since 3 is a c h a r a c t e r i s t i c root w i t h m u l t i p l i c i t y 2, we search for a p a r t i c u l a r solution of the form n2(cn + d)3 n, w h e r e t h e c o n s t a n t s c a n d d are to be d e t e r m i n e d . T h e n we m u s t have n2(cn + d ) 3 n - 6{(n - 1)21c(n - 1) + d l 3 n-l}
- 9{(n - 2)2[c(n - 2) + dl3 n-2 } + 4(n + 1)3 'z E q u a t i n g the coefficients of like t e r m s , this yields c - 2/3 a n d d - 4 (Verify); - ( p ) _ 2n2(n + 6)3 n-1 SO ~n
Thus the general so|ution of the recurrence relation is an - A . 3 n + B . n3 n + 2n2(n + 6)3 n - l ,
n _> 0
U s i n g the initial conditions, this yields an - (6 - 19n). 3 n-1 + 2n2(n + 6)3 n-1 ,
n>_0
(You can confirm this.) E x e r c i s e s 5.3
D e t e r m i n e if each r e c u r r e n c e r e l a t i o n is a L H R R W C C . 1. Ln - Ln-1 + L n - 2
2. Dn - n D n - 1 + ( - 1 ) n
3. an -- 1 . 0 8 a n _ l
4. bn = 2bn-1 + 1
i
5.3
Solving Recurrence Relations Revisited
297
5. a n -- a n - 1 + n
6. an -- 2 a n - 1 + (2 n -- 1)
7. a n -- a n - 1 + 2 a n - 2 + 3 a n - 5
8.
a n -- a n - 1 + 2 a n - 3 + n 2
Solve each LHRRWCC. 9. a n -- a n - 1 + 2 a n - 2 , a o 10.
an -
11.
an = an-1 + 6an_2,ao
5an-1
= 0
- 6 a n - 2 , a o = 4, a l -
12. an = 4an-2,ao 13. an --an-1
-- 3 , a l
= 5,al
= 2,al
+ an-2,ao
7
= 0
= -8
= 1 , a l -- 2
1 4 . a n = a n - 1 + a n - 2 , ao -- 2, a l = 3 1 5 . Ln = L n - 1 + L n - 2 , L1 = 1, L 2 = 3 16.
an = 4an-1
17. an = 6an-
- 4an_2,ao 1
= 3,al
9 a n - 2 , a o = 2, a l
--
= 10 -~
18. an = 3an-1 + 4an-2 - 12an_3,ao 19.
3
-- 3 , a l
= -7,a2
= 7
- 21an-2 + 18an_3,ao
-- 0 , a l
---- 2 , a 2 = 13
20. a n -- 7 a n - 1 -- 1 6 a n - 2 + 1 2 a n _ 3 , a o
-- 0 , a l
---- 5 , a 2 -- 19
21.
48an_4,ao
a n -- 8 a n - 1
an
=
+ 16an-2 + 4an-3-
--an-1
= 0,al
=
16,a2
-- --2,
a3 = 1 4 2
22. a n = 1 3 a n - 2 - 3 6 a n - 4 , a0 = 7, a l = --6, a2 = 38, a3 -- - - 8 4 23. a n = 9 a n - 1 - 3 0 a n - 2 + 4 4 a n _ 3 -- 2 4 a n - 4 , a o
= 5,al
=
12,a2
=
38,
4,a2
=
44,
a3 = 1 2 6 24.
an
=
8an-1
-
24an-2 + 32an-3
-- 1 6 a n - 4 , a o
=
1,al
=
a3 = 2 7 2 Find the general form of a particular corresponding to each function f(n).
solution of the LNHRRWCCs
(5.13)
25. f ( n ) =
n
26. f(n)=
1
27. f(n)=
3n 2
28. f ( n ) =
3n
29. f(n)-
n2 n
30. f(n)-
43n25 n
Find
the
a n -- 4 a n - 1
general
form
of a particular
- 4an-2 + f (n) c o r r e s p o n d i n g
solution of the LNHRRWCCs to each function f (n).
31. f (n) = 3 - 2 n
32. f ( n ) = n 2 n
33. f ( n ) - 2 3 n 2 2 n
34.
(17n 3-
Solve each LNHRRWCCs.
35. a n - 2 a n - 1
-+ 1, a 0 -
1
36. a n -- 7 a n - 1 - 1 0 a n _ 2 + n 2, ao = 0, a l = 1
1)2 n
298
Chapter 5 Recursion
37. a n - 7 a n - 1 - 12an-2 + 3n,a0 - 0 , a l = 2 38. a n - 7 a n - 1 - 12an-2 + 3 n 4 n , a o *39.
an
-
a n - 1 ~- n , ao
*40.
an
-
a n - 1 -+- n
-
-
= 0,al - 2
1
1,al - 0
41. Let rn and Sn be two solutions of the r e c u r r e n c e relation (5.8). P r o v e t h a t a n - - r n + S n is also a solution. 42. Let a be a solution of the e q u a t i o n x k - C l x k - 1 t h a t c~n is a solution of L H R R W C C (5.7).
.....
Ck
-- 0. S h o w
43. Let a be a characteristic root of the L H R R W C C a n = a a n _ 1 -+- b a n - 2 -+C a n - 3 with degree of multiplicity three. Show t h a t a n, n(~ n, n 2 a n are solutions of LHRRWCC. 44. Let a(nh) denote the general solution of the A L H R R W C C s (5.14) a n d a particular solution of the L N H R R W C C s (5.13). P r o v e t h a t a n - a(nh) + a(np) is the general solution of the L N H R R W C C s (5.13). a(np)
G e n e r a t i n g functions provide a powerful tool for solving L H R R W C C s , as will be seen shortly. They were invented in 1718 by the F r e n c h m a t h e matician A b r a h a m De Moivre, w h e n he used t h e m to solve the Fibonacci recurrence relation (see Example 5.26). G e n e r a t i n g functions can also solve combinatorial problems, as the next c h a p t e r shows. To begin with, notice t h a t the polynomial 1 + x + x ~ + x a + X 4 ~ - X 5 can x6- 1 be w r i t t e n as ~ . You may verify this by either cross-multiplication x--1
the familiar long division method, or Exercise 8 in Section 4.4. AccordX6 -
ingly, f ( x ) -
1
~ i s x--1
called the g e n e r a t i n g
f u n c t i o n of the sequence of
coefficients 1, 1, 1, 1, 1, 1 in the polynomial. More generally, we m a k e the following definition.
Generating Function
Let a0, al, a 2 , . . , be a sequence of real n u m b e r s . T h e n the function g ( x ) - ao + a I x + a2 x2 + . . . + a n x n + . . .
(5.15)
is the g e n e r a t i n g f u n c t i o n for the sequence { a n }. G e n e r a t i n g functions for the finite sequence a0, a l , . . . , a n can also be defined by letting ai = 0 for i > n; t h u s g ( x ) - ao + a l x + a2 x 2 + . . . + a n x n is the g e n e r a t i n g function for the finite sequence a0, a l , . . . , a n .
5.4 GeneratingFunctions
299
A b r a h a m De M o i v r e (1667-1754), son of a surgeon, was born in Vitry-leFrancois, France. His formal education began at the Catholic village school, .' . .'.,~.' a n d then continued at the Protestant Academy at Sedan a n d later at S a u m u r . : , . , ,,' ..$ He did not receive good training in mathematics until he moved to Paris in 1684, where he studied Euclid's later books and other texts. A r o u n d 1686, De Moivre emigrated to England, where he began his lifelong profession, tutoring in mathematics, and mastered Newton's Principia Mathematica. In 1695 he presented a paper, his first, on Newton's theory of fluxions to the Royal Society of London a n d 2 years later he was elected a member of the Society. Unfortunately, despite his influential friends, he could not find an academic position. He h a d to earn a living as a tutor, author, a n d expert on applications of probability to g a m b l i n g a n d annuities. He dedicated his first book, a masterpiece, The Doctrine of Chances, to Newton. His most notable discovery concerns probability theory: The binomial probability distribution can
be approximated by the normal distribution. De Moivre died in London.
For example, g ( x ) - 1 + 2x + 3x 2 + . . .
+ (n + 1)x n + . . .
is the g e n e r a t i n g function for the sequence of positive integers and f ( x ) - 1 + 3x + 6x 2 + . . . +
n ( n + 1)x2 + . . .
2
is the g e n e r a t i n g function for the sequence of t r i a n g u l a r n u m b e r s . Since xn - 1
= 1 + x -+-x2 -~-... + x n-1
x-1 x n -- 1 g(x) -
x-1
is the g e n e r a t i n g function for the sequence of n ones.
A w o r d o f caution" The RHS of E q u a t i o n (5.15) is a f o r m a l p o w e r
s e r i e s in x. The letter x does not r e p r e s e n t anything. T h e various powers x n of x are simply used to keep t r a c k of the c o r r e s p o n d i n g t e r m s an of the sequence. In o t h e r words, t h i n k of the powers x n as placeholders.
Consequently, unlike in calculus, the convergence of the series is of no i n t e r e s t to us. ,, ,,
,
.
.
.
.
.
Equality of Generating Functions Two g e n e r a t i n g functions f (x) an -- bn for every n >__0.
~
n =0
a n x n and g ( x ) = ~
n =0
bnx n are e q u a l if
300
Chapter 5 Recurslon F o r example, let f ( x ) = 1 + 3x +
6X 2 q- 10x 3 + - . .
2.3 3.4x2 4 . 5 x3 g(x) - 1 + - - ~ x + - ~ + -~ +....
and
T h e n f (x) = g(x).
A g e n e r a t i n g function we will use f r e q u e n t l y is =
1 + ax
+ a 2 x 2 -nt- . . .
(5.16)
--[--a n x n -Jr- " "
X-ax
1 1 - x = 1 +x +x 2 +...-f-X
Then
n
(5.17)
-Jr-'''
Can we add a n d m u l t i p l y g e n e r a t i n g functions? Yes! Such o p e r a t i o n s a r e p e r f o r m e d exactly t h e s a m e way as polynomials are combined.
Addition and Multiplication of Generating Functions CO
CO
Let f (x) = ~ a n X n a n d g(x) n=0
~
be two g e n e r a t i n g functions. T h e n
bnx n
n=0
f (x) + g(x) - ~
(an
+ bn)x n
a n d f (x)g(x) - ~
n=0
n=0
~
aibn_
i =0
i
)
Xn
For example,
(1
- x) 2
1
1
1 -x
1 -x
--
Xi
Xi
)
--
1.1
n=O
)
xn
CX~
= E(n
+ 1)x n
n=O
= 1 + 2 x + 3x 2 + . . . + (n + 1)x n + . . . and 1 (l-x) 3
1 1-x --
1 (l-x) 2
(n
Xn
+ 1)X n
Ln =0
1.(n + 1-i)
xn
n=0 (X)
= ~[(n n--0
+ 1) + n + . . . + 1 ] x n
(5.18)
5.4 Generating Functions
301 (x)
(n + 1)(n + 2)xn 2
= E n--0
= 1 + 3x + 6x 2 + 10x 3 + . . .
(5.19)
Before exploring how valuable g e n e r a t i n g functions are in solving LHRRWCCs, we illustrate how t h e t e c h n i q u e of p a r t i a l f r a c t i o n d e e o m p o s i t i o n , used in integral calculus, enables us to express t h e q u o t i e n t
p(x) of two polynomials p(x) a n d q(x) as a s u m of p r o p e r fractions, w h e r e q(x) degp(x) < deg q(x). t For example, 6X+1
1
2
( 2 X - 1)(2X + 3)
2X- 1
2X + 3
P a r t i a l F r a c t i o n Decomposition Rule for p ( x )
q(x)'
w h e r e d e g p ( x ) < deg q(x)
If q(x) has a factor of the form (ax + b) m, t h e n the decomposition contains a sum of the form
A1 ax + b
~
A2
t
(ax + b) 2
Am (ax + b) m
+'"+
w h e r e Ai is a r a t i o n a l n u m b e r . Examples 5.22-5.24 illustrate the partial fraction decomposition technique. We use t h e i r results to solve the r e c u r r e n c e relations in E x a m p l e s 5.25-5.27. x a Express (1 - x)(1 - 2x) as s u m of partial fractions. SOLUTION: Since the d e n o m i n a t o r contains two linear factors, we let x (1 - x)(1 - 2x)
=
A 1- x
B
+
1 - 2x
To find the c o n s t a n t s A and B, multiply b o t h sides by (1 - x)(1 - 2x)"
x - A ( 1 - 2x) + B ( 1 - x) Now give c o n v e n i e n t values to x. S e t t i n g x - i yields A - - 1 and s e t t i n g x - 1/2 yields B - 1. (The values of A and B can also be found by e q u a t i n g tdeg f(x) denotes the degree of the polynomial f(x).
302
Chapter 5 Recursion
coefficients of like terms from either side of the equation resulting linear system.) x
-1
----
(1 - x ) ( 1 - 2x)
1
..J_
1 - x
and solving the
1 - 2x
(You m a y verify this by c o m b i n i n g t h e s u m fraction.) W e u s e t h i s r e s u l t in E x a m p l e 5.25.
on the RHS
into a single II
x
Express
1 - x
-
X2 a s a s u m o f p a r t i a l f r a c t i o n s .
SOLUTION: F i r s t , f a c t o r 1 - x - x 2" 1 - x - x 2 = (1 - a x ) ( 1 - f i x )
1-J5
1-F w/5 a n d fl w h e r e c~ = a - fl - v ~ . ) 2
~
.
1 - x - x
2
( N o t i c e t h a t a + fl -
1, aft -
-1, and
Let x
A
B
=
t 1 -
ax
1 -
fix
Then x -
Equating
A(1
-
fix) + B( 1 -
otx)
c o e f f i c i e n t s o f l i k e t e r m s , w e get" A + B - O -flA
-
Solving this linear system yields A -
otB -
1
,/g
1
= -B
(Verify this.).
Thus
(1
-x
-x
2)
111
v/5
1]
1-c~x
1 - fix
m
W e u s e t h i s r e s u l t i n E x a m p l e 5.26. Express
2 - 9x 1 - 6x + 9x 2
as a sum of partial fractions.
SOLUTION: Again, factor the denominator: l -- 6X + 9X 2 -- (l
-- 3X) 2
5.4
Generating Functions
303
By t h e d e c o m p o s i t i o n r u l e , let 2 - 9x
A
1 - 6x + 9x 2
=
B t
1 - 3x
(1 - 3x) 2
Then 2 - 9x - A(1 - 3x) + B T h i s y i e l d s A - 3 a n d B - - 1 (Verify this.). Thus 2-9x 1 -6x
+ 9x 2
3
1
1 - 3x
(1 - 3x) 2
W e u s e t h i s r e s u l t in E x a m p l e 5.27.
I
N o w we a r e r e a d y to u s e p a r t i a l f r a c t i o n d e c o m p o s i t i o n s a n d g e n e r a t i n g f u n c t i o n s to solve r e c u r r e n c e r e l a t i o n s in t h e n e x t t h r e e e x a m p l e s . U s e g e n e r a t i n g f u n c t i o n s to solve t h e r e c u r r e n c e r e l a t i o n bn - 2 b n - 1 + 1, w h e r e b l - 1. SOLUTION: F i r s t , n o t i c e t h a t t h e c o n d i t i o n bl - i y i e l d s b0 = 0. To find t h e s e q u e n c e {bn} t h a t satisfies t h e r e c u r r e n c e r e l a t i o n , c o n s i d e r t h e c o r r e s p o n d i n g generating function b2 x2 +
g ( x ) -- bo + b l x +
bnx n q-...
b3 x 3 + . . . +
Then 2 b l x 2 + 2b2x 3 + . 99+ 2bn_
2xg(x) =
1 xn-Jr-"
99
Also,
1-x
=l+x+
X 2 +
X 3-Jr-" 9 9 -~-
X n-Jr-" 9 9
Then g(x) - 2xg(x)
1-x
= -1+
(bl - 1)x + (b2 - 2bl - 1)x 2 + . . .
+ (bn - 2 b n - 1 - 1)x n
=-1 since bl - I a n d bn - 2 b n - 1 + 1 for n >_ 2. T h a t is, 1
(1 - 2 x ) g ( x ) -
1 -x
1-
x
1 -x
Then g(x) =
(1 - x ) ( 1 - ~ c )
-Jr- ' ' '
304
Chapter 5 Recursion 1
=
1-x
= -
§
xn
: E(2 n-
1 1-2x' +
by E x a m p l e 5.22
2nx n
, by (5.16)
1)X n
n=O OG
But g(x) -
b n x n, so bn -
~
1, n > 1. (Notice t h a t t h i s is t h e s a m e
2n -
n:0
solution o b t a i n e d in E x a m p l e 5.12.)
II
U s i n g g e n e r a t i n g functions, solve t h e Fibonacci r e c u r r e n c e r e l a t i o n F n F n - 1 + F n - 2 , w h e r e F1 - 1 - F2.
SOLUTION: Notice t h a t t h e two initial c o n d i t i o n s yield F0 - 0. Let g ( x ) - Fo + F i x + F 2 x 2 4 - . . . 4- F n x n 4 - ' "
be t h e g e n e r a t i n g f u n c t i o n of t h e Fibonacci sequence. Since t h e o r d e r s of F n - 1 a n d F n - 2 a r e 1 a n d 2 less t h a n t h e o r d e r of F n , respectively, we find xg(x) and x2g(x)" x g ( x ) - F i x 2 4- F 2 x 3 4- F3 x4 4 - . . . 4- F n - 1 xn 4 - ' " x2 g ( x ) - F i x 3 4- F 2 x 4 4- F3 x5 4 - . . . 4- F n _ 2 xn 4 - . . .
Then g ( x ) - x g ( x ) - x 2 g ( x ) - F i x 4- (F2 - F1)x 2 4- (F3 - F2 - F1)x 3 + ... + (Fn - F , _ 1 - F n - 2) xn 4- "'" =X
since F2 - F1 a n d Fn = F n - 1 + F n - 2 . T h a t is, (1 - x - x 2 ) g ( x ) -- x g(x) =
1 --X--X
2
111
1-ax
where a =
1+V/5 2
a n d fl =
1-4 2
1]
1 - fix
' by E x a m p l e 5.23
5.4 Generating Functions
305
Then ~ / 5 g ( x ) --
1
1
1 -- otX
1 -- fiX
oo oo -- E o l n x n - - E ~ n x n - -
n-0
n-0
(DO E(oln
-- ~ n ) x n
n=0
So o4) g(x) -
~
n=0
(Oln -- ~ n ) x n
x/~
Therefore, by the e q u a l i t y of g e n e r a t i n g functions, oln _ fin
otn _ fin
,/-g
~ - ~
Fn-
(Recall t h a t this is t h e B i n e t f o r m of F n . )
m
We close this section with the following example. ~
U s i n g g e n e r a t i n g functions, solve the r e c u r r e n c e r e l a t i o n an 9 a n - 2 , w h e r e ao - 2 a n d a l - 3.
6an-1
SOLUTION: Let g ( x ) - ao + a l x + a2 x2 + . . . + a n X n + . . .
Then 6 x g ( x ) = 6 a o x + 6 a l x 2 + 6a2x 3 + ... + 6 a n _ i X n + . . . 9x2g(x) -
9a0x 2 + 9 a l x 3 + 9a2x 4 + . . . + 9 a n _ 2 x n + . . .
Then g ( x ) - 6 x g ( x ) + 9 x 2 g ( x ) - ao + ( a l - 6a0)x + (a2 - 6al + 9a0)x 2 + . . . + (an -- 6 a n - 1 + 9 a n - 2 ) x n + ' "
=2--9x u s i n g the given conditions. T h u s (1 - 6x + 9 x 2 ) g ( x ) = 2 - 9 x Therefore, g(x) =
2--9x 1 - 6 x + 9x 2
-
306
Chapter 5 Recursion 3 1 = 1 - 3X - (1 - 3x) 2' by E x a m p l e 5.24 "- 3
3nx n
--
(n + 1)3nx n n--O
(x:)
-- E [ 3 n+l - - ( n + 1 ) 3 n ] x n n---0 (x)
-- E
3n(2 - n ) x n
n--0
Thus an -
(2 - n ) 3 n
n > 0
m
T h e following e x e r c i s e s p r o v i d e a m p l e p r a c t i c e in t h i s p r o b l e m - s o l v i n g technique.
Exercises 5.4 E x p r e s s e a c h q u o t i e n t as a s u m of p a r t i a l f r a c t i o n s . 1.
3. 5.
7.
9.
x + 7
2.
( x - 1)(x + 3) 5 l_x_6x
2
4.
x ( x + 2) (2 + 3x)(x 2 + 1) X 3 ~ - X 2 + X ~-
4X 2 - -
2+4x l+8x+15x --2X 2 --
6.
3
3x 3 - x 2 + 4x
x 3 + x 2 + 5x - 2
11.
an = 2an_l, ao = 1
12.
an = an-1
1,al = 1 = 1
14. a n = a n - 1 + 2 a n - 2 , a o = 3, a l = 0 15. a n = 4 a n - 2 , a o = 2, a l = - 8 an = an-1
2x + 2
( x - 1)(x 2 + 2x)
*10.
X4 --X 2 +X--
U s i n g g e n e r a t i n g f u n c t i o n s , solve e a c h L H R R W C C .
16.
2
8. x 4 + x 3 + x + 1
X 4 - - X 3 -~- 2X 2 - - X -~- 1
13. a n = a n - l + 2 , a l
25
--X 3 + 2X 2 ~ - X
x 4 + 5x 2 + 6
+
3x-
(x + 1 ) ( x - 2)(x + 3)
+ 6 a n - 2 , a o = 5, a l = 0
1
307
5.5 RecursiveAlgorithms
17. a n = 5 a n - z 18. a n - a n - 1
-6an-2,ao
= 4,a1 = 7
+ an-2,ao
= 1,al = 2
19. a n = a n - 1 + a n - 2 , a o
= 2 , a l -- 3
20. L n - L n - 1 + L n - 2 , L 1
= 1, L2 = 3
21.
an
=
4an-1
- 4 a n - 2 , a0 = 3, a l = 10
22.
an
-
6an-1
- 9an-2,ao
- 2,a1 - 3
23. a n - 3 a n - z + 4 a n - 2 - 1 2 a n - 3 , a0 = 3, a l = - 7 , a2 = 7 24. a n - 8 a n - 1 - 2 1 a n - 2 + 1 8 a n _ 3 , a o
= 0, a l = 2, a2 = 13
2 5 . a n = 7 a n - 1 - 1 6 a n - 2 + 1 2 a n - 3 , a0 = 0, a l = 5, a2 = 19 26. a n = 3 a n - 1 + 4 a n - 2 - 12an_3, a0 = 3, a l = - 7 , a2 = 7 27. a n = 6 a n - 1 - 1 2 a n - 2 + 8 a n _ 3 , a o
28.
= 0,al = 2,a2 = -2
a n -- 1 3 a n - 2 - 3 6 a n - 4 , a0 = 7, a l - - - - 6 ,
29. a n = - a n - z + 3 a n - 2 + 5 a n - 3 + 2 a n - 4 , a o
a2 = 38, a3 = - 8 4 = 0, a l = - 8 , a 2
= 4,a3 = -42
Recall t h a t t h e r e c u r s i v e d e f i n i t i o n o f t h e f a c t o r i a l f u n c t i o n f e x p r e s s e s in t e r m s of i t s e l f w i t h a s m a l l e r a r g u m e n t n - 1. A c c o r d i n g l y , it c a n b e e m p l o y e d to w r i t e a s i m p l e a l g o r i t h m to c o m p u t e n! T h i s a l g o r i t h m h a s t h e i n t e r e s t i n g p r o p e r t y t h a t it i n v o k e s i t s e l f w i t h a s m a l l e r a r g u m e n t . S u c h a n a l g o r i t h m is a r e c u r s i v e a l g o r i t h m .
f(n)
Recursive Algorithm A n a l g o r i t h m is r e c u r s i v e if it i n v o k e s i t s e l f w i t h a s m a l l e r a r g u m e n t ; t h a t is, if it i n v o k e s a r e d u c e d v e r s i o n of itself. (See F i g u r e 5.1.) R e c u r s i v e d e f i n i t i o n s i n v a r i a b l y l e a d to r e c u r s i v e a l g o r i t h m s . T h i s sect i o n t r a n s l a t e s s o m e o f t h e e x a m p l e s d i s c u s s e d in S e c t i o n 5.1 i n t o r e c u r s i v e a l g o r i t h m s a n d p r e s e n t s a few n e w o n e s - - g c d , b i n a r y s e a r c h , a n d m e r g e sort. ~
W r i t e a r e c u r s i v e a l g o r i t h m to c o m p u t e n!, w h e r e n >__0. SOLUTION: W h e n n = 0, t h e a l g o r i t h m m u s t t e r m i n a t e a n d y i e l d t h e v a l u e 1. W h e n n > 0, t h e r e c u r r e n c e r e l a t i o n f ( n ) = n . f ( n - 1) m u s t be applied: t h e a l g o r i t h m m u s t i n v o k e i t s e l f w i t h n - 1 as t h e n e w a r g u m e n t . T h e r e c u r s i v e a l g o r i t h m is g i v e n in A l g o r i t h m 5.1.
Chapter 5 Reeurslon
308
Algorithm factorial (n) (* This algorithm computes n! using recursion *) O. Begin (* algorithm *) i. i f n = 0 then (* base case *) 2. factorial ~-- I 3. else (* invoke the algorithm *) 4. factorial + - n 9 f a c t o r i a l ( n - 1) 5. End (* algorithm *) Algorithm 5.1
l
F i g u r e 5.15 shows t h e r e s u l t of invoking the factorial a l g o r i t h m w i t h n - 3, w h e r e f m e a n s f a c t o r i a l . Figure 5.15
---~f(l) 9 / f recursive I <____'3./ [ call [
' 9 call " / returns value
----~f(0)
/
call
J' <--. I f(~O
/fe-I returns value
gets the value 3-2=6
Every recursive a l g o r i t h m has two i m p o r t a n t characteristics, or cases: 9 The b a s e c a s e e n s u r e s the sequence of recursive calls will t e r m i n a t e after a finite n u m b e r of steps. This case corresponds to t h e initial condition(s) of a recursive definition. 9 T h e g e n e r a l c a s e c o n t i n u e s to call itself so long as the base case is not satisfied. T h e next example p r e s e n t s an a l g o r i t h m for c o m p u t i n g t h e n u m b e r of h a n d s h a k e s m a d e by n guests, discussed in E x a m p l e 5.3. ~
U s i n g E x a m p l e 5.3 write a recursive a l g o r i t h m to c o m p u t e t h e n u m b e r of h a n d s h a k e s m a d e by n guests. SOLUTION: B a s e c a s e T h e a l g o r i t h m t e r m i n a t e s w h e n n -- 1, in which case t h e n u m b e r of h a n d s h a k e s m a d e is zero. General case When n r e c u r r e n c e relation h ( n ) -
> 2, t h e a l g o r i t h m invokes itself u s i n g the - 1) + (n - 1).
h(n
These two cases lead to A l g o r i t h m 5.2. Algorithm handshake(n) (* This algorithm computes the number of handshakes made by n guests at a party by recursion. *) 0. Begin (* algorithm *)
5.5
309
Recursive Algorithms
I. 2. 3. 4.
5.
i f n = 1 then (* basis case *) handshake <-- 0 else (* general case *) handshake < - h a n d s h a k e ( n - I) + ( n End (* algorithm *)
I)
Algorithm 5.2 ~
B
Write a recursive algorithm to print the moves and the total n u m b e r of moves needed to t r a n s f e r the n disks from peg X to peg Z in the Tower of B r a h m a puzzle in Example 5.4. SOLUTION: Recall t h a t solving the puzzle involves t h r e e steps: 9 Move the top n - 1 disks from X to Y using Z as an auxiliary peg; 9 Move disk n from X to Z; and 9 Move the n - 1 disks from Y to Z using X as an auxiliary. We also m u s t count the moves made. The resulting Algorithm 5.3 follows. Algorithm tower (X,Z,Y,n,count) (* This algorithm, using recursion, p r i n t s the various moves needed to solve the Tower of Brahma puzzle and returns the t o t a l number of moves needed in the global variable count. Count must be i n i t i a l i z e d to 0 in the c a l l i n g module. *) O. Begin (* algorithm *) i f n = i then (* base case *) 1. begin (* i f *) 2. move disk 1 from X to Z 3. count <-- count + i 4. endif 5. else (* general case *) 6. begin (* else *) 7. t o w e r ( X , Y , Z , n - 1,count) (* move the top n - i disks *) 8. move disk n from X to Z 9. count <-- count + I 10. t o w e r ( Y , Z , X , n - 1,count) 11. endel se 12. 13. End (* algorithm *)
Algorithm 5.3
B
Suppose we invoke this algorithm by tower (X,Y,Z,3,count). The tree diagram in Figure 5.16 illustrates the various recursive calls, where t stands for t o w e r and c for c o u n t . Seven moves are needed: move 1 from X to Z; move 2 from X to Y; move 1 from Z to Y; move 3 from X to Z; move 1 from Y to X; move 2 from Y to Z; move 1 from X to Z. You may verify this.
310
Chapter 5 Reeursion
F i g u r e 5.16
t ( X,Z,Y, 3,c)
t ( X, Y,Z,2,c )
t (X,Z,Y,i,c)
t (Y,Z,X,2,c)
t (Z,Y,X,I,c)
t (Y,X,Z,I,c)
t (X,Z,Y,I,c)
The next example displays a Fibonacci algorithm. ~
Write a recursive algorithm to compute the n t h Fibonacci n u m b e r Fn. SOLUTION: Recall from Example 5.7 t h a t the recursive definition of Fn involves two initial conditions F1 - 1 - F2, and the recurrence relation Fn = Fn-1 + Fn-2, where n >_ 3. These two cases can be combined into s t r a i g h t f o r w a r d Algorithm 5.4. Algorithm Fibonacci (n) (* This a l g o r i t h m computes the nth using r e c u r s i o n . *) O. Begin (* a l g o r i t h m *) I. i f n = I or n - 2 then (* 2. Fibonacci . - I 3. else (* 4. Fibonacci <-- F i b o n a c c i ( n -
5.
Fibonacci
number
base cases *) general case *) I) + F i b o n a c c i ( n
- 2)
End (* algorithm *) AI gori thm 5.4
II
The tree diagram in Figure 5.17 illustrates the recursive c o m p u t i n g of F5, where each dot represents an addition. F5
Figure 5.17
F4
"
F2
F3
/Q F2
F!
F2
k'~
5.5 Recursive Algorithms
311
The next example shows how we can use recursion to compute the gcd of two positive integers x and y. ~
Write a recursive algorithm to compute the gcd of two positive integers x and y. SOLUTION: If x > y, gcd{x,y} -- gcd{x - y , y } . (See Exercise 34 in Section 4.2.) We use this fact to write Algorithm 5.5.
AI gorithm gcd (x,y) (* This algorithm computes the gcd of two p o s i t i v e integers x and y using recursion. *) O. Begin (* algorithm *) I. i f x > y then 2. gcd ~- gcd{x - y , y } 3. else i f x < y then 4. gcd <- g c d { y , x } 5. else 6. gcd <-- x 7. End (* algorithm *)
Algorithm 5.5
(As an exercise, use this algorithm to compute gcd{x,y} with x - 28 and y = 12, x = 13 a n d y = 20, a n d x = 17 a n d y - y . ) m We now t u r n our attention to the recursive version of the binary search algorithm, presented in Example 4.28 in Section 4.5. Recall t h a t b i n a r y search, a divide-and-conquer technique, is an efficient method for searching an ordered list for a key (say, for example, a certain n a m e in your local telephone directory). ~
( B i n a r y S e a r c h A l g o r i t h m ) Write a recursive algorithm to search an ordered list X of n items and determine if a certain item (key) occurs in the list. R e t u r n the location of key if the search is successful. SOLUTION: Because the algorithm is extremely useful, we first outline it: compute the middle index. i f key = middle value then we are done and e x i t else i f key < middle value then search the lower h a l f else search the upper h a l f .
The algorithm is given in Algorithm 5.6.
Algorithm binary search(X, low,high,key, found,mid) (* The algorithm returns the l o c a t i o n of key in the v a r i a b l e mid in the l i s t X i f the search is successful.
312
Chapter ,5 Recursion Low, mid, and high denote the lowest, middle, and highest indices of the l i s t . Found is a boolean variable; i t is true i f key is found and false otherwise. *) O. Begin (* algorithm *) I. i f low _< high then (* l i s t is nonempty *) 2. begin (* i f *) 3. found +-- false (* boolean flag *) 4. mid ~ L(low + high)/2] 5. i f key = Xmi d then 6. found <-- true (* we are done. *) 7. else 8. i f key < Xmid then (* search the lower half *) 9. binary search(X, low,mid - 1,key,found,mid) 10. else (* search the upper half *) 11. binary search(X,mid + 1,high,key,found,mid) 12. endif 13. End (* algorithm *)
Algorithm 5.6
(As an exercise, use this algorithm to search the list [3,5,8, 13,21,34, 55, 89] with key - 5 and key - 23.) m The Merge Algorithm Before presenting the merge sort algorithm that sorts a list into ascending order, we show how the m e r g e a l g o r i t h m works. It combines two ordered lists A and B into an ordered list C, eliminating all duplicate elements. Consider the two lists A and B: 1
2
3
1
2
3
4
5
Clearly, the combined sorted list contains at most 8 elements. Let ai denote the ith element of A, bi t h e j t h element of B, and ch the kth element of C, where 1 _< i _< 3, 1 _<j _< 5, and 1 _< k _< 8.
S t e p 1 Initially, compare al and bl. Since bl < al, store bl in Cl. This yields the following 1
Step 2
2
3
4
5
6
7
8
Compare al and b2. al < b2. So store al in C2" 1
2
3
4
5
6
7
8
5.5 RecursiveAlgorithms Step 3
313
Compare a2 and b2. Since they are equal, store a2 in c3: 1
2
3
4
5
6
7
8
5
6
7
8
C
Step 4
Since a3 = b3, store a3 in c4:
1
2
3
4
C[1121315
I
S t e p 5 There are no more elements left in A, so copy the remaining elements of B into C. This yields the following sorted list: 1
2
3
4
5
6
7
8
We now explore the merge sort algorithm, which uses both recursion and the merge algorithm.
The Merge Sort Algorithm The m e r g e sort a l g o r i t h m sorts a list X of n elements into increasing order. First, partition the list into one-element sublists by successively dividing lists in two. Then invoke the merge algorithm successively to merge the sublists, a pair at a time, into increasing order until the entire list is sorted. For instance, suppose the one-element sublists after successive division are X l , X 2 , . . . , and Xn; then merge the sublists Xl and x2, x3 and x4, etc., to form new sublists x12,x34, etc.; now merge the sublists x12,x34,.., pair by pair; continue like this until there is a single ordered list. The following example illustrates this method. Using the merge sort algorithm, sort the list 13, 8, 3, 5, 2 into ascending order. SOLUTION: Divide the given list into two sublists of equal or about the same size: [13, 8, 3] and [5, 2]. Split each sublist into two sublists, resulting in four sublists: [13, 8], [3], [5], [2]. Now divide the first sublist into two sublists, resulting in five one-element sublists: [13], [8], [3], [5], [2]. The tree diagram in Figure 5.18 illustrates this splitting process. Now the merge algorithm combines them successively in pairs into sorted sublists until the original list is sorted, as shown by the upside-down tree in Figure 5.19. The recursive merge sort algorithm is given in Algorithm 5.7. Use it to sort the list [13, 55, 3, 8, 34, 5, 2, 31, 29, 6].
9
o
"q
co
p
~D
o" o
~.~o
~r
ol
=r
e~
~o
cr~
_~~
0
--'.
c-
~ o -s t-~
~ ~
.._~.
9.~
to~" tl~
o
rb
~
+
=:i -~. ~~ -~" Q_~_
--' t'D
-~ --~t~ r+ V
~-~
--~- 0
~
,l~ /
~_
-~.
Et
~
v
o -~
--~
fb
~1
~
~-
o -~
-~
CI)
:::t
.
:~"
-~
..~
Et fl)
-'-
~-
~
~~
X-
~
"~ -'-
~.
9
~. ---~
~l
-'-
~
~
,~
~
~
(1) ~
0
:::i o -s tD
~
~~ --~. u~
tl~
-..
~ r ~ -,o
o
"--~
~
v
.
:,I-
0 "S
_.~.
::50
m
0 -S --~. r+
0.~
.-~
-'.
_~.
O"
t~
cO"
tD
t'D
0
0
_~.
t~
._~. "-S
"0
._,.
._~. t~
t~ cO-
u~ ?D
('1)
r 0
t'D t~
c-
0
i
..~.
tD
tD Et (1)
tD
o
o
c~
c~ c-
o
f~
+
N
o ..-h
x
.._~.
...~.
o
...~.
c-
.._~.
--t
-..o
r,
I
t
.~
t
t
~.
t
bO
t~
~ . . e-~
t
t
t
1".2
".m
~
t
_
t~
5.5 Recursive Algorithms
315
Using Algorithm 5.4, find the n u m b e r of computations needed to compute the n t h Fibonacci n u m b e r Fn for each value of n. (Hint: Draw a tree diagram.) 5.4
6.5
7.6
8.7
9. Let an denote the n u m b e r of additions needed to compute Fn using recursion. Use Exercises 5-8 to predict a formula for an. 10. Using induction, prove the formula in Exercise 9 for every n > 1. 11. Write an iterative algorithm to compute the n t h Fibonacci n u m b e r . 12. Mrs. Zee deposits A dollars at a b a n k at an annual interest rate of r% compounded semiannually. Write a recursive algorithm to compute the compound a m o u n t she will receive at the end of n years. Using the recursive binary search algorithm in Example 5.33, determine if the given key occurs in the corresponding list. Show the successive values of low, high, and m i d . 13. 2, 3, 5, 8, 13, 21; key - 13
14. 3, 5, 7, 8, 10; key - 9
Using the merge sort algorithm, arrange each list into ascending order. 15. 9, 5, 2, 7, 19, 17, 3, 11
16. 9, 11, 6, 2, 12, 3, 8, 5, 31, 13
17. Write an algorithm to compute the n t h Lucas n u m b e r Ln using recursion. 18. Let x be a positive real n u m b e r and n a nonnegative integer. Write a recursive algorithm to compute x n. Let X - [Xl,X2,... ,Xn] and Y - [Yl,y2,...,Yn] be two lists of numbers. Write a recursive algorithm to accomplish the tasks in Exercises 19-31. 19. Find the sum of the n u m b e r s from left to right. 20. Find the sum of the n u m b e r s from right to left. 21. Compute the product of the n u m b e r s from left to right. 22. Compute the product of the n u m b e r s from right to left. 23. Find the m a x i m u m of the n u m b e r s in the list. 24. Find the m i n i m u m of the n u m b e r s in the list. 25. Print the n u m b e r s in the given order xl, x 2 , . . . , Xn. 26. Print the n u m b e r s in the reverse order Xn, Xn- 1 , - . . , X2, Xl. 27. ( L i n e a r s e a r c h ) Search the list for a specific item (key). R e t u r n the location of key if the search is successful. 28. Determine if two lists X and Y of n items of the same type are identical.
316
Chapter 5 Recursion 29. Determine if a word of n a l p h a n u m e r i c characters is a palindrome. 30. Evaluate A c k e r m a n n ' s functionA(x,y), w h e r e x a n d y are n o n n e g a t i v e integers. See Exercises 5.1 for a definition of A(x,y). 31. Sort the list X using bubble sort. 32. Use the recursive bubble sort algorithm to sort the list 13, 5, 2, 8, 3. Q u i c k s o r t , invented in 1962 by C. A n t h o n y R. Hoare of Oxford University, is an extremely efficient technique for sorting a large list X of n items X l,X2,... ,Xn. It is based on the fact t h a t it is easier to sort two small lists t h a n one large list. Choose the first element x l as the pivot. To place the pivot in its final resting place, compare it to each element in the list. Move the elements less t h a n x 1 to the front of the list and those greater t h a n Xl to the rear. Now place pivot in its final position. Partition the list X into two sublists such t h a t the elements in the first sublist are less t h a n Xl and the elements in the second sublist are greater t h a n xl. Continue this procedure recursively with the two sublists. *33. Use quicksort to sort the list 7, 8, 13, 11, 5, 6, 4. *34. Use quicksort to write a recursive algorithm to sort a list X of n elements.
We now use induction to establish the correctness of two well-known recursive algorithms, linear search and bubble sort. We begin with the linear search algorithm. Recall t h a t the linear search algorithm searches a list X of n elements for a given key. If the search is successful, the algorithm r e t u r n s the location of key; otherwise, it r e t u r n s zero. A recursive version is given in Algorithm 5.8. Again, as an exercise, use it to search the list X = [13, 5, 47, 7, 11, 8, 3] for key - 11. Algorithm linear search (X,n,key,location) (* This a l g o r i t h m returns the p o s i t i o n of key in the v a r i a b l e l o c a t i o n . I f l o c a t i o n = O, then key does not e x i s t in the l i s t . *) O. Begin (* algorithm *) i. i f n = 0 then (* unsuccessful search *) 2. l o c a t i o n +- 0 3. else i f Xn = key then 4. l o c a t i o n ,-- n 5. else 6. l i n e a r search(X,n - l , k e y , l o c a t i o n ) 7. End (* algorithm *)
Algorithm 5.8
5.6 Correctness of Recursive Algorithms
~
317
Establish the correctness of Algorithm 5.8. P R O O F (by PMI): To prove the correctness of the algorithm, we m u s t show t h a t it works correctly for n > 0. Let P(n)" The algorithm r e t u r n s the correct value of location for every list of size n. B a s i s s t e p When n - 0, lines 3 t h r o u g h 6 in the algorithm are skipped and the algorithm r e t u r n s the value 0 from line 2. So the algorithm works correctly when n - 0. I n d u c t i o n s t e p Let k be an arbitrary integer k > 0 such t h a t P(k) is true; that is, assume the algorithm works correctly for a list of a r b i t r a r y size k > 0. To prove t h a t P(k + 1) is true, invoke the algorithm for a list X of size k + 1. Note t h a t k + 1 > 1. Case 1 line 4.
If Xk+ 1
--
key,
the algorithm r e t u r n s the value k + 1 from
C a s e 2 IfXk+l r key, line 6 is executed; so the algorithm is invoked for a list with k elements. By our inductive hypothesis, the algorithm works for such a list.
Thus in both cases, the algorithm r e t u r n s the correct value of location. Therefore, P(k + 1) is true. Consequently, P(n) holds for n > 0 by induction; t h a t is, the algorithm works correctly for every list. m Next we verify the correctness of the recursive version of the bubble sort algorithm, given in Algorithm 5.9. To get used to it, you may use it to sort the list X - [13, 5, 47, 7, 11, 8, 3]. Algorithm Bubble Sort(X,n) (* This algorithm sorts a l i s t X of n items using recursion. *) O. Begin (* algorithm *) i. i f n > 1 then (* l i s t contains at least two elements *) 2. b e g i n (* i f *) 3. f o r i = 1 to n - 1 do 4. i f x i > Xi+ I then (* they are out of order *) 5. swap xi and xi + i 6. bubble sort(X,n - I)
7. 8.
endi f End (* algorithm *)
Algorithm 5.9
~
Establish the correctness of Algorithm 5.9. P R O O F (by PMI)" Let P(n)" The algorithm works for every list of size n.
Chapter 5 Recursion
318
B a s i s s t e p When n - 0, the list contains no elements. So the a l g o r i t h m works by default. Thus, P(0) is true. I n d u c t i o n s t e p Assume P(k) is true for an arbitrary integer k >_ 0; t h a t is, the algorithm correctly sorts every list ofk (>_ 0) elements. To prove t h a t P(k + 1) is true, invoke the algorithm for a list X with k + 1 elements, w h e r e k+1>1. If k + 1 - 1, the f o r loop is not entered. So P(k + 1) is true, by default. If k + 1 > 1, the f o r loop is entered. Consecutive elements xi and Xi+l are compared in line 4 and switched in line 5 if necessary. W h e n we exit the loop, the largest of the k + 1 elements is placed in the correct position, in location k + 1. This leaves a sublist of k elements, x l , . . . , xk. By the inductive hypothesis, the algorithm correctly sorts such a list. Thus if P(k) is true, then P(k + 1) is also true. Therefore, by induction, P(n) is true for every n >__0: the algorithm sorts every list of every size n >_ 0. m The following exercises provide additional opportunities to establish the correctness of recursive algorithms. Exercises 5.6 Establish the correctness of each algorithm. 1. The factorial algorithm in Example 5.28. 2. The h a n d s h a k e algorithm in Example 5.29. 3. The Tower of B r a h m a algorithm in Example 5.30. 4. The Fibonacci algorithm in Example 5.31. 5. The binary search algorithm in Example 5.33. 6. The merge sort algorithm in Algorithm 5.7. 7-17. The algorithms in Exercises 19-29 of Section 5.5. Algorithm 5.10 computes the n t h power of a positive real n u m b e r x, where n > 0. Use it to answer Exercises 18-24.
Algorithm exponentiation (x,n) (* This algorithm computes the nth power of x using recursion and returns the value in the variable answer. *) O. Begin (* algorithm *) 1. i f n = 0 then 2. answer <- I 3. else i f n - i then 4. answer ~- x 5. else
5.7 Complexities of Recursive Algorithms (optional)
6. 7. 8. 9. 10. 11. 12.
319
begin
(* else *) value ~-- e x p o n e n t i a t i o n ( x , L n / 2 ] ) answer <-- value 9 value i f n is odd then answer <-- answer 9 x ende] se End (* algorithm *)
A] gori thm 5. I0
Let an denote the number of multiplications (lines 7-10) required by the algorithm to compute x n. Compute each. 18. a0
19. a l
20. a4
21. a5
22. Find the recurrence relation satisfied by an. 23. Solve the recurrence relation in Exercise 22, where n - 2 k. 24. Establish the correctness of Algorithm 5.10. 25. Prove the correctness of the iterative Fibonacci algorithm in Exercise 11 of Section 5.5.
Using the big-oh and big-theta notations, we now investigate the complexities of a few standard recursive algorithms: linear search, Fibonacci, selection sort, binary search, and merge sort. In addition, using Fibonacci numbers, we estimate the number of divisions needed to compute gcd{a, b } using the euclidean algorithm. We begin our analysis with the recursive linear search algorithm. Use the recursive linear search in Algorithm 5.8 to estimate the worst time required to search for a key in a list X of n items. SOLUTION: Let Cn denote the maximum number of element comparisons needed in line 3 of the algorithm. To find a big-oh estimate of Cn, first define it recursively. Clearly, co - O. When n >_ 1
Cn
-
-
/ m a x i m u m number of calls~ [ f r o m the recursive call in | + ] \line 6
=Cn-l+ 1
number of ) comparisons in line 3
Chapter 5
320
Recursion
Thus CO -- 0
n>l
Cn - - C n - 1 ~ 1,
D
Solving this recurrence relation (try) yields C n : n , n > 0; so C n - - O ( n ) = (~)(n). Thus, in the worst case, the algorithm takes O(n) - | comparisons to locate the key, the same as the iterative version, m Next we analyze the recursive and iterative Fibonacci algorithms. ~
Using the recursive algorithm in Example 5.31, estimate the n u m b e r of additions an needed to compute the n t h Fibonacci number.
SOLUTION: By Exercises 9 and 10 in Section 5.5, a n - F n - 1, n >_ 1. But, by Exercise 43 in Section 5.1, F n <_ 2 n, where n >_ 1. Therefore, an _< 2 n -
1
< 2n -- O ( 2 n)
Thus, the recursive Fibonacci algorithm takes 0(2 n) additions,
m
For comparison, we now study the complexity of the iterative version of the Fibonacci algorithm. Estimate the n u m b e r of additions a,~ required in line 5 to compute the n t h Fibonacci n u m b e r F , by Algorithm 5.11. Algorithm iterative Fibonacci(n) (* This i t e r a t i v e a l g o r i t h m uses the values of the v a r i a b l e s of the l a s t and the c u r r e n t Fibonacci numbers to compute the next Fibonacci number. *) O. Begin (* a l g o r i t h m *) I. l a s t ~- i 2. c u r r e n t ~-- I 3. f o r i = 2 to n do 4. begin (* f o r *) 5. next , - l a s t + c u r r e n t 6. l a s t ~- c u r r e n t 7. c u r r e n t ,-- next
8. 9.
endfor End (* a l g o r i t h m *)
A]gorithm 5.11
SOLUTION: The first two Fibonacci n u m b e r s need no computations; therefore, a l 0 = a2. Suppose n > 2. It takes one addition to compute the next item
5.7 Complexities of Recursive Algorithms (optional)
321
Fn from the current term Fn-1. So an -- an-1 -~- 1. Solving this recurrence
relation (try), we get an-n-2,
n>_2
= | Thus the iterative version takes |
additions to compute Fn.
B
The time it takes to compute Fn by the recursive algorithm grows exponentially with n, whereas by the iterative algorithm it grows only linearly. As n gets larger and larger, it takes more time to compute Fn by recursion than by iteration. Thus, by dividing and conquering the problem, we have made it complicated. Should we prefer the iterative method to the recursive method? Since every recursive algorithm has a nonrecursive version, if the algorithm makes just one recursive call to itself, as in the factorial algorithm, the iterative approach will, in general, save time. On the other hand, if the problem has a recursive definition, it will be easy to write a recursive algorithm for the problem. Writing the nonrecursive version of a recursive algorithm is often a painful task and the resulting algorithm is often much longer, complicated, and difficult to understand. For instance, the nonrecursive version of the Tower of Brahma algorithm is longer and that of quicksort is rather complicated. Next we estimate the number of element-comparisons required by the recursive selection sort algorithm presented in Algorithm 5.12. (See Algorithm 4.11 in Chapter 4 for an iterative version.) Algorithm selection sort(X,n) (* This algorithm invokes a subalgorithm called swap which switches two elements. MoxZndex denotes the index of the largest of the n elements. *) O. Begin (* algorithm *) I. maxindex~- n ( * i n i t i a l i z e maxindex at each pass *) 2. for i = 1 to n - 1 do 3. i f xi > Xmaxindex then 4. maxindex ~- i 5. i f maxindex # n then (* swap the corresponding items *) 6. swap Xmaxindex and Xn 7. selection sort(X,n - 1) 8. End (* algorithm *)
Algorithm 5.12
Estimate the number Cn of comparisons (lines 3 and 5) required by Algorithm 5.12. SOLUTION: To estimate Cn, first define it recursively. If the list contains just one element, lines 3 and 5 are not executed; therefore, c1 - 0.
322
Chapter 5 Recursion
Suppose n > 2. Since t h e f o r loop is executed n - 1 times, line 3 is executed n - I times. F u r t h e r m o r e , line 5 is executed once. Therefore, Cn --Cn-1
n t-
1)+ 1
(n-
=Cn-1 -~-n,
n > 2
Solving the r e c u r r e n c e relation by the iterative m e t h o d , we get n ( n + 1) Cn --
2
-1,
n>__l
-- (~)(n2) T h u s the a l g o r i t h m takes (-)(n 2) comparisons to sort a list of n items, as in the iterative version, m E x a m p l e 5.41 investigates one of the m a n y properties of Fibonacci n u m bers. E x a m p l e 5.42 uses the p r o p e r t y to e s t i m a t e the n u m b e r of divisions in the euclidean algorithm. 1+,/5 Let F,~ denote the n t h Fibonacci n u m b e r and c~ = Prove t h a t c~ n - 2 < gn < c~ n - 1 n > 3. P R O O F (by s t r o n g induction): (We shall prove t h a t c~'~-2 < Fn and leave the o t h e r half as an exercise.) You may verify t h a t a is a solution of the e q u a t i o n x 2 - x + 1, so a2 _ a + 1. Let P(n)" O~n - 2 < F , , w h e r e n > 3. B a s i s s t e p Since the induction step below uses the r e c u r r e n c e relation Fk+i - Fk + Fh-1, the basis step involves verifying t h a t both P(3) and P(4) are true. 9 To s h o w t h a t P ( 3 ) is true: W h e n n - 3,
1+~/~ ot n - 2
- - o~ - -
2
<
1+3 2
= 2
So P(3) is true. 9 T o s h o w t h a t P ( 4 ) is true:
3+~/5
<
T h u s P(4) is also true.
3+3 2
-3-F4
-
F3
5.7 Complexities of Recursive Algorithms (optional)
Induction
step
~ i - 2 < Fi f o r 3 (~k-1 < Fk+l"
323
A s s u m e P(3), P ( 4 ) , . . . , P(k) are true; t h a t is, a s s u m e < i _< k. We m u s t show t h a t P ( k + l ) is true; t h a t is,
We have
M u l t i p l y i n g both sides by c~k - 1
c~k - 3 ,
- - of k - 2 -+- o~k - 3
(Note: k - 3 > 2. )
< Fk + F k - 1 ,
by t h e inductive hypothesis
=
Fk+ I
by t h e r e c u r r e n c e relation
,
T h u s P(k + 1) is true. is,
Therefore, by the s t r o n g version of induction, P(n) is t r u e for n > 3; t h a t Ofn-2 < F n for every n > 3. m
Now we can e s t i m a t e the n u m b e r of divisions r e q u i r e d by the euclidean a l g o r i t h m to c o m p u t e gcd{a, b }. ( L a m ~ ' s T h e o r e m ) The n u m b e r of divisions needed to c o m p u t e g{a, b} by the euclidean a l g o r i t h m is no more t h a n five t i m e s the n u m b e r of decimal digits in b, w h e r e a > b > 2.
PROOF: Let Fn denote the n t h Fibonacci n u m b e r , a - r0, and b - rl. By the r e p e a t e d application of the division a l g o r i t h m we have" ro -- r l q l + r2
0 <_ r2 < rl
rl -- r2q2 + r3
0 <_ r3 < r2
r n - 2 -- r n - l q n - 1
+ rn
0 <_ rn < r n - 1
r n - 1 - rnqn
Clearly, it takes n divisions to e v a l u a t e gcd{a,b} - rn. Since ri < r i - 1 , qi >_ 1 for 1 _< i _< n. In particular, since rn < r n - 1 , qn >_ 2; SO rn >_ 1 a n d rn-1 > 2 -- F3. Consequently, we have: r n - 2 ---- r n - l q n - 1
-t- rn
>__r n - 1 + rn
>F3+l = F3 + F2 - F4
324
Chapter 5 Recursion
r n - 3 -- r n - 2 q n - 2
+ rn-1
>__ r n - 2 + r n - 1
>_ F4 + F 3 - F 5 C o n t i n u i n g like this, r l -- r 2 q 2 + r3 > r2 + r3
>_ Fn + Fn-1 - Fn+l
T h a t is, b >_Fn+l
B y E x a m p l e 5.41, Fn+ 1 > c~n - l , w h e r e a =
b
1 + ~/5. Therefore, 2
>C~ n-1
Then log b > (n - 1) log Since a -
1+v/5
1 1.618033989, log c~ ~ 0.2089876403 > ~. So log b >
n-1 5
Suppose b contains k decimal digits. T h e n b < 10 h. Therefore, log b < k n-1 and hence k > ~ . T h u s n < 5k + 1 or n < 5k. T h a t is, the n u m b e r of 5 divisions needed by the a l g o r i t h m is no more t h a n five times the n u m b e r of decimal digits in n. n n-1 Let us p u r s u e this example a bit further. Since log b > ~ , n 1 + 5 log b. Also, since b > 2, 5 log b >_ 5 log 2 >1 Thus n < 1 + 51ogb < 51ogb + 51ogb = 10 logb = O(log b) T h u s it takes O(log b) divisions to c o m p u t e gcd{a,b} by the euclidean algorithm.
<
5.7 Complexities of Recursive Algorithms (optional)
325
Gabriel L a m d (1795-1870) was born in Tours, France. After graduating from the Ecole Polytechnique in 1817, he continued his studies at the E,cole des Mines, from which he graduated in 1820. The same year Lamd was appointed director of the School of Highways and Transportation in St. Petersburg, Russia. There he taught mathematics, physics, and chemistry and planned roads and bridges in and around the city. In 1832, he returned to Paris to form an engineering firm. Within a few months, however, he left it to become the chair of physics at the Ecole Polytechnique, where he remained until 1844. While teaching, he served as a consulting engineer, becoming the chief engineer of mines in 1836. He helped build the railroads from Paris to Versailles and to St. Germain. In 1844, Lamd became graduate examiner for the University of Paris in mathematical physics and probability, and professor 7 years later. In 1862, he became deaf and resigned his positions. He died in Paris. Although Lam4 did original work in number theory and mathematical physics, his greatest contribution was the development of the curvilinear coordinates and their applications. His work on the curvilinear system led him to number theory. In 1840, he proved Fermat's Last Theorem for n = 7. Gauss considered Lamd the foremost French mathematician of his time. French mathematicians, however, considered him too practical, and French scientists, too theoretical.
The next example, due to S. H. Friedberg, explores the n u m b e r of multiplications needed to compute the d e t e r m i n a n t of an n x n m a t r i x by cofactor expansion. (It may be omitted by those not familiar with d e t e r m i n a n t s and calculus.) (optional) Let fn denote the n u m b e r of multiplications needed to compute detA, the d e t e r m i n a n t of an a r b i t r a r y n x n m a t r i x A = (aij) by cofactor expansion. E s t i m a t e fn. SOLUTION: We estimate fn in three steps: 9 Define fn recursively. 9 Solve the recurrence relation. 9 Use the solution to estimate fn. 9 To define fn recursively: Let Cij denote the (n - 1) x (n - 1) d e t e r m i n a n t obtained from d e t A by deleting its ith row a n d j t h column. By expanding detA with respect to the first row, we have n
detA-
E(-1)J+ZaljClj j=l
cofactor expansion by row 1
326
Chapter 5 Recursion
In particular let
: [a
Clearly, two multiplications are needed to evaluate d e t A and hence - 2. Also fl = 0. Suppose n _> 3. Then, by definition, it takes fn-1 multiplications to compute Clj. Therefore, it takes fn-1 + 1 multiplications to evaluate a l j C l j and hence n ( f n - i + 1) multiplications to c o m p u t e detA. Thus fn can be defined recursively as follows:
f2
fl-0 fn - n ( f n - 1
+ 1),
n >_ 2
(5.20)
(This is a linear n o n h o m o g e n e o u s recurrence relation with n o n c o n s t a n t coefficients.) 9 To solve the recurrence relation (5.20)" Let fn = n!gn. Since fl - 0, g l E q u a t i o n (5.20), we get n!gn = n [ ( n -
-
0. S u b s t i t u t i n g for fn in
1)!gn-1 + 1]
= n!gn-1 + n
So (gn
--
gn-1)n! = n
gn - g n - 1 -
1 ( n - 1)!
(Note: g l - 0. )
Solving this yields (see Exercise 64)
gn -
'••
11 -~, since gl = 0 k=l II,.
So, n-ll) fn = n ' g n - - n ' ( k ~ _ _ l ~ .
=n! Therefore,
fn
1) 1) ~.
~
-1
-i
= n!(e - 1) - 1, by calculus < en!
m
= O(n!)
5.7 Complexitiesof Recursive Algorithms (optional) Thus the evaluation multiplications.
of detA
by
cofactor
327 expansion
takes
O(n!)
II
Divide-and-Conquer Algorithms We can now analyze the complexities of a special class of recursive algorithms called divide-and-conquer algorithms. The binary search algorithm presented in Algorithm 5.6 is based on the divide-and-conquer approach. To search an ordered list of n items for a given key, we divide the list into two smaller and similar sublists of about the same size. If the middle value ~= key, t h e n we search either the lower half or the upper half, and continue this procedure until we are done. This exemplifies a divide-and-conquer algorithm. More generally, consider a problem of size n. Suppose the problem can be solved for a small initial value of n, and it can be broken up into a smaller and similar subproblems of approximately the same size, usually Ln/bJ or In~b], where a, b E N, 1 _< a < n, and 1 < b < n. Assume t h a t we can solve each of the subproblems and employ their solutions to solve the original problem. Such an algorithm is a divide-and-conquer algorithm. Let f ( n ) denote the n u m b e r of operations required to solve the original problem and g(n) the n u m b e r of operations resulting from the splitting. Then, assuming b is a factor of n, f (n) - a f (n/b) + g(n) This is the divide-and-conquer recurrence relation resulting from the algorithm. The binary search algorithm manifests the complexities of the divideand-conquer technique. ( b i n a r y s e a r c h ) Using the recursive binary search in Algorithm 5.6, let Cn denote the m a x i m u m n u m b e r of element comparisons needed to search for a given item (key) in an ordered list X of n items. If n = 1, then low = high = m i d = i and the condition in line 5 is tested exactly once; so Cl = 1. Suppose n > 1. Then the middle t e r m is XL(n+l)/2j. Compare key to X [ ( n + l ) / 2 j . If they are not equal, search the lower sublist or the upper sublist, but not both. If n is even, L n +2l j - L2J ; so the upper half contains / n /\ n 9n 9 n / - [ ~ J elements and the lower half contains ~ - 1 . ( < L 2 A ) e l e m e n t s . n + 1 n + 1 On the other hand, if n is odd, then / 2 ~ / - T ; so both sublists contain n - 21
= LnJ ~ elements each. Thus, in any case, the m a x i m u m n u m b e r
of comparisons needed is Ckn/2] + 1. So C1--1 Cn-
C[n/2J q- 1,
n >_ 2
(5.21)
328
Chapter 5 Recursion
To solve this r e c u r r e n c e relation, a s s u m e , for convenience, t h a t n is a p o w e r of 2, say n - 2 k, w h e r e k >_ 0. Let Cn - a k . T h e n t h e r e c u r r e n c e r e l a t i o n (5.21) becomes ak - ak-1 + 1, w h e r e a0 = 1. Solving t h i s r e c u r r e n c e r e l a t i o n yields ak - k + 1, k >_ 0 (Verify.). Since n = 2 k, k - l g n , so cn = 1 + lg n, n >_ 1. T h u s , if n is a p o w e r of 2, t h e n Cn - (O(lg n). S u p p o s e n is n o t a p o w e r of 2. T h e n , by induction, it can be s h o w n t h a t cn - 1 + llg n J, w h e r e n >_ 1 (see Exercise 44), so Cn - (')(lg n). Thus, in b o t h cases, t h e a l g o r i t h m t a k e s (-)(lg n) e l e m e n t c o m p a r i s o n s in t h e w o r s t case. m The p r e c e d i n g e x a m p l e is a special case of t h e following t h e o r e m . Since the p r o o f is s o m e w h a t complicated, we skip it (see Exercises 65 a n d 66). Let a, b E 1~ a n d c, d ~ IR+ w i t h b > 2. Let f be a n o n d e c r e a s i n g function* such t h a t f ( n ) - a f ( n / b ) + c a n d f(1) - d. T h e n
f(n)
-
O(lgn) O(nlogba)
if a - 1 otherwise
m
F o r example, let f be a n o n d e c r e a s i n g f u n c t i o n such t h a t f ( n ) = + 5 a n d f(1) - 8. T h e n , by T h e o r e m 5.7, f ( n ) - O(nlgS). The n e x t t h e o r e m is a g e n e r a l i z a t i o n of T h e o r e m 5.7. We s t a t e it w i t h o u t proof (see Exercises 6 7 - 6 9 for special cases of t h e t h e o r e m ) a n d apply it in E x a m p l e 5.45. 3f(n/2)
Let a, b ~ N a n d c, d e IR+ w i t h b >_ 2. Let f be a n o n d e c r e a s i n g f u n c t i o n such t h a t f ( n )
- af(n/b)
+ c n d. T h e n
f(n)
(optional) Let A
-
-
O(n d)
if a < b d
O(ndlgn)
ifa-b
O(nlogba)
if a > b d
(aij) a n d B -
d m
(bij) be two n x n m a t r i c e s . Let C = n
(cij) be t h e i r p r o d u c t w h e r e cij
a i h b k j . Since C h a s n 2 e n t r i e s a n d k=l each t a k e s n multiplications, t h e p r o d u c t C can be c o m p u t e d u s i n g n 3 = O(n 3) multiplications; in fact, it can be c o m p u t e d u s i n g O(n 3) c o m p u t a t i o n s (additions a n d multiplications), as Exercises 40 a n d 41 indicate, m =
~
We close this section w i t h an analysis of t h e m e r g e sort a l g o r i t h m , a d i v i d e - a n d - c o n q u e r strategy. ( m e r g e s o r t ) T h e m e r g e sort m e t h o d in A l g o r i t h m 5.7 s o r t s a list of n elements. Assume, for convenience, t h a t n is a p o w e r of 2, say, n - 2 k, k >_ 0. *Let S c_ IR. A function f 9S -~ •+ is said to be nondecreasing ifx < y implies f(x) <_f(y).
5.7 Complexities of Recursive Algorithms (optional)
329
Let C n denote the m a x i m u m n u m b e r of element comparisons needed in line 6. Show t h a t Cn - O(n lg n). SOLUTION: W h e n n = 2, one comparison is needed in line 6; therefore, c2 = 1. So, let n > 2. The list is split into two, with each sublist containing n/2 elements. In the worst case, the n u m b e r of comparisons resulting from line 4 is Cn/2, as it is from line 5. W h e n the merge a l g o r i t h m is invoked in line 6, each sublist contains n/2 elements; so the m a x i m u m n u m b e r of c o m p a r i s o n s from line 6 is n - 1. T h u s c2-
1
Cn -- 2Cn/2 + ( n --
Let ak
-
Cn
1),
n>3
where n - 2 k, k _> 0. T h e n a1-1 ak - - 2 a k _ l + (2 k -
1),
k>2
This recurrence relation (see Exercise 8 in Section 5.2) yields ak - ( k -
1)2 k + 1,
k>l
= k . 2k - 2k + 1 Thus c,~ - (lg n)n - n + 1 _
n>__2
= O(n lg n)
m
More generally, it can be shown t h a t in the worst case the merge sort requires O(n lg n) element comparisons for a list of n elements. This time estimate is the best a m o n g all sorting algorithms. Exercises 5.7 Find a big-oh estimate for each. 1. The n u m b e r h(n) of h a n d s h a k e s made by n guests at a party, using Example 5.3. 2. The n u m b e r bn of moves needed to t r a n s f e r n disks in the T o w e r of B r a h m a puzzle in Example 5.4. 3. The n u m b e r fn of regions formed by n lines, using Example 5.5.
330
Chapter 5 Recursion Estimate the solution fn of each recurrence relation (see Exercises 5.2).
5. f 0 = 0
4. f l - - 1
fn--fn-l + (2n-1),
6. f
fn = f n - 1 + 4 n , n > 1
n>2
7. f
-2
-1
fn --2fn-1 + (2 n - 1), n >_ 2
fn = f n - l + n , n > 2
Find the number of comparisons needed to search for key - 13 in each ordered list using the recursive binary search algorithm in Example 5.33. 8. 1 , 2 , 3 , 5 , 8 , 13
9. 5,8, 13,21,34
10. 3, 7, 8, 13, 21
11. 15, 16, 19, 21
Compute the maximum number of comparisons needed to search for a particular item in an ordered list containing the following number of items, using the recursive binary search algorithm. 12. 8
13. 20
15. 31
14. 25
Let bn denote the number of multiplications needed to compute n! using the recursive factorial algorithm in Example 5.1. 16. Define bn recursively. 17. Solve the recurrence relation satisfied by b,~. 18. Show that bn = O(n). 19-22. Estimate the number of times a,~ the assignment statement, x x + 1, is executed by the nested f o r loops in Exercises 35-38 of Section 4.4. Estimate the number a,~ of times the statement, x ~ x + 1, is executed by each nested f o r loop. 23.
f o r i = 1 t o n do f o r j = 1 t o Li / 2 ]
24. do
x <--x+l
"25,
f o r i : 1 t o n do f o r j = 1 t o i do f o r k = 1 t o j do f o r 1 = I t o j do x+-x+l
*26.
f o r i = I t o n do f o r j = I t o Fi / 2 ] x~-x+l
do
f o r i = 1 t o n do f o r j = 1 t o i do f o r k = 1 t o j do f o r 1 = 1 t o k do x~-x+l
Let bn denote the number of element-comparisons needed by the bubble sort algorithm in Algorithm 5.9. 27. Define bn recursively. 28. Solve the recurrence relation. 29. Find a big-oh estimate of bn.
5.7 Complexities of Recursive Algorithms (optional)
331
30. Let an denote the n u m b e r of additions needed to c o m p u t e the n t h n-2
Fibonacci n u m b e r F n , u s i n g Algorithm 5.4. Prove t h a t an -
~
El,
i=l
n>3. m
Solve each r e c u r r e n c e relation.
31. c 0 - 1
32.
Cn - Cn_l + b, n >
1
a2
-
0
an - a n - 1
33. C l - 0
-+ b, n >_ 3
34. c l - a
Cn - - C n - 1 ~ b n , n > 2
Cn -- Cn-1 + b n 3 n > 2
The n u m b e r of operations f ( n ) r e q u i r e d by an a l g o r i t h m is given by f ( n ) - f ( n - 1) + (n - 1) + (n - 2), where f(1) - 1. 35. Find an explicit formula for f ( n ) . 36. Show t h a t f ( n ) - O(n2). Let f ( n ) denote the n u m b e r of bits in the binary r e p r e s e n t a t i o n of a positive integer n. 37. Find a formula for f ( n ) .
38. Show t h a t f ( n ) - O(lg n).
39. Let x ~ R + and n ~ N. The technique of s u c c e s s i v e s q u a r i n g can be applied to c o m p u t e x n faster t h a n multiplying x by itself n - 1 times. For example, to find X 4 3 , first evaluate X2,X4,X8,X 16, and X 3 2 ; t h e n multiply X32,X8,X 2, and x 1" X 43 - - X 32 9 X 8 9 X 2 9 X 1. This process takes only 5 + 3 - 8 multiplications instead of the conventional m e t h o d ' s 42. The powers of x used in c o m p u t i n g x n are the place values of the bits in the b i n a r y r e p r e s e n t a t i o n of n; in fact, the n u m b e r of powers of x used equals the n u m b e r of nonzero bits in the b i n a r y r e p r e s e n t a t i o n of n. Let f ( n ) denote the n u m b e r of multiplications needed to c o m p u t e x n by successive squaring. Show t h a t f ( n ) - O(lg n). Let A - (aij) and B - (bij) be two n • n matrices. Let fn denote the n u m b e r of c o m p u t a t i o n s (additions and multiplications) to compute their product n
C-
(cij) ,
where
cij -
~
aikbkj.
k=l
40. Evaluate fn.
41. E s t i m a t e fn.
42. Solve the r e c u r r e n c e relation Cn - 2Cn/2 + 1, where C1 - a and n is a power of 2. 43. Show t h a t Cn - O ( n ) . 44. Let Cn denote the m a x i m u m n u m b e r of comparisons needed to search for a k e y in an ordered list X of n elements, u s i n g the recursive b i n a r y search algorithm. Prove t h a t Cn - 1 + [lg nJ, for every n >__ 1.
332
Chapter 5 Recursion
45. Let a, b, k e N, b > 2, a n d n = b k. C o n s i d e r t h e f u n c t i o n f defined b y k-1
f ( n ) = a f ( n / b ) + g ( n ) . S h o w t h a t f ( n ) - a k f ( 1 ) + Y]~ a i g ( n / b i ) . i=O
46. Solve t h e r e c u r r e n c e r e l a t i o n an - 2an~2 -+-n, w h e r e a l - 0 a n d n = 2 k. 47. Use Exercise 46 to s h o w t h a t an - O ( n lg n). Let f be a f u n c t i o n defined by f ( n ) - a f ( n / b ) + cn, w h e r e a, b e N, b > 2, c e R +, a n d f(1) - d. A s s u m e n is a p o w e r ofb. 48. Solve t h e r e c u r r e n c e relation. 49. Let a - b a n d d - 0. S h o w t h a t f ( n ) - O ( n lg n). C o n s i d e r t h e r e c u r r e n c e r e l a t i o n Cn = C[n/2j -t- C[(n+l)/2j Jr- 2, w h e r e Cl = 0. 50. C o m p u t e c3 a n d c4. 51. Solve t h e r e c u r r e n c e r e l a t i o n w h e n n is a p o w e r of 2. 52. F i n d t h e o r d e r of m a g n i t u d e of Cn w h e n n is a p o w e r of 2. Let t be a function defined by
t(n ) -
a
ifn-
1
t( Ln/2] ) + t( [n/2] ) + bn
otherwise
w h e r e a, b e IR+. (Such a f u n c t i o n occurs in t h e analysis of m e r g e sort.) 53. E v a l u a t e t(5) a n d t(6). 54. P r o v e t h a t t ( n ) is a n o n d e c r e a s i n g function; t h a t is, t ( n ) < t ( n + 1), w h e r e n > 1. 55. S h o w t h a t t ( n ) - O ( n lg n), w h e r e n is a p o w e r of 2. Let f ( n ) = 2 f ( n / 2 ) + cn 2, w h e r e f(1) - d a n d n is a p o w e r of 2. 56. Solve t h e r e c u r r e n c e relation. T h e n u m b e r hn =
n(1)
57. S h o w t h a t f ( n ) - O(n2).
~
called t h e h m ' m o n i e i ' q u e n t l y in t h e analysis of a l g o r i t h m s .
number,
occurs fre-
i=1
58. C o m p u t e h4 a n d hs.
59. Define hn recursively.
n
60. P r o v e t h a t E hi - (n + 1)hn - n, n >_ 1. i=1
m 61. P r o v e t h a t h 2 m >__ 1 + -~, m >__O. n+l 62. P r o v e t h a t hn <_ ~ . 2
Chapter Summary
333
*63. (For t h o s e familiar w i t h calculus) Let hn d e n o t e t h e n t h h a r m o n i c n
numberhn-i~l(1).Showthathn-O(lgn). (Hint: Use i n t e g r a t i o n . ) 64. Solve t h e r e c u r r e n c e r e l a t i o n gn - g n - 1
-- 1/(n -- 1)!, w h e r e g l - 0.
L e t a, b e N a n d c, d e ]~+ w i t h b >_ 2. Let f be a n o n d e c r e a s i n g f u n c t i o n such t h a t f ( n ) - a f ( n / b ) + c a n d f(1) - d. P r o v e each. **65. If a - 1, t h e n f ( n ) - O(lg n). **66. I f a # 1, t h e n f ( n ) - O ( n l ~ Let a, b, n e N, b >__2, c, d e R +, f(1) - d, a n d n is a p o w e r of b. Let f be a n o n d e c r e a s i n g f u n c t i o n such t h a t f (n) - a f (n/b) + cn 2. P r o v e each. **67. If a - b 2, t h e n f ( n ) - n 2 d + cn 2 log b n. **68. If a # B-d+
b 2, t h e n f ( n )
-An2+
B n l~
where A -
b2c 52 - a
and
b2c a - b 2"
**69. f(n) -
O(n 2)
if a < b 2
O(n 2 l g n )
ifa - b2
O(nlog~a)
ifa > b2
This c h a p t e r p r e s e n t e d a n e w class of f u n c t i o n s a n d h e n c e sively defined functions. T h e definitions of such f u n c t i o n s into recursive a l g o r i t h m s . J u s t as t h e big-oh a n d b i g - t h e t a well in a n a l y z i n g t h e t i m e complexities of a l g o r i t h m s , so p r o v i n g t h e c o r r e c t n e s s of recursive a l g o r i t h m s .
sequences: recurcan be t r a n s l a t e d notations worked does i n d u c t i o n in
Recursion 9 The r e c u r s i v e definition of a f u n c t i o n consists of one or m o r e initial conditions a n d a r e c u r r e n c e r e l a t i o n (page 262).
Solving Recurrence Relations 9 A simple class of r e c u r r e n c e r e l a t i o n s can be solved u s i n g the i t e r a t i v e method (page 279). 9 E v e r y solution of t h e r e c u r r e n c e r e l a t i o n an - a n - 1 + f ( n ) is of t h e form n an -- ao + ~ f (i) ( page 280). i=l
Chapter ,5 Recursion
334
9 E v e r y solution of the r e c u r r e n c e relation a n : C a n - 1 -~- 1 is of t h e f o r m cn -
1
+ ~ c--l'
an - cnao
w h e r e c ~: 1
(page 282) k
9 A kth-order LHRRWCC is of the form a n = ~ C i a n - i , w h e r e ck r 0 i=l ( page 287). 9 The characteristic equation of this r e c u r r e n c e r e l a t i o n is x k k
Cix k - i
:
(page 287).
0
i=1
9 The characteristic roots of a L H R R W C C s can be used to solve t h e LHRRWCCs (page 288). 9 The general solution of a L N H R R W C C s is given by a n -
aCnh) + a ~ ~)
(page 294).
Generating Functions 9 g(x) -
~
anX n
is the generating function of the real n u m b e r seque-
n--0
nce a0, a 1, a 2 , . . .
( page 298).
9 G e n e r a t i n g functions and the partial fraction decomposition rule can be used to solve LHRRWCCs (page 301).
Recursive Algorithms 9 A recursive algorithm consists of two cases" base case(s) a n d a general case (page 307). 9 L a m ~ ' s T h e o r e m The euclidean a l g o r i t h m for c o m p u t i n g gcd{a,b} takes no more t h a n five times the n u m b e r of decimal digits in b, w h e r e a >_ b > 2 (page 323).
Divide-and-Conquer Algorithms 9 The r e c u r r e n c e relation of a divide-and-conquer a l g o r i t h m is of t h e form f (n) - af (n/b) + g(n) (page 327).
Revlew Exercises In Exercises 1 and 2, the n t h t e r m a n of a n u m b e r sequence is defined recursively. C o m p u t e a5. 1. a l - a 2 =
1,a3-2
an - an-1 ~ an-2 9 an-3, n > 4
Chapter Summary
2. al - O , a2 - a 3 -
335
1
an -- a n - 1 + 2 a n - 2 + 3 a n _ 3 , n >__4
3. The n u m b e r of additions an needed to c o m p u t e t h e n t h Fibonacci n u m ber Fn by r e c u r s i o n is given by an - Fn - 1, n __ 1. F i n d t h e r e c u r r e n c e relation satisfied by an. (A m o d i f i e d h a n d s h a k e p r o b l e m ) Mr. a n d Mrs. M a t r i x h o s t e d a p a r t y for n m a r r i e d couples. At t h e party, each p e r s o n shook h a n d s w i t h everyone else, except t h e spouse. Let h ( n ) denote t h e total n u m b e r of h a n d s h a k e s made. 4. Define h ( n ) recursively. 5. Predict an explicit f o r m u l a for h ( n ) . 6. Prove t h e f o r m u l a obtained in Exercise 5, w h e r e n _>_ 1. U s i n g the iterative m e t h o d , predict an explicit f o r m u l a satisfied by each r e c u r r e n c e relation. 7. a 1 - 1 . 2 an - a n - 1
8. a l - 2 . 3 + n ( n + 1),n >_ 2
an - 3 a n _ l , n
9. a 1 - - 1
>__2
10. a 0 - 0
an - - a n - 1 + 2 n - l , n
>_ 2
an - a n - 1
+ (3n-
1), n >_ 1
1 1 - 1 4 . U s i n g induction, prove the formulas o b t a i n e d in Exercises 7-10. Solve each r e c u r r e n c e relation. 15. an = a n - 1 + a n - 2 , a l -- 2,a2 - 3 16. an -= a n - 1 + a n - 2 , a l = a2 - a 17. an = 2 a n - 1 + 7 a n - 2 - 8 a n - 3 18. an = 4 a n - 1 + 2 a n - 2 -
1 2 a n _ 4 , a o = 4 , a l = 10,a2 = 18,a3 = 58
1 2 a n - 3 - 9 a n _ 4 , a o -- 4 , a l = 0,a2 = 4,a3 - - 3 2
19. an = 10an-1 - 21an-2 + 5 n , ao = O, a l = 3
20.
an
=
8 a n - 1 - 15an-2 + 4 n 5 n , a o = 1 , a l = 3
21. Let an denote the n u m b e r of multiplications (lines 7-10) in Algor i t h m 5.10. Show t h a t an = O ( n ) . Let Cn denote t h e n u m b e r of e l e m e n t c o m p a r i s o n s m a d e (line 4) by t h e recursive bubble sort a l g o r i t h m in A l g o r i t h m 5.9.
22. Define Cn recursively. 23. Solve t h e r e c u r r e n c e relation. 24. Show t h a t Cn = O(n2).
336
Chapter 5 Recursion n
A l g o r i t h m 5.13 e v a l u a t e s t h e p o l y n o m i a l f ( x ) -
~
Exercises 25-29.
i=o
a i x ~ a t x - a. U s e it f o r
Algorithm evaluate poly(f,n,~,answer) (* This a l g o r i t h m r e t u r n s the value of a polynomial of degree n at c~ in the v a r i a b l e onswer. *) O. Begin (* a l g o r i t h m *) I. answer , - ao 2. power ~- i 3. f o r i = i to n do 4. begin (* f o r *) 5. power <- power * 6. answer ,-- answer + ai * power
7.
f
endfor
8. End (* a l g o r i t h m *)
Algorithm 5.13 E v a l u a t e e a c h p o l y n o m i a l at x - - 1 . 25. f (x) - x 3 + 2 x 2 - 3 x + 4
26. f ( x ) - 2x 3 -+- 5x - 6
L e t c,~ d e n o t e t h e n u m b e r of o p e r a t i o n s (lines 5 - 6 ) r e q u i r e d to e v a l u a t e a p o l y n o m i a l a t x - a. 27. D e f i n e cn r e c u r s i v e l y .
28. Solve t h e r e c u r r e n c e r e l a t i o n .
29. S h o w t h a t c , - O(n2). Use Horner's
algorithm
( A l g o r i t h m 5.14) to e v a l u a t e t h e p o l y n o m i a l
tl
f(x) -
~ a i x ~ a t x - a for E x e r c i s e s 3 0 - 3 5 .
i=0
Algorithm Horner(f,n, i ,~) (* This a l g o r i t h m evaluates a polynomial f of degree n at x - ~ by r e c u r s i o n and is invoked by H o r n e r ( f , n , O , c ~ ) . *) O. Begin (* a l g o r i t h m *) i. i f i = n then 2. Horner ~-- an 3. else 4. Horner K-- H o r n e r ( f , n , i + 1,e() 9 (x + ai 5. End (* a l g o r i t h m *)
Algorithm 5.14 E v a l u a t e e a c h p o l y n o m i a l a t x - 2. 30. f(x) - 3x 2 + 4x - 5 L e t bn d e n o t e t h e n u m b e r n e e d e d in line 4.
31. f (x) - 2x 3 - 5x + 3 of o p e r a t i o n s ( a d d i t i o n a n d m u l t i p l i c a t i o n )
32. D e f i n e bn r e c u r s i v e l y . 33. Solve t h e r e c u r r e n c e r e l a t i o n .
Chapter Summary 34. Show t h a t
337 O ( n ).
bn --
35. L e t a n denote t h e n u m b e r of n-bit words t h a t do not contain t h e p a t t e r n 111. Define a n recursively. Let a n denote t h e n u m b e r of ways a 2 • n r e c t a n g u l a r b o a r d can be covered with 2 • i dominoes. 36. Define a n recursively. 37. F i n d an explicit f o r m u l a for (Hint: Consider 2 • (n - 1) a n d 2 • (n - 2) boards.)
an.
W r i t e a recursive a l g o r i t h m to c o m p u t e each sum. 38. The s u m of t h e first n even positive integers. 39. The s u m of t h e first n odd positive integers. 4 0 - 4 1 . E s t a b l i s h t h e correctness of the a l g o r i t h m s in Exercises 38 a n d 39. 42. Write an iterative a l g o r i t h m to find the m i n i m u m and the m a x i m u m of a list X of n e l e m e n t s . Let Cn denote the n u m b e r of e l e m e n t c o m p a r i s o n s m a d e by the m i n m a x a l g o r i t h m in Exercise 42. 43. Define Cn recursively. 45. Show t h a t
bn -
44. Solve the r e c u r r e n c e relation.
O(n).
Prove each, w h e r e a a n d fl are the solutions of the e q u a t i o n x 2 = x + 1, Fn the n t h Fibonacci n u m b e r , and L n the n t h Lucas n u m b e r . Identities in
Exercises 46-53 were discovered in 1876 by Lucas. n
46.
~
~ Fi = Fn +2
47.
-- 1
i=l n
48.
~
n F 2 i = F2n+l -
1
49.
i=l
~ L i = Ln+2 - 3 i=l
n
50.
F2i- 1 -- F2n i=l
~ L 2 i - 1 =- L 2 n - 2 i=1
51.
n ~ L2i = L2n + l -
1
i=1
52. F n+l 2 ~- F2 -- g 2 n + l
53. F2+1 - F2_1 - g 2 n
54. g c d { F n , F n + l } - 1, n >_ 1
55. x n - F n x + F n - 1 , n >_ 2
(~n _ f i n
56. F n =
,n>l
Let C ( n ) denote t h e n u m b e r of c o m p a r i s o n s needed by quicksort to sort a list of n items. In t h e worst case, C ( n ) = C ( n - 1) + (n - 1), w h e r e C(0) = 0 = C(1). 57. Solve t h e r e c u r r e n c e relation.
58. Show t h a t C ( n ) = O(n2).
(Note: This shows t h a t , in the worst case, quicksort is as bad as selection
sort.)
Chapter 5 Recursion
338
Let A ( n ) denote the average n u m b e r of comparisons needed by quicksort. 1 n T h e n A ( n ) = (n + 1) + - ~ [ A ( i - 1) + A ( n - i)], where A(0) = 0 - A(1). n i-1 Use this fact to a n s w e r Exercises 59 and 60. *59. S h o w t h a t A ( n ) n+l
=2
n+l( 1) ~ i-3
i
.
*60. Show t h a t A ( n ) - O ( n lg n). ( H i n t : Use integration.) Supplementary Exercises
A side of the equilateral triangle in Figure 5.20 is n units long. Let an denote the n u m b e r of triangles pointing north. Figure 5.20
1. Define an recursively.
2. Solve the recurrence relation.
The n t h F e r m a t n u m b e r fn is defined by fn - 2 2" + l , n > _ 0 . 3. Prove t h a t fn+ 1 - f 2
_ 2fn + 2. (J. M. Schram, 1983)
4. Using Exercise 3, compute fl, f2, f3, and f4. 5. Let an be an infinite sequence with al - 1, a5 - 5, a12 -- 144, and an + an+3 - 2an+2. Prove t h a t an - Fn. (H. Larson, 1977)
1+4~ 6. Let a
=
2 lim F~+I = ~.
n--,~
and Fn the n t h Fibonacci n u m b e r .
Prove t h a t
gn
*7. Let S n denote the sum of the n u m b e r s in the n t h t e r m of the sequence of sets of p e n t a g o n a l n u m b e r s { 1}, {5, 12}, {22, 35, 51}, {70, 92,117, 145}, . . . . Find a formula for S n . *8. Let S n denote the sum of the n u m b e r s in the n t h t e r m of the sequence of sets of Fibonacci n u m b e r s {1}, {1,2}, {3,5,8}, {13,21,34,55}, . . . . Find a f o r m u l a for S n .
Chapter Summary
339
Describe the behavior of each n u m b e r sequence {an }, where a0 - a, a l - b, and a2 - c are positive numbers. (R. L. G r a h a m , 1991) 9. an+2 - (1 + an+l)/an
10. an+3 - (1 + an+l + an+2)/an
Let n E N and ~ Euler's phi-function. Define ~k _ ~gk-1 o q), where ~1 _ and o denotes composition. Let f ( n ) - ~(n) + ~2(n) + ~3(n) + . . . + q~(1). (D. L. Silverman, 1981) 11. Compute f(5) and f(8). 12. Prove t h a t if n - 2 k, t h e n f ( n ) - n. 13. Prove t h a t f ( n ) is even. [Hint: ~(n) is even for n > 2.] 14. Consider the sequence of right triangles Tn, n > 1, with legs An and Bn, and hypotenuse Cn such t h a t An+l - Bn and Bn+l - Cn. Compute lim Bn Cn n - - * ~ An and n--.eclim ~ . (M. Flavio, 1980) A set of integers A is f a t if each of its elements is >__ IAI. For example, {5, 7, 91} is a fat set, but {3, 7, 36, 41} is not. ~ is considered a fat set. Let fn denote the n u m b e r of fat subsets of the set {1, 2 , . . . , n}. (G. F. Andrews) "15. Define fn recursively.
* 16. Find an explicit formula for fn.
Let f ( n , k ) denote the n u m b e r of k-element subsets of the set S {1, 2 , . . . ,n} t h a t do not contain consecutive integers. Let fn denote the total n u m b e r of subsets of S t h a t do not contain consecutive integers. (I. Kaplansky) "17. Define f(n, k) recursively.
"18. Find an explicit formula for fn.
Computer Exercises Write a p r o g r a m to perform each task. 1. Read in a positive integer n < 20, and p r i n t the various moves and the n u m b e r of moves needed to transfer n disks from peg X to peg Z, using the rules in Example 5.4. 2. Read in a positive integer n, and print the first n t r i a n g u l a r and t e t r a h e d r a l numbers. 3. P r i n t the t r i a n g u l a r n u m b e r s _< 1000 t h a t are perfect squares. 4. P r i n t the t r i a n g u l a r n u m b e r s < 1000 t h a t are primes. 5. There are eight palindromic t r i a n g u l a r n u m b e r s < 1000. Find them. 6. Search for two t r i a n g u l a r n u m b e r s tn such t h a t tn and n are palindromic, where 9 < n < 100. 7. Read in a positive integer n and print the first n Fibonacci numbers, using recursion and iteration.
340
Chapter 5 Recursion 8. Read in a positive integer n _< 20 and print the first n Lucas n u m b e r s . 9. Read in a positive integer n < 25 and print the values of Fn+l and -
Fn
Ln+l correct to 10 decimal places, where Fn denotes the n t h Fibonacci Ln n u m b e r and Ln the n t h Lucas number. Read in a list of n positive integers. Use recursion to print each. 10. Their sum, product, m a x i m u m , and m i n i m u m . 11. The list in the given order. 12. The list in the reverse order. 13. Read in a key and search the list for key. P r i n t the location if the search is successful; otherwise, print a suitable message. 14. Read in a key and a sorted list of n items; d e t e r m i n e if key occurs in the list using recursion and iteration. P r i n t the location of key if the search is successful. 15. Read in a list of n words and determine if each is a palindrome, using recursion. 16. Read in two lists of n integers. Determine if they are identical, using recursion. 17. Read in a nonnegative real n u m b e r x and a nonnegative integer n; compute the n t h power ofx. 18. Read in a positive integer n < 100 and a positive real n u m b e r x < 2. Use the binary r e p r e s e n t a t i o n of n and the technique of successive squaring to compute x n. P r i n t the n u m b e r of multiplications needed to compute it. n
19. Read in a n u m b e r a, and a polynomial ~ aix ~(that is, coefficients and the corresponding exponents); print tt~e~ using H o r n e r ' s method.
of the polynomial at a,
20. Read in n positive integers and print their m i n i m u m and m a x i m u m , using both iteration and recursion. 21. Read in a positive integer n < 10 and a r r a n g e the Stirling n u m b e r s of the second kind S(n, r) in a t r i a n g u l a r form, where 1 < r < n. 22. Read in n positive integers and sort t h e m using bubble sort, selection sort, and insertion sort. P r i n t the n u m b e r of element-comparisons needed by each algorithm. 23. Read in n four-letter words. Sort them, using merge sort and quicksort. P r i n t the n u m b e r of element comparisons needed by each sort.
Chapter Summary
341
Exploratory Writing Projects Using library and Internet resources, write a team report on each of the following in your own words. Provide a well-documented bibliography. 1. Describe the properties of Fibonacci numbers, their occurrences in nature, applications to various disciplines, and relationships to Lucas numbers. 2. Explain how the golden ratio is related to Fibonacci and Lucas numbers. Describe its various occurrences in nature. 3. Describe the various forms of Ackermann's function. Investigate its importance in the study of recursive functions and the analysis of algorithms. 4. Investigate the Josephus problem, named for the first century Jewish historian Flavius Josephus (37?-100?). 5. Describe how, using Fibonacci numbers Fn (n >_ 2) as bases, nonnegative integers can be represented as binary numbers with no two adjacent l's. Express the integers 1-25 as such binary numbers. 6. Define continued fractions and describe their relationship to Fibonacci numbers. 7. Describe the Game of Life, invented in 1970 by British mathematician John H. Conway, now at Princeton University. 8. Describe the Game of Halma, invented in 1883 by George H. Monks, a Harvard Medical School graduate. 9. Examine the history of Catalan numbers and their properties and applications. Include a biography of E. C. Catalan. 10. Write an essay on the Tower of Brahma (Hanoi). 11. Write an essay on Quicksort. 12. Discuss the fifteen puzzle, invented by American puzzlist Samuel Loyd (1841-1911). 13. Discuss Markov chains, named after Russian mathematician Andrei A. Markov (1856-1922), who developed the theory of stochastic processes, and their applications to business.
Enrichment Readings 1. G. Brassard and P. Bratley, Algorithmics: Theory & Practice, PrenticeHall, Englewood Cliffs, NJ, 1986, pp. 26-34, 48-61.
342
Chapter5 Recursion 2. R. P. Grimaldi, Discrete and Combinatorial Mathematics: An Applied Introduction, 4th edition, Addison-Wesley, Boston, MA, 1999, pp. 351403. 3. B. W. Jackson and D. Thro, Applied Combinatorics with Problem Solving, Addison-Wesley, Reading, MA, 1990, pp. 226-252. 4. T. Koshy, Fibonacci and Lucas Numbers with Applications, Wiley, New York, 2001. 5. C. Oliver, "The Twelve days of Christmas," Mathematics Teacher, Vol. 70 (Dec. 1977), pp. 752-754. 6. S. Sahni, Concepts in Discrete Mathematics, 2nd ed., Camelot, Fridley, MN, 1985, pp. 205-335. 7. R. Sedgewick, Algorithms, 2nd ed., Addison-Wesley, Reading, MA, 1988, pp. 3-189. 8. K. B. Strangeman, "The Sum of n Polygonal Numbers," Mathematics Teacher, Vol. 67 (Nov. 1974), pp. 655-658. 9. C. W. Trigg, "Palindromic Triangular Numbers," J. Recreational Mathematics, Vol. 6 (Spring 1973), pp. 146-147. 10. A. Tucker, Applied Combinatorics, Wiley, New York, 1984, pp. 222-298. 11. H. S. Wilf, Algorithms and Complexity, Prentice-Hall, Englewood Cliffs, NJ, 1986, pp. 26-34, 48-61.
Chapter 6
C o m b i n a t o r i c s and D i s c r e t e Probability The theory of probability affords an excellent illustration of the application of the theory of permutations and combinations which is the fundamental part of the algebra of discrete quantity. --
G. CRYSTAL
C
ombinatorics is a fascinating branch of discrete mathematics, which deals with the art of counting. Very often we ask the question, In how m a n y ways can a certain task be done? Usually combinatorics comes to our rescue. In most cases, listing the possibilities and counting them is the least desirable way of finding the answer to such a problem. Often we are not interested in enumerating the possibilities, but rather would like to know the total number of ways the task can be done. For instance, consider the following combinatorial problem: O n e t y p e of a u t o m o b i l e license p l a t e n u m b e r in M a s s a c h u s e t t s consists of one l e t t e r a n d five digits. F i n d t h e n u m b e r of s u c h license p l a t e n u m b e r s possible. 9 9
5H0515 MASSACHUSETTS
~ ~
Suppose you are willing to list all the possibilities and count them to find the answer. Assuming you know how to enumerate them systematically and that it would take a second to count each, it would take about 6 months to complete the counting alone. Obviously, this is an inefficient way to find the answer, especially when combinatorics can do the job in seconds. (See Example 6.6.) A few other interesting problems we examine in this chapter are: 9 A secretary types up 10 different letters and 10 envelopes. In how many different ways can she place each letter in an envelope so that no letter is placed in the correct envelope? 343
344
Chapter 6
Combinatorics and Discrete Probability
9 Eleven guests would like to order soft drinks with their dinner. There are five choices for a soft drink: Coke Classic, Diet Coke, root beer, Pepsi, and Sprite. Find the n u m b e r of different beverage selections possible. 9 What is the m a x i m u m n u m b e r of nonoverlapping regions formed inside a circle by joining n points on it? 9 In how m a n y ways can n married couples be seated at a r o u n d table so t h a t men and women sit on alternate chairs and no wife sits next to her husband? This chapter presents the f u n d a m e n t a l s of combinatorics.* In several instances, you will find recursion and generating functions useful in solving combinatorial problems, so review t h e m as needed.
This section, a natural continuation of Section 2.4, presents three fundamental principles that form the foundation of combinatorics. The addition and the inclusion-exclusion principles discussed in Section 2.4 have fine applications to combinatorics, as will be seen shortly. Find the n u m b e r of ways of drawing a red queen or a black king from a standard deck of playing cards. SOLUTION: Let A denote the set of red queens and B the set of black kings. Clearly, ]Ai = 2 = IB]. Since A and B are disjoint sets, by the addition principle, IA u Bi = IA] + iBI = 2 + 2 = 4. Thus there are four different ways of drawing a red queen or a black king. m In this example, drawing a red queen can be considered a t a s k , say, task A. Likewise, drawing a black king can be considered task B. Since the two tasks cannot occur simultaneously, they are m u t u a l l y e x c l u s i v e . So finding the n u m b e r of ways of drawing a red queen or a black king is equivalent to finding the n u m b e r of ways task A or t a s k B can be performed. Accordingly, the addition principle can be restated in t e r m s of tasks as follows.
(Addition Principle) Let A and B be two mutually exclusive tasks. Suppose task A can be done in m ways and task B in n ways. T h e n task A or task B can take place in m + n ways. m *The first book on combinatorics is Ars Conjectandi, written by the Swiss mathematician, Jakob Bernoulli (1654-1705) and published posthumously in 1713.
6.1 The Fundamental Counting Principles
345
The addition principle can be e x t e n d e d to a n y finite n u m b e r of pairwise m u t u a l l y exclusive tasks, u s i n g induction. For instance, let T 1 , . . . , Tn be n pairwise m u t u a l l y exclusive tasks. Suppose t a s k Ti can be done in mi ways, w h e r e 1 < i < n. T h e n t a s k T1, T 2 , . . . , or Tn can be done in m l § m2 § § mn ways, as the next e x a m p l e illustrates. ~
A f r e s h m a n has selected four courses and needs one m o r e course for t h e next t e r m . T h e r e are 15 courses in English, 10 in French, a n d 6 in G e r m a n she is eligible to take. In how m a n y ways can she choose t h e fifth course? SOLUTION: Let E be the t a s k of selecting a course in English, F the t a s k of selecting a course in F r e n c h , and G t h a t of selecting a course in G e r m a n . T h e s e t a s k s can be done in 15, 10, a n d 6 ways, respectively, a n d are m u t u a l l y exclusive, so, by the addition principle, the fifth course can be selected in IEI + IFI + I G I - 15 + 10 + 6 - 31 ways. i Like the addition principle, the inclusion-exclusion principle can be r e s t a t e d in t e r m s of t a s k s in an obvious way. It can also be e x t e n d e d to a finite n u m b e r of t a s k s (see T h e o r e m 6.19). ( I n c l u s i o n - E x c l u s i o n P r i n c i p l e ) Suppose a t a s k A can be done in m ways, t a s k B in n ways, and both can be accomplished in k different ways. T h e n t a s k A or B can be done in m + n - k ways. m The next p r o b l e m exemplifies this. In how m a n y ways can you deal a king or a black card from a s t a n d a r d deck of cards? SOLUTION: A king can be selected in four different ways and a black card in 26 different ways. These two t a s k s can be done s i m u l t a n e o u s l y in two ways, n a m e l y , by selecting a black king; so, by T h e o r e m 6.2, a king or a black card can be selected in 4 + 26 - 2 - 28 ways. m Before s t a t i n g the next c o u n t i n g principle, let us r e t u r n to E x a m p l e 2.23 in C h a p t e r 2. The t a s k of selecting a mode of t r a n s p o r t a t i o n for t h e trip from Boston to London via New York consists of two s u b t a s k s A a n d B" A is selecting a mode of t r a n s p o r t a t i o n from Boston to New Y o r k ~ c a r , plane, or ship ~ and B is selecting a mode of t r a n s p o r t a t i o n from New York to Lond o n ~ plane or ship. They can be done in ]Ai - 3 a n d iBi - 2 ways. Recall t h a t the trip can be m a d e in 6 - IAI. iB] ways; t h a t is, IA • BI - 6 - IA]. IBI. More generally, we have t h e following result. ( M u l t i p l i c a t i o n P r i n c i p l e ) Suppose a t a s k T is m a d e up of two s u b t a s k s , s u b t a s k T1 followed by s u b t a s k T2. If s u b t a s k T1 can be done in m ] ways and s u b t a s k T2 in m2 different ways for each way s u b t a s k T1 can be done, t h e n t a s k T can be done in m l m 2 ways. m The next four examples i l l u s t r a t e this principle.
346
Chapter6 Comblnatoricsand Discrete Probability F i n d t h e n u m b e r of t w o - l e t t e r words t h a t begin with a v o w e l - - a, e, i, or
O,
u.
SOLUTION: The t a s k of f o r m i n g a t w o - l e t t e r word consists of two s u b t a s k s T1 a n d T2" T1 consists of selecting t h e first l e t t e r a n d T2 selecting t h e second letter, as F i g u r e 6.1 shows.
F i g u r e 6.1
number of choices
subtask T1
subtask T2
Since each word m u s t begin w i t h a vowel, T1 can be a c c o m p l i s h e d in five ways. T h e r e are no r e s t r i c t i o n s on t h e choice of t h e second letter, so T2 can be done in 26 ways (see F i g u r e 6.2). Therefore, by t h e m u l t i p l i c a t i o n principle, the t a s k can be p e r f o r m e d in 5 . 2 6 = 130 different ways. In o t h e r words, 130 t w o - l e t t e r words begin with a vowel.
F i g u r e 6.2
number of choices 5 subtask T 1
9
26 subtask T 2
m
T h e various two-letter words in this e x a m p l e can be e n u m e r a t e d systematically by c o n s t r u c t i n g a tree d i a g r a m , as in Figure 6.3. All desired words can be obtained by t r a v e r s i n g t h e various b r a n c h e s of the tree, as indicated.
F i g u r e 6.3
first element
second element ~
a
~
word ---)
a
aa
9
~
z a
-~ --~
az ea
z
-~ ~
9 ez
a
___.)
ua
e ~
.-.)
u
z
-~
9
.
uz
6.1 The Fundamental Counting Principles
347
The multiplication principle can also be extended to any finite n u m b e r of subtasks. Suppose a task T can be done by n successive subtasks, T1, T2,..., Tn. If subtask Ti can be done in mi different ways after Ti-1 has been completed, where 1 < i < n, t h e n task T can be done in m l m 2 . . . m n ways. The multiplication principle can be applied to prove t h a t a set with size n has 2 n subsets, as shown below. Show t h a t a set S with n elements has 2 n subsets. SOLUTION: Every subset of S can be uniquely identified by an n-bit word (see Figure 6.4). The task of forming an n-bit word can be broken down to n subtasks: selecting a bit for each of the n positions. Each position in the word
F i g u r e 6.4
number of choices
9 .
9 .
9 .
.
.
9
9
.
.
9
n bits has two choices, 0 or 1; so, by the multiplication principle, the total number of n-bit words t h a t can be formed is 2 . 2 . . . . . 2 - 2 n (see Figure 6.5). In other words, S has 2 n subsets, n times Y
F i g u r e 6.5
number of choices
2.2.2
-..
2.2.2
II
We now t u r n to solving the problem posed at the beginning of the chapter. One type of automobile license plate n u m b e r in Massachusetts consists of one letter and five digits. Compute the n u m b e r of such license plate n u m b e r s possible. SOLUTION: For convenience, we decompose the task into three subtasks: 9 Choosing a letter. It can be done in 26 ways. 9 Choosing the position of the letter. It has six possible slots.
Chapter 6 Combinatorics and Discrete Probability
348
9 Choosing the five digits. T h e y can be selected in 1 0 . 1 0 . 1 0 . 1 0 . 1 0 100,000 ways.
=
Now we are ready to find the final answer. By t h e multiplication principle, the total n u m b e r of license plates is 2 6 . 6 . 100000 = 15,600,000. m The next example depends on the multiplication and addition principles. (optional) An identifier in a p r o g r a m m i n g language consists of a letter followed by a l p h a n u m e r i c characters.* F i n d the n u m b e r of legal identifiers of length at most 10. SOLUTION: Let Si denote the set of identifiers of length i, where i < i < 10. T h e n ISil 2 6 . 3 6 i-1 (see Figure 6.6). Since the s u b t a s k s $ 1 , . . . ,$10 are m u t u a l l y F i g u r e 6.6 26 9 36 9 36 . . . . .
36
I letter ~
(i - 1) alphanumeric characters
exclusive, by the addition principle, the total n u m b e r of identifiers of length < 10 is given by 10
JSit = ~ 2 6 "
i=1
36 i-1 - 26
36 i
i=1 -- 26.
(36 l ~
1)
26(36 l ~
36- 1
1)
35
- 2,716,003,412,618,210 2.7 quadrillion!
m
The final example in this opening section employs the multiplication and the inclusion-exclusion principles. ~
An eight-bit word is called a b y t e . Find the n u m b e r of bytes with t h e i r second bit 0 or the t h i r d bit 1. SOLUTION: N u m b e r of bytes with second bit 0 - 2 . 1 . 2 . 2 . 2 . 2 . 2 . 2 N u m b e r of bytes with third bit 1 - 2 . 2 . 1 . 2 . 2 . 2 . 2 . 2
- 27 - 27
Since these two s u b t a s k s are n o t m u t u a l l y exclusive, we c a n n o t add these two partial answers and claim t h a t the a n s w e r is 27 + 27 - 128 + 128 - 256. *An alphanumeric character is a letter or a digit.
6.1 The Fundamental Counting Principles
349
So, we m u s t find the n u m b e r of bytes t h a t have both properties. The number of bytes with second bit 0 and third bit 1 equals 2 . 1 . 1 . 2 . 2 . 2 . 2 . 2 26 - 64, so, by the inclusion-exclusion principle, the n u m b e r of bytes with the given properties is 27 + 27 - 26 - 128 + 128 - 64 - 192. m Exercises 6.1
Find the n u m b e r of positive integers < 1976 and divisible by: 1. 2 o r 3 .
2. 3 o r 5 .
3. 2,3, o r 5 .
4. 3,5, o r 7 .
5. In one version of BASIC, a variable name consists of a letter, or a letter followed by a digit, or the dollar sign ($). Find the total n u m b e r of possible variable names. Find the n u m b e r of terms in the expansion of each expression.
6. (a + b)(c + d + e)(x + y)
7. (b + c)(d + e + f)(x + y + z)
8. ( ~-~ai)( ~ bi)( ~ci)
9. ( ~ el)( ~ bi)( ~ci)
i=o
i=l
i=2
i=-2
i---1
i=o
10. Find the n u m b e r of palindromes of length n over the English alphabet. 11. Find the n u m b e r of palindromic alphanumeric identifiers of length n. (See Example 6.7.) 12. Find the total n u m b e r of bytes. (See Example 6.8.) 13. A word over the alphabet {0, 1, 2} is called a t e r n a r y word. Find the n u m b e r of t e r n a r y words of length n that can be formed. A typical automobile license plate in New York contains three letters followed by three digits. Find the n u m b e r of license plates of this kind that: 14. Can be formed.
15. Begin with the word BAT.
16. Begin with a vowel.
17. Begin with the digit 6.
18. Repeat no letters or digits. 19. Contain the same letters and the same digits. 20. Have the property t h a t both words and n u m b e r s are palindromes. An old zip code in the United States consists of five digits. Find the total n u m b e r of possible zip codes that" 21. Have no repetitions.
22. Begin with 0.
23. End in K.
24. Are palindromes.
350
Chapter 6 Combinatorics and Discrete Probability
A zip code in C a n a d a consists of t h r e e letters and t h r e e digits. Each zip code begins with a letter. The letters and digits alternate; for instance, A1B2C3. Find the n u m b e r of zip codes that: 25. End in 6.
26. Begin with A and end in 3.
27. End in Z.
28. Are possible.
The password for a computer system consists of six a l p h a n u m e r i c characters and begins with a letter. Find the total n u m b e r of passwords that" 29. Are possible.
30. End in RED.
31. Contain the word BAT.
32. End in 2076.
33. Every radio and television station in the United States has a u n i q u e call name. Each contains three or four letters, beginning with K or W. For example, KEY and WASP are legal call names. Find the n u m b e r of possible call names. Find the n u m b e r of bytes that: 34. Begin with 101.
35. End with 110.
36. Begin with and end in the same bit. 37. Begin with and end in different bits. 38. Have the same third and fourth bits. 39. Have third bit or fifth bit 1.
40. Have second bit 0 or third bit 1.
41. Are palindromes. Find the n u m b e r of positive divisors of the following positive integers. 42. 2 i. 3 j . 5 k
43. 600
44. A number-theoretic function used in the study of perfect n u m b e r s is the t a u f u n c t i o n v on N. (v is the Greek letter, tau.) v(n) denotes el, the n u m b e r of positive divisors of n ~ N. Let n - P l (" 1P2(?2 "" "Pk', where P l , P 2 , . . . ,Ph are distinct primes and e l , e 2 , . . . ,e]~ ~ W. Find r(n). 45. Find the n u m b e r of n x n matrices t h a t can be constructed using bits. Find the n u m b e r of t e r n a r y words t h a t have: 46. Length at most 3.
47. Length at most 5.
48. Length at most n.
49. Length 3 and are palindromes.
50. Length 4 and are palindromes.
51. 4 < length < 6
In an alphabet of m characters, how m a n y words have: 52. Length 3?
6.2
Permutations
351
53. L e n g t h not m o r e t h a n 2? 54. L e n g t h at least 2, b u t not m o r e t h a n 4? 55. L e n g t h not m o r e t h a n n? Let A and B be two finite sets w i t h ]A] = m a n d ]B] - n. How m a n y : 56. F u n c t i o n s can be defined from A to B? 57. Bijections can be defined from A to B ( a s s u m e m - n)? 58. Invertible functions can be defined from A to B ( a s s u m e m - n)? 59. Injections can be defined from A to B ( a s s u m e m < n)? Let T denote t h e t a u function. Prove each. 60. T(n) is odd if a n d only if n is a square. "61. If m and n are relatively p r i m e n u m b e r s , t h e n ~'(mn) - ~:(m). T(n). *62. The h a r m o n i c m e a n m of t h e n u m b e r s a l , a 2 , . . . , an is the reciprocal of the a r i t h m e t i c m e a n of t h e i r reciprocals; t h a t is, 1
1~(1)
m
n i=1
ai
Prove t h a t the h a r m o n i c m e a n of the positive factors of a perfect n u m b e r N is an integer. (Hint" I f d is a factor of N, t h e n so is N / d . ) (R. Euler, 1987)
The concept of ordered a r r a n g e m e n t s was familiar to Chinese m a t h e m a t i cians as early as 1100 B.C. This section i n t r o d u c e s t h e concept of ordered a r r a n g e m e n t s a n d shows how to find the n u m b e r of such a r r a n g e m e n t s . Suppose a p h o t o g r a p h e r would like to a r r a n g e 10 cats in a row for a television commercial. She can a r r a n g e t h e m in a n y order she likes. In how m a n y ways can she accomplish this? A l t h o u g h we could use the multiplication principle to arrive at an answer, we shall apply the concept of a p e r m u t a t i o n (see E x a m p l e 6.11). Recall t h a t t h e e l e m e n t s of an ordered set are assigned u n i q u e positions. For convenience, let us denote the ordered set (a,b,c) as the a r r a n g e m e n t abc. The words acb and bac are two different a r r a n g e m e n t s of the very s a m e letters. ( R e m e m b e r , the order m a k e s a difference.) E a c h of these a r r a n g e m e n t s is a p e r m u t a t i o n of the t h r e e l e t t e r s t a k e n all at a time, or a 3-permutation.
Chapter 6 Combinatorics and Discrete Probability
352
Permutation
A p e r m u t a t i o n of a set of n (distinct) elements t a k e n r (0 < r < n) at a time is an a r r a n g e m e n t of r elements of the set. For convenience, it is called an r - p e r m u t a t i o n . If r = n, t h e n the r - p e r m u t a t i o n is called simply a p e r m u t a t i o n . The n u m b e r of r - p e r m u t a t i o n s of a set of size n is d e n o t e d by P(n, r). We begin our discussion with a simple example. Find the n u m b e r of permutations; t h a t is, 3 - p e r m u t a t i o n s of the e l e m e n t s of the set {a, b, c}. SOLUTION: By the multiplication principle, the n u m b e r of 3 - p e r m u t a t i o n s of t h r e e elements is 3 92 9 1 = 6. Thus P(3, 3) = 6. m The various p e r m u t a t i o n s in Example 6.9 can be obtained systematically using a tree diagram, as Figure 6.7 shows. They are abc, acb, bac, bca, cab, and cba.
F i g u r e 6.7
first element
second element
third element
b
c
-~
abc
c
b
-~
acb
a
C
-~
bac
12
a
bca
a b
b a
cab
-~~x~~
x c ~
~
permutations
cba
Find the n u m b e r of 2-permutations of the elements of the set {a, b, c}. SOLUTION" Again, by the multiplication principle, the n u m b e r of 2 - p e r m u t a t i o n s is 3 . 2 - 6; t h a t is, P(3, 2) = 6. m The various 2-permutations in Example 6.10 are ab, ac, ba, bc, ca, and cb. They can be obtained using the tree diagram in Figure 6.8. Examples 6.9 and 6.10 can be i n t e r p r e t e d as follows: Suppose you have three books in your hands and would like to a r r a n g e t h e m in a bookcase. If there is enough room for three books, they can be a r r a n g e d in 3 . 2 . 1 - 6 different ways. On the other hand, if there is room for only two books, t h e y can be a r r a n g e d in 3 . 2 = 6 different ways.
6.2 Permutations
F i g u r e 6.8
353
first element
a
second element
permutations
b
~
ab
c
--~
ac
a
-~
ba
C
-'->
be
a
-~
ca
b
--->
cb
~
b
c ~
M o r e g e n e r a l l y , we h a v e t h e following r e s u l t . ~
T h e n u m b e r of r - p e r m u t a t i o n s of a set of n (distinct) e l e m e n t s is g i v e n by n! P(n,r)
-
~ . (n-r)!
PROOF: Since t h e r e a r e n e l e m e n t s , t h e first e l e m e n t can be c h o s e n in n ways. N o w n - 1 e l e m e n t s a r e left; so t h e s e c o n d e l e m e n t c a n be c h o s e n in n - 1 ways. C o n t i n u e like t h i s u n t i l t h e r t h e l e m e n t is r e a d y to be c h o s e n . At t h i s p o i n t t h e r e a r e n - r + 1 e l e m e n t s left. C o n s e q u e n t l y , t h e r t h e l e m e n t c a n be c h o s e n in n - r + 1 ways. T h u s , by t h e m u l t i p l i c a t i o n principle, P(n,r)
-
n(n
-
1)(n - 2 ) . . . (n - r + 1)
n(n
-
1 ) . . . (n - r + 1)(n - r ) . . . 2 . 1 (n - r ) . . . 2 . 1
=
n!
m
(n - r ) !
A l t h o u g h it is e a s y to r e m e m b e r t h e v a l u e of P ( n , r ) u s i n g t h i s form u l a , P ( n , r ) is o f t e n c o m p u t e d u s i n g t h e f o r m u l a P ( n , r ) = n ( n - 1) (n - 2 ) . . . (n - r + 1). T h e v a l u e s n! a n d (n - r)! m a y be too l a r g e e v e n for a c a l c u l a t o r to c o m p u t e . T h e n t h e v a l u e n ! / ( n - r ) ! m a y n o t be exact. You will find t h e fact t h a t n ! - n ( n - 1)! u s e f u l in c o m p u t i n g P ( n , r ) . F o r example, P(25, 5) =
25! ( 2 5 - 5)!
=
25! 20!
- 25.24.23.22.21
=
25.24.23.22-21.20! 20! - 6,375,600
Chapter 6 Combinatorics and Discrete Probability
354
Suppose we let r = n in T h e o r e m 6.4. T h e n n? n? P ( n , n ) - (n - n)? - O?
n? 1 - n?
Accordingly, we have the following result. ~
The n u m b e r of p e r m u t a t i o n s of a set of size n is given by P(n, n) = n!. T h a t is, n elements can be arranged in n? ways. m Interestingly enough, applications of this formula appear in the anonymous Hebrew book Sefer Yetzirah (The Book o f Creation), written between 300 and 600 A.D. The next two examples illustrate this theorem.
~
A
p h o t o g r a p h e r would like to arrange 10 cats for a television commercial. How m a n y ways can she arrange t h e m in a row? SOLUTION: Since all the cats have to be in the commercial at the same time, r - n = 10. Therefore, the n u m b e r of possible a r r a n g e m e n t s is P(10, 10) = 107 = 3,628,800. m
~
Find the n u m b e r of words that can be formed by scrambling the letters of the word SCRAMBLE. (Remember, a word is j u s t an a r r a n g e m e n t of symbols; it need not make sense.) SOLUTION: The word SCRAMBLE contains eight distinct letters. Therefore, the number of words t h a t can be formed equals the n u m b e r of a r r a n g e m e n t s of the letters in the word, namely, P(8, 8) = 8? = 40,320. m The next example uses the Theorem 6.5.
~
A
multiplication
principle,
as well as
salesperson at a computer store would like to display six models of personal computers, five models of computer monitors, and four models of keyboards. In how m a n y different ways can he a r r a n g e t h e m in a row if items of the same family are to be next to each other? SOLUTION: There are three types of items: personal computers, monitors, and keyboards. Think of the items in each family as tied together into one unit. These families can be arranged in P(3, 3) = 3! ways. Now the items within each family can be rearranged. The six models of personal computers can be arranged in P(6, 6) - 6? ways, the monitors in P(5, 5) - 5? ways, and the keyboards in P(4, 4) = 4? different ways. Thus, by the multiplication principle, the total n u m b e r of possible a r r a n g e m e n t s is 3? 6? 5? 4? = 12,441,600. m
6.2 Permutations
355
P e r m u t a t i o n s of e l e m e n t s a r r a n g e d in a circle w o r k s o m e w h a t differently from the linear s i t u a t i o n s we have i n v e s t i g a t e d up to this point.
Cyclic Permutation In how m a n y different ways can you place five beads on a necklace? T h e a n s w e r is n o t 5! = 120, b u t far less, since it contains a lot of duplicate a r r a n g e m e n t s . For instance, t h e two circular a r r a n g e m e n t s s h o w n in F i g u r e 6.9 are identical. (Look at t h e relative positions of t h e beads p l t h r o u g h P5.) E a c h circular a r r a n g e m e n t is a cyclic permutation.
Figure 6.9
Pl
P5
Before we find the n u m b e r of cyclic p e r m u t a t i o n s of t h e five beads in E x a m p l e 6.14, the following general r e s u l t will be useful to prove. The n u m b e r of cyclic p e r m u t a t i o n s of n (distinct) items is (n - 1)!.
PROOF: To avoid duplicates, let us assign a fixed position to the first i t e m a 1 a r o u n d the circle (see Figure 6.10). Now n - 1 positions are left. So t h e second i t e m a2 can be placed in any one of the n - 1 positions. Now n - 2 positions
Figure 6.10
a1
are left. Therefore, the t h i r d i t e m a3 can be placed in a n y of the n - 2 positions. C o n t i n u e like this until all i t e m s have been placed. Thus, by t h e multiplication principle, the n u m b e r of cyclic p e r m u t a t i o n s is 1. (n - 1) (n - 2 ) . - . 2 . 1 = (n - 1)! m The next example illustrates this result. ~
F i n d the n u m b e r of different ways five zinnias can be p l a n t e d in a circle.
Chapter 6 Combinatorics and Discrete Probability
356
SOLUTION: N u m b e r of ways of planting~ _ f N u m b e r of cyclic p e r m u t a t i o n s ) five zinnias in a circle ] ~of five items = ( 5 - 1 ) ~ - 24
m
Let us r e t u r n to "linear" p e r m u t a t i o n s . We would like to find the recurrence relation satisfied by P ( n , r). We will use a combinatorial a r g u m e n t to find it, leaving the s t r a i g h t f o r w a r d algebraic proof as a r o u t i n e exercise (see Exercise 45). The n u m b e r of r - p e r m u t a t i o n s of n distinct e l e m e n t s satisfies the recurrence relation P ( n , r) - P ( n - 1, r) + r P ( n - 1, r - 1), where 0 < r < n. PROOF: Let X be a set with n elements and x an a r b i t r a r y element in it. The set of r - p e r m u t a t i o n s of X can be partitioned into two subsets: A, the set of p e r m u t a t i o n s n o t containing x, and B, the set of p e r m u t a t i o n s c o n t a i n i n g x. o f e l e m e n t s i n A" Since no p e r m u t a t i o n s in A contain x, every element in A is an r - p e r m u t a t i o n of n - 1 elements. The n u m b e r of such p e r m u t a t i o n s is P ( n - 1, r).
9 To find the number
o f e l e m e n t s i n B: Since every p e r m u t a t i o n in B contains x, n - 1 candidates are left in X for the r e m a i n i n g r - 1 positions. They can be a r r a n g e d in P ( n - 1, r - 1) ways. Now the position ofx in a p e r m u t a t i o n has r choices. Therefore, by the multiplication principle, r P ( n - 1, r - 1) p e r m u t a t i o n s contain x.
9 To find the number
Since A and B are disjoint sets, by the addition principle, P(n,r) -
IAI + IBI
= P ( n - 1, r) + r P ( n - 1, r - 1)
m
Note t h a t it's m u c h easier to c o m p u t e P ( n , r) u s i n g the explicit f o r m u l a in T h e o r e m 6.4 r a t h e r t h a n by u s i n g the recursive. T r y P(5, 3) b o t h ways to see the difference.
Fibonacci Numbers Revisited The following example p r e s e n t s an i n t e r e s t i n g confluence of p e r m u t a t i o n s and Fibonacci n u m b e r s . ~
Let Pn denote the n u m b e r of p e r m u t a t i o n s f of the set Sn - - { 1 , 2 , . . . n } such t h a t li - f ( i ) l < 1 for all 1 < i < n, where n > 1. So Pn counts the n u m b e r of p e r m u t a t i o n s t h a t move each element no more t h a n one position from its n a t u r a l position.
o~.~
L~
L~
~L
cr~
o
~
0
o
~D
~
~'~.
~.~
j~
Jr
II
II
C~
II
II
i--L
cr~
h~
C~
L~
II
I--Io
o
~D
I--Io 0
0
~L pmL
i.--, o
~j
0
= S~
Chapter 6 Combinatorics and Discrete Probability
358
C a s e 1 L e t f ( n ) = n. T h e n t h e r e m a i n i n g n - 1 e l e m e n t s can be u s e d to form P n - 1 p e r m u t a t i o n s such t h a t ]i - f ( i ) ] < 1 for all i. C a s e 2 L e t f ( n ) V= n. T h e n f ( n ) - n - 1 a n d f ( n - 1) - n. T h e r e m a i n i n g n - 2 e l e m e n t s can be e m p l o y e d to form P n - 2 p e r m u t a t i o n s w i t h t h e d e s i r e d property.
T h u s , by t h e a d d i t i o n principle, Pn - Pn-1 -t-Pn-2, w h e r e P l -- 1 a n d P2 = 2. It now follows t h a t Pn = Fn+l, w h e r e n > 1, as conjectured, m Since t h e total n u m b e r of p e r m u t a t i o n s of Sn is n!, it follows from this e x a m p l e t h a t t h e r e are n ! - F n + l p e r m u t a t i o n s f o f S n such t h a t l i - f ( i ) i > 1 for some i n t e g e r i, w h e r e 1 < i < n. T h u s t h e r e are n ! - F n + l p e r m u t a t i o n s of Sn t h a t move at least one e l e m e n t of Sn by two spaces f r o m its n a t u r a l position. In p a r t i c u l a r , t h e r e are 3! - F4 - 3 such p e r m u t a t i o n s of t h e set {1, 2, 3}, as F i g u r e 6.12 depicts. Figure 6.12 1
1
1
1
2
2
2
2
Exercises 6.2
E v a l u a t e each. 1. --5! 4~
2.
10'. 3~7~
3. P ( 5 , 3 )
4. P ( 6 , 6 )
M a r k each s e n t e n c e as t r u e or false, w h e r e n is an a r b i t r a r y n o n n e g a t i v e i n t e g e r a n d 0 < r _< n. 5. 0 ! - 0
6. 1 ! - 1
7. 5 . 4 ! = 5!
8. (m + n)! - m! + n!
9. ( 2 + 3 ) ! = 2 ! + 3 !
10. (mn)! = m! n!
11. ( 2 . 3 ) ! - 2! 3!
12.
13. P ( n , 0) = 0
14. P ( n , 1) = P ( n , n - 1)
15. P(n, r) = P ( n , n - r)
16. n! is divisible by 10 if n > 4.
n(n
-
1 ) ! - n!
17. F i n d t h e n u m b e r of two-digit n u m e r a l s t h a t can be f o r m e d u s i n g t h e digits 2, 3, 5, 6, and, 9 a n d t h a t c o n t a i n no r e p e a t e d digits. 18. F i n d t h e n u m b e r of t h r e e - d i g i t n u m e r a l s t h a t can be f o r m e d u s i n g t h e digits 2, 3, 5, 6, a n d 9, if r e p e t i t i o n s are not allowed.
6.2
Permutations
359
Find the n u m b e r of words t h a t can be formed by scrambling the letters in each word. 19. algorithm
20. word
21. computer
22. logic
The password for a computer system consists of eight distinct alphabetic characters. Find the n u m b e r of passwords possible that: 23. End in the string MATH.
24. Begin with the string CREAM.
25. Contain the word C O M P U T E R as a substring. 26. Contain the letters WORD together, but in any order. 27. Contain the string BLACK or the string WHITE. 28. Contain the strings BLACK and WHITE. 29. Do not contain the string SAMPLE. A botanist would like to plant three coleus, four zinnias, and five dahlias in a row in her front garden. How m a n y ways can she plant t h e m if: 30. They can be planted in any order. 31. Plants of the same family m u s t be next to each other. 32. The family of zinnias must be in between the other two families. Find the n u m b e r of ways seven boys and three girls can be seated in a row if: 33. A boy sits at each end of the row. 34. A girl sits at each end of the row. 35. The girls sit together at one end of the row. 36. Show t h a t P ( n , O) = 1. Using the recursive definition of P ( n , r), evaluate each. 37. P(5, 4)
38. P(6, 0)
39. P(3,2)
40. P(6,3)
Solve each equation.
P(n, 2)
41. P ( n , 1 ) = 6
42.
43. P(n, n - 1) - 5040
44. P(5, r) - 20
- 42
45. Using Theorem 6.4, prove t h a t P ( n , r) - P ( n - 1, r) + r P ( n - 1, r - 1). Verify each. 46. ( n + l ) ! + n ! - ( n + 2 ) n !
47.
(n+l)!-n!-n(n!)
48. Prove by induction that 1.1! + 2 . 2 ! + . . . + n . n ! - ( n + 1 ) ! - 1, n > 1. 49. Write an algorithm to compute P ( n , r), using Theorem 6.4.
360
Chapter6 Combinatorics and Discrete Probability 50. Write a recursive algorithm to compute P(n, r). "51. Show t h a t (n!)! > (2n)!, if n > 3.
At the beginning of the 18th century, the following problem was proposedi1!
i
iii
A secretary had written n different letters and addressed n different envelopes for them. Unfortunately, a wind storm mixed up the letters and the envelopes. After the storm was over, each letter was placed in an envelope. In how m a n y ways can the letters be placed in the envelopes, so t h a t every letter is in a w r o n g envelope? i
i
i
i
ii
i
i i
i
ill
This problem has several variations. One involves n couples a t t e n d i n g a dance. In how m a n y ways can the men dance with women other t h a n their own wives? A second variation involves n guests checking in their coats at the coat room of a fancy r e s t a u r a n t . In how m a n y ways can the a t t e n d a n t r e t u r n their coats, so no person gets the right coat? Before answering these problems, we make the following definition.
Derangement A p e r m u t a t i o n of n distinct items a 1, a 2 , . . . , a , in which no item ai appears in its original position i for any i, 1 _< i _< n, is called a d e r a n g e m e n t . We would like to find the n u m b e r of possible d e r a n g e m e n t s of n items, so we begin with an example. ~
Find the n u m b e r of d e r a n g e m e n t s of the elements 1, 2, 3, and 4. SOLUTION: There are nine d e r a n g e m e n t s of the four elements, namely: 2143
3142
4123
2341
3412
4312
2413
3421
4321
The p e r m u t a t i o n 2314 is not a d e r a n g e m e n t since 4 appears in its n a t u r a l position, m
6.3 Derangements
361
Let Dn denote the n u m b e r of d e r a n g e m e n t s of n items. T h e n Do - 1, since t h e r e is one d e r a n g e m e n t with no elements. (This will be verified later.) T h e r e is no d e r a n g e m e n t with one element, so D1 - 0. T h e r e is exactly one d e r a n g e m e n t of the e l e m e n t s 1 and 2, namely, 21; therefore, D2 -- 1. T h e r e are two d e r a n g e m e n t s of the elements 1, 2, and 3 : 2 3 1 and 312; therefore, D3 - 2. It follows by Example 6.15 t h a t D4 - 9.
To find an explicit formula for Dn, first we derive a r e c u r r e n c e relation satisfied by Dn. Let Dn denote the n u m b e r of d e r a n g e m e n t s of n distinct items. T h e n Dn - ( n -
1)(Dn-1 + Dn-2),
n > 2
(6.1)
PROOF: Let a l, a 2 , . . . , an denote the n items. I t e m an can be placed in a n y one of the positions 1, 2 , . . . , (n - 1), so the location of an has n - 1 choices. Suppose it is placed in position 1 (see Figure 6.13). Let us now consider the following two cases:
F i g u r e 6.13
available an 1 .
.
.
.
.
2
.
.
3
n
positions
C a s e 1 Suppose al is placed in position n (see Figure 6.14). T h e n n - 2 items are left, namely, a 2 , a 3 , . . . ,an-1 and also n - 2 positions, namely, positions 2 t h r o u g h n - 1. The n u m b e r of d e r a n g e m e n t s of n - 2 items, by definition, is Dn-2. Thus, if a l is placed in position n, t h e r e are Dn-2 derangements.
F i g u r e 6.14
available an .
.
.
f
.
.
~
.
.
,
positions
,
a1
Chapter6 Combinatoricsand Discrete Probability
362
C a s e 2 Suppose a l is not placed in position n (see F i g u r e 6.15). T h e n a l m u s t occupy one of t h e positions 2 t h r o u g h n - 1 a n d one of t h e i t e m s a2 t h r o u g h an-1 m u s t occupy position n. Thus, we have n - 1 i t e m s a n d n - 1 positions, yielding Dn-1 d e r a n g e m e n t s . F i g u r e 6.15
available
an
~~2",.-.---~
not a 1
9 S n
positions Thus, with an in position 1, a total of Dn-1 -+-Dn-2 d e r a n g e m e n t s are possible, by the addition principle. Since an m a y occupy a n y one of the n - 1 positions, t h e total n u m b e r of d e r a n g e m e n t s is (n - 1)(Dn-1 + Dn-2). T h u s Dn - ( n 1)(Dn-1 -+-Dn-2), n >_ 2. m U s i n g T h e o r e m 6.8, Dn can be defined recursively as follows.
A Recursive Definition of
Dn Do-
1,
Dn-
(n-
D1 - 0 1)(D~_1 + Dn-2),
n > 2
(6.1)
T h e r e c u r r e n c e relation (6.1) can prove t h a t Do m u s t be 1. U s i n g t h e recurrence relation, D2 = (2 - 1)(D1 + Do). Since D2 = 1 a n d D1 - 0, this yields 1 = 1(0 + Do). F o r this to be true, Do m u s t be 1, as in t h e above definition. T h e next example illustrates this recursive definition. Use t h e recursive definition of Dn to c o m p u t e D3 and D4. SOLUTION: D3 - (3 - 1)(D2 + D1)
D4 - (4 - 1)(D3 + D2)
= 2(1 + 0)
= 3(2 + 1)
=2
=9
Notice t h a t these a n s w e r s agree w i t h those obtained earlier,
m
The above recursive definition can be used to derive an a l t e r n a t e definition of Dn.
6.3 Derangements
363
Notice t h a t the r e c u r r e n c e relation (6.1) can be r e w r i t t e n as Dn - nDn-1 :
( - 1 ) [ D n - 1 - (n - 1)Dn-2]
To simplify this, we s u b s t i t u t e d n - D n - n D n - 1 . T h e n it becomes -dn-1, w h e r e d l - D1 - 1D0 = 0 - 1(1) - - 1 . Solving this r e c u r r e n c e relation (see Exercise 9), dn - ( - 1 ) n,
dn
=
n _> 1
Thus Dn - nDn_ l -
( - 1)n
Dn -
nDn_l
T h a t is, -~ (--1)n,
(6.2)
n >__ 1
Accordingly, D n can be defined recursively as follows: An Alternate Recursive Definition of Dn Do-
1
n>l
D n - n D n - 1 + ( - 1)n,
(6.3)
The next example uses this a l t e r n a t e definition. ~
With the a l t e r n a t e definition (6.3), c o m p u t e D 3 and D4. SOLUTION: D3 = 3D2 + ( - 1 ) 3
D4 = 4D3 + ( - 1 ) 4
= 3(1) + ( - 1 )
= 4(2) + 1
=2
=9
m
The r e c u r r e n c e relation (6.2) can be solved u s i n g the i t e r a t i o n m e t h o d (see Exercise 10). The solution is given in the following t h e o r e m . The n u m b e r of d e r a n g e m e n t s of n distinct e l e m e n t s is
D n = n !
1-
1 1 1 1 ~.. + 2~" - 3~ + 4~ . . . .
( - 1 ) n I-I
+
n!
A'
n > 0
m
-
r An i n t e r e s t i n g observation: It is s h o w n in calculus t h a t e-1 = ~ n=O
(_l)n n!
so t h e expression inside t h e b r a c k e t s in t h e f o r m u l a is t h e s u m of t h e first (n + 1) t e r m s in t h e expansion of e -1. See Exercise 40.
Chapter6 Comblnatoricsand Discrete Probability
364
The next example illustrates this theorem. ~
Using Theorem 6.9, compute D5. SOLUTION:
( D5=57
1 1-~q
1
1
2?
37 F 4?
( =120
1 1 1-1-t
2
1
1) 5?
1
1)
6 ~ 24
120
= 44 II Returning to the 18th-century problem, n letters can be placed in wrong envelopes in Dn ways, where the value of Dn is given by Theorem 6.9. Exercises 6.3 Using the recursive definition (6.1), compute the number of derangements
Dn for each value of n. 1.5
2.6
3.7
4.10
7. D6
8. D7
Using Theorem 6.9, compute each. 5. D2
6. D4
9. Solve the recurrence relation dn - - d n - 1 , n >__2, where d l - - 1 . 10. Solve the recurrence relation (6.2). Prove each.
11. Dn is even if n is an odd integer. 12. Dn is odd if n is an even integer. Let bn denote the number of computations (additions and multiplications) needed to find Dn, using the recursive definition (6.1). Compute the following. 13. b2
14. b3
15. b4
16. b5
17. Define bn recursively. Using the recursive definition of bn, compute each. 18. b4
19. b5
20. b6
21. b8
22. Prove that bn is an even integer for every n >_ 0. Let Cn denote the number of computations (additions and multiplications) needed to find Dn, using the recursive definition (6.3). Compute each. 23. C2
24. c3
25. C4
26. c5
6.4 Combinations
27. Define
365
recursively.
Cn
Using the recursive definition of Cn, compute each. 28. c4
29. c5
30. c6
31. c8
32. Solve the recurrence relation obtained in Exercise 27. 33. Show that
Cn -- O ( n ) .
34. Show that
D n -- 3 . 4
.....
n - 4.5
.....
n -~- . . . q- ( - 1 ) n - 1
n + ( _ 1)n.
35. Let a n denote the n u m b e r of multiplications needed to compute using the formula in Exercise 34. Show t hat a n - O(n2). Letpn
-
Compute the value
Dn.
n! value of n. 36. 5
ofpn
37. 6
Dn,
correct to six decimal places for each 38. 7
39.
10
*40. (For those familiar with the concept of a limit) Using Exercises 36-39, predict lim P n . n~
(-1) n 41. Show t h a t p n
-Pn-1
= ~ .
n! 42. Using Exercise 41, derive the explicit formula for D n . ( H i n t : Solve the recurrence relation in Exercise 41.) The formula in Exercise 41 can be derived in a slightly different way also. Verify each. n-1 43.
Pn--
45.
Pn
n
1 Pn-1 +-Pn-2 n
1 44.
Pn-Pn-1
=
n
(Pn-1-Pn-2)
(-1) n -- Pn-1
(Hint:
Let
=
n! gn = Pn - Pn- 1
in Exercise 44.)
46. Write a nonrecursive algorithm to compute 47. Write a recursive algorithm to compute
Dn.
Dn.
Recall that a permutation is an ordered arrangement of elements in a set. Sometimes, however, the order of elements is irrelevant; only their membership is important. We will investigate such unordered arrangements in this section. For example, a committee such as A - {Costa, Shea,. Weiss, Hall, Chen} is just a set, and the order in which the names are listed is immaterial. Suppose we would like to form a subcommittee of A
Chapter 6 Combinatorics and Discrete Probability
366
c o n s i s t i n g of t h r e e m e m b e r s . T h r e e s u c h s u b c o m m i t t e e s are: { C o s t a , S h e a , W e i s s } , {Costa, S h e a , Hall}, a n d { C o s t a , S h e a , C h e n } (see E x a m p l e 6.20). E a c h is a c o m b i n a t i o n of t h e five e l e m e n t s t a k e n t h r e e a t a t i m e , o r a
3-combination. More generally, we m a k e the following definition.
Combination A n r - c o m b i n a t i o n of a s e t of n e l e m e n t s , w h e r e 0 < r < n, is a s u b s e t containing r elements. T h e n u m b e r o f r - c o m b i n a t i o n s o f a s e t w i t h n e l e m e n t s is d e n o t e d b y
C(n,r) o r ( n ) . * B o t h n o t a t i o n s f r e q u e n t l y a p p e a r in c o m b i n a t o r i c s . T h e n u m b e r of c o m b i n a t i o n s is also c a l l e d t h e b i n o m i a l c o e f f i c i e n t * * for r e a s o n s t h a t will b e c l e a r f r o m S e c t i o n 6.6. B e f o r e d e r i v i n g a f o r m u l a for C(n, r), let u s s t u d y t h e f o l l o w i n g e x a m p l e . F i n d t h e n u m b e r of r - c o m b i n a t i o n s of t h e s e t {a, b, c}, w h e n r or3.
0, 1, 2,
SOLUTION: 9 E x a c t l y o n e s u b s e t c o n t a i n s z e r o e l e m e n t s : t h e n u l l set. N u m b e r of 0 - c o m b i n a t i o n s - C(3, 0) - 1. 9 T h r e e s u b s e t s c o n t a i n o n e e l e m e n t each" { a}, {b }, a n d { c }. N u m b e r of 1 - c o m b i n a t i o n s - C(3, 1) - 3. 9 T h r e e s u b s e t s c o n t a i n t w o e l e m e n t s each" {a, b }, { b, c }, a n d { c, a }. N u m b e r of 2 - c o m b i n a t i o n s - C(3, 2) - 3. 9 F i n a l l y , e x a c t l y o n e s u b s e t c o n t a i n s t h r e e e l e m e n t s : t h e s e t itself. N u m b e r of 3 - c o m b i n a t i o n s - C(3, 3) - 1.
m
W e n o w d e r i v e a f o r m u l a for C(n, r). T h e n u m b e r of r - c o m b i n a t i o n s of a s e t of n e l e m e n t s is g i v e n b y C(n, r) n! 0
6.4
Combinations
367
PROOF:
By definition, t h e r e are C ( n , r ) r-combinations of a set of n elements. Each combination contains r elements and contributes P ( r , r ) = r? r-permutations, so the total n u m b e r of r - p e r m u t a t i o n s is r ? C ( n , r ) . But, n? by definition, there are P ( n , r) - (n - r)? r-permutations. Therefore,
r!C(n,r) -
n? (n - r)!
T h a t is, C(n,r) -
In particular, C ( n , 0) -
n?
n? r?(n-r)?
m
n?
- 1. T h a t is, the n u m b e r of 0!(n - 0)! 0!n! 0-combinations of a set with n elements is one (see Example 6.20). Also, n? n? C(n,n) = = = 1. T h a t is, the n u m b e r of n-combinations n?(n-n)! n?0? of a set with n elements is also one (see Example 6.20). A w o r d o f c a u t i o n : To compute C ( n , r ) when n is fairly large, do n o t compute n? and r?(n - r)?, and t h e n divide. The value of n? may be very
large for your calculator to hold without a p p r o x i m a t i n g it, so you will find the following fact useful" C(n,r) -
n(n-
1)... (n-r
+ 1)
Compute the n u m b e r of subcommittees of three m e m b e r s each t h a t can be formed from a committee of 25 members. SOLUTION: N u m b e r of subcommittees~ _ / n u m b e r of 3-combinations~ of three people each ] ~of a set of 25 people ] = C(25, 3) 25.24.23 3? = 23OO
m
The next example is an interesting close relative of Example 5.5 in Chapter 5.
368
Chapter 6 Combinatorics and Discrete Probability
( T h e P i z z a p r o b l e m ) Let fn denote the m a x i m u m n u m b e r of places into which a pizza can be divided with n cuts. Find a formula for fn. SOLUTION: Clearly, the m a x i m u m n u m b e r of regions can be realized w h e n every two chords, t h a t is, cuts, intersect and no three chords are concurrent. It follows by Example 5.5 in Chapter 5 t h a t fn can be defined recursively as f0=l fn--fn-l+n,
n>l
Solving this recurrence relation (see Exercise 3 in Section 5.2) yields
fn - 1 +
n ( n + 1) 2
(Verify this.)
This formula can be rewritten as n(n - 1)
(Verify this.) 2 = C(n, O) + C(n, 1) + C(n,2), n>__0
fn - 1 + n +
(You may prove this using induction and Pascal's identity in T h e o r e m 6.12. We shall pursue this example in Section 6.6.) m Example 6.23 Theorem 6.10.
employs the
multiplication
principle,
as
well
as
How many committees of three blondes and four b r u n e t t e s can be formed from a group of five blondes and six brunettes? SOLUTION: Three blondes can be selected from five blondes in C(5, 3) = 10 different ways and four brunettes from six b r u n e t t e s in C(6, 4) = 15 different ways. Therefore, by the multiplication principle, the n u m b e r of committees with three blondes and five b r u n e t t e s is 1 0 . 1 5 - 150. m The following example is an interesting application of the pigeonhole principle. Let A be a 10-element subset of the set { 1 , 2 , . . . , 15}. Let As be a subset of A containing three elements, where the subscript s denotes the sum of the elements in As. For example, the subset {2, 4, 5} is denoted by All. Determine if each subset of A can be identified by a unique n a m e As. In other words, does every sum i + j + k have a unique value s, where 1 _< i < j < k < 15?
6.4
Combinations
369
SOLUTION: We let t h e pigeonhole principle do the job for us. T h e least value of s is 1 + 2 + 3 - 6 a n d t h e largest value of s is 13 + 14 + 15 - 42. T h u s 6 < s < 42; t h e r e are at m o s t 37 possible values of s. T h e r e are C(10, 3) - 120 t h r e e - e l e m e n t subsets (pigeons) of A a n d only 37 possible s u m s (pigeonholes), so, by t h e pigeonhole principle, at least two subsets m u s t yield t h e s a m e sum; t h a t is, not every t h r e e - e l e m e n t s u b s e t of A can have a u n i q u e n a m e . For example, let A - { 1 , 2 , . . . , 10}. Since subsets, {1,2, 5} a n d {1, 3, 4}, yield the s a m e sum, 8, t h e y have the s a m e n a m e , As. m The next t h e o r e m will in m a n y cases reduce y o u r workload w i t h combinations, as seen in E x a m p l e 6.25. C(n, r) = C(n, n - r), w h e r e 0 _< r < n. PROOF:
C(n,n-r)
n? -
(n-r)?[n-(n-r)]?
n? (n - r)?r?
=C(n,r)
m
According to T h e o r e m 6.11, t h e n u m b e r of r - c o m b i n a t i o n s of a set w i t h n e l e m e n t s equals t h a t of t h e (n - r ) - c o m b i n a t i o n s of t h e set; for example, C(5, 2) = C(5, 3) = 10. This r e s u l t can be used to cut down the a m o u n t of w o r k needed to c o m p u t e t h e n u m b e r of c o m b i n a t i o n s in several applications. The next example t a k e s a d v a n t a g e not only of this t h e o r e m , b u t also of the addition principle. Find the n u m b e r of groups t h a t can be formed from a group of seven m a r b l e s if each group m u s t contain at least t h r e e marbles. SOLUTION: Since each group m u s t contain at least t h r e e marbles, it can contain three, four, five, six, or seven marbles. N u m b e r of groups c o n t a i n i n g t h r e e m a r b l e s = C(7, 3)
= 35
N u m b e r of groups c o n t a i n i n g four m a r b l e s = C(7, 4) = C(7, 3)
-
N u m b e r of groups c o n t a i n i n g five m a r b l e s = C(7, 5)
=21
N u m b e r of groups c o n t a i n i n g six m a r b l e s = C(7, 6) = C(7, 1)
-7
N u m b e r of groups c o n t a i n i n g seven m a r b l e s = C(7, 7)
=1
Total n u m b e r of groups = 35 + 35 + 21 + 7 + I
=99m
35
370
Chapter 6 Combinatorics and Discrete Probability
This problem can be done in a clever, shorter way as follows: n u m b e r of groups containing~ _ f n u m b e r of groups c o n t a i n i n g ) at most two marbles ] ~0, 1, or 2 marbles = C(7, 0) + C(7, 1) + C(7, 2) =1+7+21=29 So n u m b e r of / n u m b e r of groups ~ /total number~ ]groups ] | c o n t a i n i n g at l e a s t ] - / o f possible j - ] c o n t a i n i n g ] \ t h r e e marbles ] \groups ] Oat most t w o | \marbles ] = 27 - 29 - 99 We can now proceed to find a recurrence relation satisfied by C ( n , r). As before, we will give a combinatorial a r g u m e n t to establish the formula and leave the algebraic proof as a standard exercise (see Exercise 39). C(n,r)-
C(n-
1, r -
1)+ C(n-
1, r), where 0 < r < n.
(6.4)
PROOF:
Let X be a set of n elements. There are C ( n , r) r-element subsets of X. Let x be any element of X. Let Y = X - {x}; it contains n - 1 elements. The r-element subsets of X can be partitioned into two disjoint families: family A of r-element subsets t h a t contain x, and family B of r-element subsets t h a t do not contain x. I A I 9 Each subset in A contains x and hence contains r - 1 elements excluding x. Therefore, they are the (r - 1)-element subsets of Y containing x. There are C ( n - 1, r - 1) such subsets.
9 To find
IBm. The r-element subsets not containing x are the r-element subsets of Y. There are C ( n - 1, r) such subsets.
9 To find
Thus, by the addition principle, the total n u m b e r of r-element subsets equals iAI + iBi - C ( n - 1, r - 1) + C ( n - 1, r). T h a t is, C ( n , r) - C ( n - 1, r - 1) + C ( n - 1, r). m The recurrence relation (6.4) is called P a s c a l ' s i d e n t i t y , after Blaise Pascal, an o u t s t a n d i n g French m a t h e m a t i c i a n and physicist. The next example uses recursion to derive a formula for the m a x i m u m n u m b e r of nonoverlapping regions formed by joining n distinct points on a circle, a problem presented in Example 4.19. (The C i r c l e P r o b l e m m o p t i o n a l ) Let g n denote the m a x i m u m n u m b e r of nonoverlapping regions formed inside a circle by joining n distinct points on it. Derive a formula for g n .
6.4
371
Combinations
B l a i s e P a s c a l (1623-1662) was born in Clermont-Ferrand, France. Although he showed phenomenal mathematical ability at an early age, he was encouraged by his father to pursue subjects such as ancient languages. His father even refused to teach him any sciences until he found that Pascal by himself at age 12 had discovered many theorems in elementary geometry. "-i" ~' .... H.: ": '"'"'~?:,'~ At 14 he attended the weekly meetings of a group of French mathematicians that later became the French Academy. At 16 he developed important results in conic sections and wrote a book on it. Observing that his father spent long hours auditing government accounts and feeling that intelligent people should not waste their time doing mundane things, Pascal at age 19 invented the first mechanical calculating :~..~..,-',e?: '...~' ," -,:'~ machine. In 1650, suffering from failing health, Pascal left his mathematical and scientific work to pursue religion. Three years later, he returned briefly to mathematics. During this period, working with Fermat, he laid the foundation for probability theory. Most of his life was spent in physical pain. The programming language Pascal is named after him.
SOLUTION* We derive an explicit f o r m u l a for gn, u s i n g recursion. Let P1, P 2 , . . . , Pn be n points on a circle such t h a t no t h r e e chords PrPs are c o n c u r r e n t , w h e r e 1 _< r, s _< n. Choose a new point Q on arc P ~ - I P . . Join Q to each of the points P1 t h r o u g h Pn. The chord QPn i n t r o d u c e s an e x t r a region (see Figure 6.16).
Figure 6.16
P5 = Pn-2
= Pn-1
Q P3
/I
I
I
P7-
Pn
PI
Now consider the chord QPi, 1 < i < n - 1. It intersects each of the chords obtained by j o i n i n g one of the i points P n , P I , . - . , P i - 1 to one of the n - 1 - i p o i n t s P i + I , P i + 2 , . 9 9 P n - 1 . Each intersection corresponds to a new region. *Based on A. V. Boyd and M. J. Glencorss, "Dissecting a Circle by Chords through n Points,"
Mathematics Teacher, Vol. 84 (April 1991), pp. 318-319.
372
Chapter 6 Combinatorics and Discrete Probability
Consequently, t h e n u m b e r of regions formed by t h e chord QPi is one m o r e t h a n the total n u m b e r of points of intersection, n a m e l y , 1 + i ( n - 1 - i), 1
m
n
l
1 + y-~[1 + i ( n -
1 - i)]
1
~-~[i(n-
i=1
1 - i)]
i=1
This yields t h e r e c u r r e n c e r e l a t i o n
g n + l - gn --
()) 1
[i(n - 1 - i)]
+ i=1
The R H S of this e q u a t i o n can be simplified as follows" n-1
n-1
=n+Ei(n-1)-Ei2 i=1
i=1 n-1
= n + (n - 1 )
n-1
~-~ i - ~-~ i 2 i=1
(n - 1)n
=n+(n-1). n(n- - n -t-
=n-4-
i=1
(n - 1)nl 2(n - 1) + 11
2 1) 2
n(n-
2 n ( n - 1)(n - 2)
1 ) ( 2 n - 1) 6
6
= C ( n , 1) + C ( n , 3)
(Verify this.)
Solving this r e c u r r e n c e relation by i t e r a t i o n (see Exercise 40) yields gn = C ( n , O) + C ( n , 2) + C ( n , 4), n > 0. In particular, g5 - C(5, 0) + C(5,2) + C(5, 4) - 1 + 10 + 5 - 16 a n d g6 - C(6, 0) + C(6, 2) + C(6, 4) - 1 + 15 + 15 - 31, as expected. We shall p u r s u e this example a bit f u r t h e r in Section 6.6. m
Exercises 6.4 A c o m m i t t e e consists of nine m e m b e r s . F i n d t h e n u m b e r of s u b c o m m i t t e e s t h a t can be formed of each size. 1. Two
2. Five
3. Six
4. Seven
6.4
Combinations
373
5. Find the n u m b e r of ways a committee of three s t u d e n t s and five professors can be formed from a group of seven s t u d e n t s and 11 professors. 6. Find the n u m b e r of ways a committee of four students, four professors, and t h r e e a d m i n i s t r a t o r s can be formed from a group of six students, eight professors, and five administrators. 7. Find the n u m b e r of lines t h a t can be d r a w n using 10 distinct points, no three being collinear. 8. Find the n u m b e r of triangles t h a t can be drawn using 10 points, no three being collinear. 9. Solve the recurrence relation in Example 6.22. 10.
Prove the formula in Example 6.22, using induction.
Let A be a 10-element subset of the set {1, 2 , . . . , 20}. 11. Determine if A has two five-element subsets t h a t yield the same sum of the elements. 12. Determine if A has two eight-element subsets t h a t yield the same sum of the elements. ( T w e l v e D a y s o f C h r i s t m a s ) Suppose t h a t on the first day of C h r i s t m a s you sent your love 1 gift, 1 + 2 gifts on the second day, 1 + 2 + 3 gifts on the third day, and so on. 13. Find the n u m b e r of gifts sent on the 12th day. 14. Find the total n u m b e r of gifts sent in 12 days. 15. Show t h a t the n u m b e r of gifts sent on the n t h day is C(n + 1, 2), where 1
m
1{}. Show t h a t the total n u m b e r of gifts sent by the n t h day is C(n + 2, 3), where 1 < n < 12. Solve each equation, where n >_ 0. 17. C(n, 0) - 1
18. C(n, 1) - 10
19.
20.
C ( n , 2) -
28
C ( n , n - 2) -
55
21. Find the n u m b e r of ways of dividing a set of size n into two disjoint subsets of sizes r and n - r. A collection plate contains four nickels, five dimes, and seven quarters. In how m a n y ways can you: 22. Choose t h r e e coins?
23. F o r m a sum of 40 cents?
374
Chapter6 Combinatorics and Discrete Probability Find the n u m b e r of ways each sum can be formed from a collection of 10 nickels and 5 quarters. 24. 25 cents
25. 30 cents
J a n e has two nickels, four dimes, three quarters, and two half-dollars in her handbag. Find the n u m b e r of ways she can tip the waiter if she would like to give him" 26. Exactly three coins. 27. At least three coins, but not more t h a n five coins. 28. Not more t h a n three coins.
29. Exactly 50 cents.
30. Not more t h a n 50 cents, using only one type of coin. Find the n u m b e r of ways a committee of five can be formed from a group of five boys and four girls, if each committee m u s t contain: 31. Exactly two boys. 32. At least two boys. 33. At least two girls. 34. At least one boy and at least one girl. 35. At most one boy. 36. At most one girl.
Veriy that (n) - - n(n r
,wheren>_r>__ 1.
38. Prove t h a t C(2n, n) is an even integer for every n >__ 1. (Hint: Use Exercise 37.) 39. Prove Pascal's identity algebraically. 40. Solve the recurrence relation in Example 6.26. 41. Prove the explicit formula for g~ in Example 6.26, using induction. 42. Using the explicit formula in Example 4 C ( n - 1, k). k=0
6.26,
verify t h a t gn =
Let A(n,r) denote the n u m b e r of additions needed to compute C(n,r) by its recursive definition. Compute each. 43. A(3, 2)
44. A(5, 3)
45. Define A(n, r) recursively. 46. Prove t h a t A(n, r) = C(n, r) - 1, using induction.
375
6.5 Permutations and Combinations with Repetitions
Recall t h a t the n t h Catalan n u m b e r 47. Show t h a t
Cn is defined by Cn
(2n)! -
n!(n + l)!'
n>_O
Cn - C(2n, n) - C(2n, n - 1).
Prove each. 1 48. Cn = ~ C ( 2 n , n+l
n),
n > 0
49.
Cn =
2 ( 2 n - 1) Cn-1, n+l
n
> 1
50. Define Cn recursively. 51. Show t h a t Cn - 3Cn-1 +
(
6 Cn-1 - ~ C n n+- 1 ) , n
> 1 n-1
The n t h Catalan n u m b e r satisfies the recurrence relation Cn - ~ CiCn_l_i,
i=O
n > 2. (Note: This relation can be used to compute Cn using n multiplica-
tions, n - 1 additions, and no divisions.) Use it to compute each Catalan number.
52. C4
53. C5
54. Write an algorithm to compute C(n, r) using Theorem 6.10. Write a recursive algorithm to compute each. 55. C ( n , r )
Stirling numbers formula
56.
Cn
o f the s e c o n d k i n d S ( n , r ) are also given by the r-1
S ( n , r) -
1E(--1)k t;) (r-k)n -~. k=O
Compute each Stirling number. 57. S(3, 2)
58. S(4, 2)
The n u m b e r of surjections t h a t can be defined from a finite set A to a finite set B is given by r!S(n, r), where ]AI - n and IB] = r. Compute the n u m b e r of possible surjections from A to B if: 59. i A i = 3 , i B l = 2 .
60. I A I = 4 , 1 B i = 2 .
61. I A i = n , I B i = 2 .
62. I A l = n , i B l = 3 .
The p e r m u t a t i o n s and combinations examined so far involved u n r e p e a t e d items. If the items repeat, then computations become a bit more complicated. This section explores such p e r m u t a t i o n s and combinations.
376
Chapter 6 Combinatorics and Discrete Probability
Permutations with Repetitions Consider the word R E F E R E N C E . If we swap the second E with the fourth E in the word, we do not get a new word. How can we compute the n u m b e r of p e r m u t a t i o n s in such cases? Find the n u m b e r of different a r r a n g e m e n t s of the letters of the word REFERENCE. SOLUTION: The word R E F E R E N C E contains nine letters. If they were all distinct, the answer would be 9! - 362,880. But, since duplicate letters exist, the a n s w e r is indeed much less. Let N denote the n u m b e r of different words. We shall find the value of N in an indirect way. The word R E F E R E N C E contains two R's and four E's; the r e m a i n i n g letters are distinct. T h i n k of the two R's as two distinct letters, R1 and R2, and the four E's as four distinct letters, E1 t h r o u g h E4. The letters R1 and R2 can be a r r a n g e d in 2! ways and the four E's in 4! ways. Therefore, if all the letters were distinct, there would be a total of 2! 4! N different words. Thus 2! 4! N - 9!; so 9~ 2~4~
(6.5)
= 7560
ll
N -
A n interesting observation" The n u m b e r 9 in the n u m e r a t o r of Equation (6.5) indicates the n u m b e r of letters in the word. Each n u m b e r in the d e n o m i n a t o r indicates the frequency of each repeating letter. This R E F E R E N C E problem exemplifies the next theorem. The n u m b e r of p e r m u t a t i o n s of n items of which n 1 items are of one type, n2 are of a second type, . . . , and nk are of a kth type, is n ! / ( n l ! n 2 ! . . , nk!). PROOF: Let N denote the total n u m b e r of permutations. As in Example 6.27, we shall find the value of N indirectly. Let A1,... ,An1 denote the items of the first type; B 1 , . . . ,Bn~ items of the second type; ...; and Z1,.. 9,Zn~ items of the kth type. If all items were distinct, the total would be n! permutations. If items A 1 , . . . , An1 are distinct, they can be a r r a n g e d in n 1! ways. Items B I , . . . ,Bn2, if distinct, can be a r r a n g e d in n2! ways, and so on. Items Z 1 , . . . ,Znk, if distinct, can be a r r a n g e d in nk! ways. Thus, by the multiplication principle, if all items are distinct, there would be ( n l ! n 2 ! . . . nk!)N permutations. So n! = ( n l ! n 2 ! . . . nk!)N. Thus n! N= nl ! n2! . . . nk! ll
6.5 Permutations and Combinations with Repetitions
377
This theorem works well in solving the next two problems. Find the number of bytes containing exactly three 0's. SOLUTION: number of bytes c o n t a i n i n g ) _ f n u m b e r of bytes containing~ exactly three O's ~three O's and five l's ] / n u m b e r of permutations o _ | e i g h t symbols of which [ t h r e e are alike (O's) and \five are alike (l's) 8~ = 3! 5!'
by Theorem 6.13
= 56
I
The next example pertains to the layout of a planned city. ( L a t t i c e - W a l k i n g ) Figure 6.17 shows a portion of a city map. Figure 6.17
E
5 blocks
N
D F
A r'~ 6 blocks Suppose you would like to travel from point A to point B, covering exactly 8 blocks. You can travel in the easterly or northerly direction only. Two possible routes are shown in the figure. How many such routes are possible? SOLUTION: The heavy route in the figure can be represented by the string E E N N E N E E ; it means, travel 2 blocks east, 2 blocks north, I block east, I block north, and 2 blocks east. The second route shown, NEEEENEN, can be interpreted similarly. Every route from A to B can be represented by an eight-letter word, of which five letters are alike (E's) and three are alike (N's). Therefore, / t o t a l number of 8-letter words~ total number of paths from A to B - [ o f which five letters are alike | \ a n d the other three are alike ]
Chapter 6 Combinatorics and Discrete Probability
378
8~ 5~3~' = 56
II
Abracadabra
A related problem was proposed in 1966 by G. Polya of S t a n f o r d University: Find the n u m b e r of ways the word ABRACADABRA can be read using the rhombic array in Figure 6.18, beginning at the apex A a n d ending at the b o t t o m m o s t A. It follows from Example 6.29 t h a t this problem can be translated into a city-walking problem, walking around the blocks in the city in Figure 6.19. One-half of the streets r u n from n o r t h e a s t (NE) to southwest (SW) and the rest from n o r t h w e s t to southeast. Each p a t h from S to E consists of 10 blocks: 5 blocks in the N W - S E direction and the rest Figure 6.18
A B R
R
A C A
A C
R
A C
A D
B
A D
C A
D
A
A B
A A D
A B
R
B R
S
/ / \ ,<
// /
•
X
\
/
\
\
/ \ / \
\ / \
>' \
/ \
\ // \
/
E
A D
A
A Figure 6.19
C
6.5 Permutations and Combinations with Repetitions
379
in the N E - S W direction. So the total n u m b e r of paths from S to E equals the n u m b e r of combinations of 10 items, of which five are alike and the 10! other five are alike, namely, 5! 5! - 252. T h u s there are 252 different ways we can read the magic word in Figure 6.18. (We shall revisit this problem in Section 6.6.)
Combinations with Repetitions J u s t as p e r m u t a t i o n s can deal with repeated elements, so can combinations (called s e l e c t i o n s ) . For example, suppose five friends go to a local restaur a n t for beverages: iced tea, hot tea, or coffee. The waitress puts all five requests on the same order. How m a n y different orders for the table are possible? The order in which the beverages are selected is i m m a t e r i a l and the same beverage can be selected by more t h a n one person. Also, not every beverage need be selected. Before r e t u r n i n g to this problem in Example 6.32, let us study a couple of simple ones. ~
Find the n u m b e r of 3-combinations of the set S - {a, b}. SOLUTION: S contains n = 2 elements. Since each combination m u s t contain three elements, r - 3 . Since r > n, the elements of each combination m u s t be repeated. Consequently, a combination may contain t h r e e a's, two a's and one b, one a and two b's, or three b's. Using the set notation, the 3-combinations are {a,a,a}, {a,a,b}, {a,b,b} and {b,b,b}. So there are four 3-combinations of a set of two elements, m Find the n u m b e r of 3-combinations of the set {a, b, c}, where the elements may be repeated. SOLUTION: Again, using the set notation, the various 3-combinations are:
{a,a,a}
{a,a,b}
{b,b,b}
{b,b,c} {b,c,c}
{a,a,c}
{a,b,b}
{a,b,c}
{a,c,c}
{c,c,c} Thus the set
{a,b,c} has 10 3-combinations.
m
Before developing a formula for the n u m b e r of combinations with repetitions, let us r e t u r n to the beverage problem posed earlier. Five friends would like to order beverages with their d i n n e r at a local r e s t a u r a n t t h a t serves iced tea, hot tea, or coffee. Find the n u m b e r of beverage orders possible. SOLUTION: A convenient notation will prevent confusion.
380
Chapter 6
Combinatorics and Discrete Probability
Denote each type of beverage by a dash and separate t h e m u s i n g two slashes, as shown below: /
/
iced tea
hot tea
coffee
M a r k each person's selection by an X in the appropriate area. For instance, the distribution XX / X / XX indicates t h a t two people selected iced tea, one selected hot tea, and two selected coffee; t h e distribution XXX / / XX means, three people selected iced tea, none ordered hot tea, and two selected coffee. T h u s the n u m b e r of possible beverage orders equals the n u m b e r of p e r m u t a t i o n s of seven items (five X's and t w o / ' s ) of which five are alike (X's) and the other two are alike (/'s): 7? =21 5?2?
m
This solution strategy produces the following theorem. The n u m b e r of r-combinations with repetitions from a set of n e l e m e n t s is C(n + r -
1, r).
PROOF"
Each r-combination with repeated elements from a set of n e l e m e n t s can be considered a string of r X's and (n - 1) slashes, as in Example 6.32. Each string contains r + n - 1 - n + r - 1 symbols, of which r are alike (X's) and n - 1 are alike (slashes). Therefore, by T h e o r e m 6.13, the n u m b e r of such strings, t h a t is, r-combinations, equals (n + r - 1)?
r?(n-1)?
=C(n+r-l,r)
m
This theorem helps solve the next example. There are five types of soft drinks at a fast food r e s t a u r a n t : Coke Classic, Diet Coke, root beer, Pepsi, and Sprite. Find the n u m b e r of beverage orders 11 guests can make. SOLUTION: Since there are five types of soft drinks, n = 5. Each beverage order is a selection containing 11 items, t h a t is, an l 1-combination with r e p e a t i n g elements. Therefore, by T h e o r e m 6.14, the n u m b e r of possible beverage orders equals C(n + r -
1, r) - C(5 + 11 - 1, 11) = C(15, 11) =
157 = 1365 11747
m
6.5 Permutations and Combinations with Repetitions
381
This problem has a nice i n t e r p r e t a t i o n . Let x i denote the n u m b e r of guests ordering soft d r i n k i, w h e r e 1 < i < 5. T h e n xl +x2 +x3 +x4 +x5 = 11, where x i > O. T h e n u m b e r of n o n n e g a t i v e integer solutions of this e q u a t i o n is the same as the n u m b e r of possible beverage orders, so the n u m b e r of integer solutions of this e q u a t i o n is C(5 + 11 - 1, 11) - C(15, 11) - 1365. The next t h e o r e m generalizes this result, simply r e s t a t i n g T h e o r e m 6.14. Let X l , X 2 , . . . ,Xn be n n o n n e g a t i v e integer variables and integer. The e q u a t i o n X l + x 2 + . . . + X n - r has C ( n + solutions,
r a r-
nonnegative 1, r) integer m
F i n d the n u m b e r of solutions of the equation Xl -~-x2 + x3 - 5
(6.6)
where Xl,X2, and x3 are n o n n e g a t i v e integer variables. SOLUTION: H e r e r - 5 and n - 3. By T h e o r e m 6.15, the n u m b e r of solutions is C(n
+ r -
1, r) - C(3 + 5 - 1, 5) = C(7, 5) - 21
(Can you list all the solutions? See E x a m p l e 6.35 also.)
m
T a k i n g this example a step further, suppose you would like to find all solutions of E q u a t i o n (6.6), w h e r e Xl, x2, x3 > 1. M a k e the s u b s t i t u t i o n Y i - x i - 1, 1 _< i _< 3. Clearly, Y i >_ O. E q u a t i o n (6.6) becomes Yl +Y2 +Y3 - 2 By T h e o r e m 6.15, this equation has C ( n + r - 1, r) = C(3 + 2 - 1, 2) C(4, 2) - 6 solutions: (0, 1, 1), (1, 0, 1), (1, 1, 0), (2, 0, 0), (0,2, 0), and (0, 0,2). Consequently, E q u a t i o n (6.6) with x i > 1 has six solutions" (1, 2, 2), (2, 1,2), (2,2, 1), (3, 1, 1), (1,3, 1), and (1, 1,3).
F o r Loops Revisited The following two examples provide applications of both these formulas to loops.
for
Find the n u m b e r of times the a s s i g n m e n t s t a t e m e n t x ~ x + 1 is executed by the following nested f o r loops: For i = 1 t o n do For j
= 1 t o i do
x ~--x+
1
Chapter6 Combinatoricsand Discrete Probability
382
SOLUTION: Notice t h a t t h e a s s i g n m e n t s t a t e m e n t is e x e c u t e d for each p a i r (j, i), w h e r e 1 < j _< i < n. F o r example, t h e s t a t e m e n t is e x e c u t e d w h e n j - 3, i - 5; j - 3, i - 3; b u t not w h e n j - 3 a n d i - 2. T h u s t h e n u m b e r of e x e c u t i o n s equals t h e n u m b e r of pairs (j, i) w i t h r e p e t i t i o n s allowed; in o t h e r w o r d s , it equals t h e n u m b e r of 2-selections of t h e set {1, 2, 3 , . . . , n}. T h e n u m b e r of such 2-selections is C(n + 2 - 1,2), so t h e a s s i g n m e n t is e x e c u t e d in C(n + 2 - 1, 2) - C(n + 1, 2) - tn different ways. m We now p u r s u e this e x a m p l e w i t h one m o r e level added to t h e for loops. F i n d t h e n u m b e r of t i m e s t h e a s s i g n m e n t s t a t e m e n t x ~ x + 1 is e x e c u t e d by t h e following n e s t e d for loops" For
i
= 1 to
For j For
n do
= 1 to
i
do
k = I to
j
do
x ~ - x + l
SOLUTION: T h e a s s i g n m e n t s t a t e m e n t is e x e c u t e d for each t r i p l e t (k, j , i), w h e r e 1 _~ k _<j _~ i _~ n and w h e r e r e p e t i t i o n s are allowed. T h e n u m b e r of s u c h 3-selections of the set {1, 2, 3 , . . . , n} is C(n + 3 - 1, 3), so t h e a s s i g n m e n t is e x e c u t e d C(n + 3 - 1, 3) - C(n + 2, 3) - T,, different ways. m
A Generalization More generally, consider t h e following n e s t e d s e q u e n c e of for loops: For
ii
For
= 1 to i2 = i
For
n do to
i3 = i
For
il to
i r -
do i2
I to
do
i r
-
i
do
x ~ x + l
It follows from the c o m b i n a t o r i a l a r g u m e n t s in E x a m p l e s 6.35 a n d 6.36 t h a t t h e n u m b e r of t i m e s t h e a s s i g n m e n t s t a t e m e n t x ~ x + 1 is e x e c u t e d is given by t h e n u m b e r of r-selections of t h e set {1, 2, 3 , . . . , n } w i t h r e p e t i t i o n s allowed, t h a t is, C(n + r - 1, r).
Triangular and Tetrahedral Numbers Revisited R e t u r n i n g to t r i a n g u l a r n u m b e r s t,z a n d t e t r a h e d r a l n u m b e r s Tn, we find t h a t t h e i r f o r m u l a s fit into t h e one in T h e o r e m 6.14:
t,z - n(n + 1)/2
= C(n + 1,2) - C(n + 2 - 1,2)
Tn - n(n + 1)(n + 2)/6 - C(n + 2, 3) - C(n + 3 - 1, 3)
6.5 Permutations and Combinations with Repetitions
383
Generating F u n c t i o n s and Combinations
G e n e r a t i n g functions, i n t r o d u c e d in C h a p t e r 5, are a valuable tool in solving c o m b i n a t o r i a l p r o b l e m s involving r e p e a t e d elements. T h e n e x t t h r e e examples i l l u s t r a t e this m e t h o d . U s i n g g e n e r a t i n g functions, find t h e n u m b e r of beverage orders possible in E x a m p l e 6.32. SOLUTION: Suppose the t h r e e beverages are ordered by i, j , a n d k patrons. T h e n every beverage order can be considered a 3-tuple (i, j, k), w h e r e i, j , k > 0 a n d i + j § k - 5. Let x i denote t h a t iced t e a was ordered by i c u s t o m e r s . Since 0, 1, 2, 3, 4, or 5 people can order iced tea, we use t h e polynomial 1 § x § x 2 § x 3 § x 4 § x 5 to r e p r e s e n t t h e various possibilities. (Notice t h e exponents.) Both hot tea a n d coffee can also be ordered by 0, 1, 2, 3, 4, or 5 people; correspondingly, t h e polynomials 1 + y § y2 § y3 § y4 § y5 a n d 1 § z § z 2 § z 3 § z 4 § z 5 r e p r e s e n t these possibilities. C o n s e q u e n t l y , we w a n t p r o d u c t s of the form xiyJz k, w h e r e i § j § k - 5 in t h e p r o d u c t
t x/timothy!
i=o = k=O For convenience, let x - y - z. T h u s the total n u m b e r of beverage orders
possible is the coefficient o f x 5 in the product ( ~ xi) a. i=0 You m a y verify t h a t it is 21. Table 6.2 shows the various possible beverage orders.
T a b l e 6.2
Iced tea
Hot tea
Coffee
Iced tea
Hot tea
Coffee
0 0 0 0 0 0 1 1 1 1 1
0 1 2 3 4 5 0 1 2 3 4
5 4 3 2 1 0 4 3 2 1 0
2 2 2 2 3 3 3 4 4 5
0 1 2 3 0 1 2 0 1 0
3 2 1 0 2 1 0 1 0 0
The next p r o b l e m r e s e m b l e s E x a m p l e 6.34, w i t h additional c o n s t r a i n t s on the variables. F i n d the n u m b e r of solutions of t h e e q u a t i o n xl + xl > 7, 1 < x2, x3 < 3, and 0 < x4 < 3.
X2 +
X3 +
X4 - -
11, w h e r e
384
Chapter 6 Combinatorics and Discrete Probability
SOLUTION: Again, g e n e r a t i n g functions can do t h e job for us. Since xl > 7 , x l can be 7, 8, 9, 10, or 11, r e p r e s e n t e d by the polynomial x 7 + x 8 + . . . + x 11 T h e polynomials c o r r e s p o n d i n g to the c o n s t r a i n t s 1 _< x 2 , x 3 ~ 3 are x + x 2 + x 3 and x + x 2 + x 3. For 0 < x4 < 3, we have t h e polynomial 1 + x + x 2 + x 3. T h u s the n u m b e r of solutions is t h e coefficient of x 11 in t h e p r o d u c t
t h a t is, t h e coefficient of x 2 in the p r o d u c t
( xi) ( xi) ( xi) (ioxi) You can verify t h a t it is 10. T h u s the e q u a t i o n has 10 solutions satisfying t h e given conditions. [The various solutions ( i , j , k , l) can be o b t a i n e d by picking the e x p o n e n t s in the p r o d u c t s xixJxkx l t h a t yield x 11 in t h e product (6.7).] m We close this section with an e x a m p l e t h a t is closely r e l a t e d to E x a m p l e 6.38. In how m a n y ways can 11 cookies be d i s t r i b u t e d a m o n g four c h i l d r e n m Amy, Betsy, Carol, and D a i s y - - s o t h a t A m y gets at least seven cookies, both Betsy and Carol get at least one cookie each but not m o r e t h a n t h r e e , and Daisy gets no more t h a n t h r e e cookies? SOLUTION" Since A m y gets at least seven cookies, this case yields the p o l y n o m i a l x 7 + x s + x 9 + x 1~ + x 11. Similarly, the o t h e r t h r e e c o n s t r a i n t s yield t h e polynomials x + x 2 + x 3, x + x 2 + x 3, and 1 + x + x 2 + x 3. T h u s the n u m b e r of ways of d i s t r i b u t i n g 11 cookies u n d e r t h e given conditions is the coefficient of x 11 in the product (6.7) above, namely, 10. m Exercises 6.5 Find t h e n u m b e r of distinct words t h a t can be formed by s c r a m b l i n g t h e letters in each word. 1. C A L C U L U S
2. T A L L A H A S S E E
Find the n u m b e r of bytes that: 3. C o n t a i n exactly two 0's.
4. C o n t a i n exactly five 0's.
5. C o n t a i n at least five 0's.
6. C o n t a i n not m o r e t h a n two 0's.
7. C o n t a i n exactly eight 0's.
8. C o n t a i n exactly nine 0's.
6.5
Permutations and Combinations with Repetitions
385
Find the num ber of ternary words over the alphabet {0, 1, 2} that are of length four and: 9. Contain exactly three O's.
10. Contain at least six O's.
11. Contain at most two 0's. 12. Contain two O's, three l's, and three 2's. In Exercises 13-16, use Figure 6.17 to find the num ber of possible routes from A to the given point, traveling easterly or northerly for the given number of blocks. 13. Point F and 5 blocks.
14. Point C and 8 blocks.
15. Point D and 9 blocks.
16. Point E and 11 blocks.
List the 4-combinations of each set. 17. {a}
18. {a,b}
19. There are five types of desserts available at a restaurant. Find the number of ways eight people can select them, if order does not matter. 20. A restaurant offers six choices for the main dish. How many ways can a group of nine women select the main dish? Assume that order does not matter. 21. In how many ways can 10 quarters in a piggy bank be distributed among 7 people? Find the number of solutions to each equation, where the variables are nonnegative integers. 22. Xl +x2 +x3 = 3
23. Xl +x2 +x3 +x4 = 7
24. xl +x2 +x3 +x4 = 10
25. Xl +x2 +x3 +x4 +x5 = 11
Find the number of solutions to each equation, where xi > 1. 26. x l + x 2 + x 3 + x 4 = l l
27. x l + x 2 + x 3 + x 4 + x 5 = 1 3
Use generating functions to solve the following counting problems. 28. Use generating function (6.7) to find the various solutions of the equation in Example 6.38. Find the number of solutions to each equation. 29.
x l + x2 + x3
=
10, Xl >__3, 1 < X2 _< 3, X3 > 5
30. X l + X 2 + X 3 = 1 2 , Xl, X 2 > 5 , 1 < X 3 < 4 31. X l + X 2 + X 3 + X 4 = 1 0 ,
Xl, X 2 > 2 , X 3 > 0 , X 4 > 5
32. X l + X 2 + X 3 + x 4 = l l ,
x1, x 2 > 2 , 2 < X 3 < 4 ,
X4>3
33-34. Find the solutions to the equations in Exercises 29 and 30.
386
Chapter 6
Combinatorics and
Discrete Probability
35. Find the number of ways 10 quarters can be distributed among three people--Aaron, Beena, and C a t h y - - s o that both Aaron and Beena get at least one quarter, Beena gets no more than three, and Cathy gets at least two. 36. Find the number of ways 11 raisins can be distributed among four children--Daisy, Emily, Francis, G a l l - - s o that Daisy, Emily, and Francis get at least two raisins, Francis gets no more than four, and Gail gets at least three.
The binomial coefficients satisfy a vast array of properties. We shall visit a few of them shortly.
Pascal's Triangle The various binomial coefficients ( n ) , where 0 _< r _< n, can be arranged in the form of a triangle, called P a s c a l ' s t r i a n g l e , * as shown in Figures 6.20 and 6.21.
Figure 6.20
(0) (1) (~1) (20) (21)0 (0)(]) (~)0 (4)0 (~)(~)(4)
Figure 6.21
1 1 1
4
2
6
e-- r o w l (--- r o w 2 e-- r o w 3 (--- r o w 4
e- row0 1
3 ~,
e-- r o w 0
(-- r o w 1 1
3
e- row2 1
4
e-- r o w 3 1
e-- r o w 4
Pascal's triangle has many intriguing properties: 9 Every row begins with and ends in 1. This is no coincidence, since C ( n , O) = 1 = C ( n , n ) . *Although Pascal's triangle is n am e d after Pascal, it appeared in a 1303 work by the Chinese m a t h e m a t i c i a n Chu Shi-Kie.
6.6
387
The Binomial Theorem
9 Pascal's triangle is symmetric about a vertical line through the middle. This is so since C(n, r) = C(n, n - r). 9 Any interior number in each row is the sum of the numbers immediately to its left and to its right in the preceding row. This is so by virtue of Pascal's identity. 9 Recall that, by Example 6.22, the maximum number of places fn into which a pizza can be divided with n distinct cuts is given by fn = C(n, O) + C(n, 1) + C(n, 2). It is the sum of the first three numbers in row n of Pascal's triangle (see Figure 6.22).
Figure 6.22 fl-~
(1
f2-~ f3-~
f4 ---~ (1
(1
1) 3
4
3) 6)
1 4
1
9 By Example 6.26, the maximum number of nonoverlapping regions formed inside a circle by joining n distinct points on it is given by gn = C(n, O) + C(n, 2) + C(n, 4). Using Pascal's identity, this formula can be rewritten a s g n = C ( n - 1,0) + C ( n 1,1)+C(n1,2)+ C ( n - 1, 3 ) + C ( n - 1, 4). (Verify this.) Consequently, the value of gn can be obtained by adding the first five numbers in row n - 1 of Pascal's identity (see Figure 6.23).
Figure 6.23
gl--> g3 g4 g5 g6
~ (1 ~ (1 -~ ~ 4 ~ ~'1 5
(1) 2 3
3 6
10
0 1)
10
Pascal's Triangle and Abracadabra Next we show how Polya's abracadabra problem is related to Pascal's triangle. Beginning with a 1 at the apex and using Pascal's identity, build the rhombic array in Figure 6.24. Each entry in Figure 6.24 gives the number of paths from the apex to the corresponding location. So there are 252 = C(10, 5) possible paths from the apex to the bottommost point in the array.
388
Chapter6 Combinatoricsand Discrete Probability
Figure 6.24
1 1
1
1 1 1 1
2 3
4 5
6
1
3 6
4
10
10
15 21
1
20
5 15
35
35
56
1
70
1 6
21 56
126
126 252
Next we show how Catalan n u m b e r s 1, 1, 2, 5, 14, 4 2 , . . . can be extracted from Pascal's triangle.
Pascal's Triangle and Catalan Numbers In C h a p t e r 2 we defined the n t h
Catalan number C,,
as
(2n)! C, = ( n + l ) ! n ! '
(2n)! Since n i n i =
(2n) n
n >_0
, this can be r e w r i t t e n as
n) n+l
'
n~0 -
Consequently, C,z can be obtained by dividing the
central binomial coeffi-
cient(2;)byn+l. For example, C4 - ~1(48 ) - 70 5 = 14; t h u s C4 is obtained by dividing by 5 the central element 70 in row 8 in Pascal's triangle. Figure 6.25 shows the first five central binomial coefficients; we can use t h e m to c o m p u t e the first five Catalan n u m b e r s . Catalan n u m b e r s , like Fibonacci and Lucas n u m b e r s , have a propensity to appear in quite unexpected places. We shall p u r s u e a few such delightful occurrences later in this Section and in Section 9.6. The next t h e o r e m shows how the binomial coefficients and T h e o r e m 6.13 are useful in finding the binomial expansion of (x + y)n. We shall prove it using a combinatorial a r g u m e n t (see Exercise 43 for an algebraic method).
6.6 The Binomial Theorem
389
F i g u r e 6.25 The central binomial coefficients.
1
1 1 1 1 1 1 1
7 8
4
Q
15
1 4
1
10 Q
35 56
1 3
10
21 28
| 3
5 6
1
5 15
35 O
1 6
21 56
1 7
28
1 8
1
( T h e B i n o m i a l T h e o r e m ) * Let x a n d y be a n y real n u m b e r s , a n d n a n y n ( n) n o n n e g a t i v e integer. T h e n (x + y)n _ ~ xn-ryr. r--0
PROOF: Since (x + y)n _ (x + y)(x + y)... (x + y) to n factors, (x + y)n is e x p a n d e d by m u l t i p l y i n g an x from some of t h e factors on t h e R H S a n d a y f r o m t h e r e m a i n i n g factors. T h a t is, every t e r m is o b t a i n e d by selecting an x f r o m a n y of t h e n - r factors a n d a y from t h e r e m a i n i n g r factors. Thus, every t e r m in t h e e x p a n s i o n is of the form Cxn-ry r, w h e r e C d e n o t e s t h e coefficient a n d 0
Coefficientofxn-ryr-(nnr) (n) /.\ So, every t e r m in the e x p a n s i o n is of t h e form [ r ) xn-ry r, w h e r e \
/
0 m< r < n. T h u s n
(xnLy)n-- E ( n )
xn-ry r
r=O
The next example illustrates the binomial theorem. *The binomial theorem for n = 2 can be found in Euclid's work (ca. 300 s.c.).
m
Chapter 6 Combinatorics and Discrete Probability
390 ~
Find the binomial expansion of ( 2 a - 3b) 4. SOLUTION: Here x - 2a, y - - 3 b , and n = 4. Using the binomial t h e o r e m ,
(2a-3b)4-(4)(2a)4(-3b)~
2
+(3)(2a)l(-3b)3+(4)(2a)~ = (2a) 4 + 4 ( 2 a ) 3 ( - 3 b ) + 6 ( 2 a ) 2 ( - 3 b ) 2 + 4 ( 2 a ) ( - 3 b ) 3 + ( - 3 b ) 4 -- 16a 4 - 96a3b + 216a2b 2 - 216ab 3 + 81b 4
m
The next example illustrates how to employ the binomial t h e o r e m to d e t e r m i n e a p a r t i c u l a r coefficient in the expansion of
(ax + by)n.
Find the coefficient of
x3y4 in the
expansion of (x + y)7.
SOLUTION:
Bythebinomialtheorem, thecoefficientofxn-ryris(r),wheren-7and r-4.
So Coefficient ofx3y4 - (47) - 35
m
Pascal's Triangle and the Nondecimal Bases Nine and Three The binomial t h e o r e m and hence Pascal's triangle can be used to express any positive integer in bases nine and three. For example, by the binomial theorem, 10 n - (9 + 1)n Tl
r=O
In particular, 3
r--0
= 1.93 + 3.92 + 3.9 + 1.9 o = 1331nine Likewise, 104 - 14641nine
(Verify this.)
6.6 The Binomial Theorem
391
Since 9 - 3 2, by the binomial theorem, we have
n ( n) r--0
10 n - ~
32n-2r
For example,
10 _ =- 1 . 3 6 + 3 - 3
4+3.3
2+1-3
0
= 1.36 + 1.35 + 0 . 3 4 + 1.33 + 0 . 3 2 + 0 . 3 1 + 1.30 = 110100 lthree This t e r n a r y expansion can be obtained from row 3 of Pascal's triangle, after converting each entry into base three and inserting zeros in between the entries. The binomial theorem can conveniently establish several interesting combinatorial identities. Among them is one already seen in Chapter 2.
n ( n) r=O
-- 2 n
That is, the sum of the binomial coefficients is 2n; in other words, a set with n elements has 2 n subsets. PROOF:
By the binomial theorem, n
(x-~y)n -- ~ I n )
xn-ryr
r--0 Let x - y - 1. Then n
2n --- (1..~-l)n-- ~ ( n )
ln-rlr
r=O That is, n
~--~t n) --2 n r=O
m
S u b m a t r i c e s of a Matrix
The following example, an interesting application of Theorem 6.17, was proposed in 1943 by the well-known m a t h e m a t i c s historian Howard Eves
392
Chapter 6 Combinatorics and Discrete Probability
while at Syracuse University. The elegant solution, by A. W a y n e of Flushing, New York, employs the addition and multiplication principles also. Find the total n u m b e r of s u b m a t r i c e s of an m x n matrix. SOLUTION: Any r rows can be selected in ( ~ )
ways. So, by T h e o r e m 6.17, the total
n u m b e r of combinations of rows from m rows equals ~m (mr) = 2 m - 1,
r=l Similarly, the total n u m b e r of columns we can choose is 2 n - 1. T h u s t h e r e are (2 m - 1)(2 n - 1) ways of choosing rows and columns; t h a t is, there are (2 m - 1)(2 n - 1 ) s u b m a t r i c e s in an m x n matrix. I A n o t h e r identity e m e r g i n g from the binomial t h e o r e m is given in the next theorem.
(4)§ ....
(6.8)
where n > 1. T h a t is, the s u m of the "even" binomial coefficients equals t h a t of the "odd" binomial coefficients. PROOF: Again by the binomial theorem,
Set x - 1 and y - - 1 . Then, for n >_ 1, rl
0 - I1 + ( - 1 ) i n - ~-~ ( n ) l n - r ( - 1 ) r
r---0
(o) T h a t is,
I
We now m a k e an i n t e r e s t i n g observation. Recall t h a t the binomial coefficient C(n,r) denotes the n u m b e r of subsets of size r of a set with n elements, so the L H S of E q u a t i o n (6.8) r e p r e s e n t s the total n u m b e r of subsets with an even n u m b e r of elements and the RHS r e p r e s e n t s t h a t with an odd n u m b e r of elements. Since the total n u m b e r of subsets is 2 n, each equals 2 n - l , by E q u a t i o n (6.8).
6.6 The Binomial Theorem
393
Next we t u r n to two i n t e r e s t i n g occurrences of Catalan n u m b e r s .
Catalan Numbers Revisited
The great Swiss m a t h e m a t i c i a n L e o n h a r d E u l e r (see C h a p t e r 8) discovered Catalan numbers. He found t h e m in his study of triangulations of convex polygons, t h a t is, dividing the interior of a convex polygon into t r i a n g u l a r areas by drawing nonintersecting diagonals. Let Cn denote the n u m b e r of triangulations of convex (n + 2)-gon, where n > 1. It follows from Figure 6.26 t h a t C1 - 1, C2 = 2, C3 - 5, and C4 = 14. More generally, Euler established t h a t
Ca
2 96 . 1 0 . . . ( 4 n - 2) (n + 1)!
F i g u r e 6.26
Triangulations of convex (n + 2)-gons. CI= 1
C2=2
C3-5
C5=14
In 1759, the G e r m a n m a t h e m a t i c i a n J o h a n n Andreas von Segner (1707-1777), a contemporary of Euler, established a recursive procedure to compute Cn" Cn -
CoCn-1
+ C1Cn-2
-'~- " " -~- C n - I C o
where Co - 1. For example, C4 - 1 . 5 + 1 . 2 + 2 . 1 + 5 . 1 = 14.
Chapter6 Combinatoricsand Discrete Probability
394
Catalan's Parenthesization Problem Interestingly, Euler's triangulation problem is essentially the same as Catalan's parenthesization problem, which he solved in 1838: using n pairs of left and right parentheses, how many different ways we can parenthesize a sequence of n + 1 symbols for a binary nonassociative operation? For example, with two symbols, there is one possibility: (ab); with three symbols, there are two possibilities: ((ab)c) and (a(ab)); and with four symbols, there are five ways: ((ab) (cd)), (((ab)c)d), (a(b(cd))), (a((bc)d), and ((a(bc))d); they yield the Catalan numbers 1, 2, and 5; and so on. In 1961, H.G. Forder of the University of Auckland, New Zealand, showed that every triangulation of convex polygon yields a correctly parenthesized expression, and vice versa. This close relationship becomes clear if we consider the triangulation of the hexagon in Figure 6.27. We have labeled five of its sides a through e, leaving the base unlabeled. Label every diagonal spanning two adjacent sides with the concatentation of the corresponding labels in parentheses. Continue this algorithm until the base gets a label, as in Figure 6.28. Thus the triangulation in Figure 6.27 yields the correctly parenthesized expression (((ab)c)(de)). Retracing the steps, we can recover the triangulation from the expression.
Figure 6.27 Triangulation of a hexagon.
Figure 6.28
C
b
L
d
C
d
Parenthesized triangulation of a hexagon.
e
(((ab)c) (de))
Triangulations, Parenthesized Expressions, and Binary Numbers Each triangulation of a convex polygon and by extension the corresponding parenthesized expression, can be uniquely represented by a binary number. For instance, consider the expression (((ab)c)(de)) in Figure 6.28. If we replace each left parenthesis with a 1 and each letter with a 0 and ignore all right parentheses, the expression yields the binary number 111000100. We do not need to store the right parentheses, because if we know the left parentheses, we can insert the matching right parentheses correctly.
6.6 The Binomial Theorem
395
T h u s such a b i n a r y n u m b e r is a compact way of r e p r e s e n t i n g the expression and hence the triangulation. We shall revisit this b i n a r y designation in Section 9.6 on b i n a r y trees. Before closing this section, we derive the explicit f o r m u l a for C n . T h e proof employs the following g e n e r a t i n g function. (1 - 4x) 1/2 -- 1 - 2 ~ -1 ( 2 n n - - } ) x n n=l n
An Explicit Formula for the nth Catalan Number (optional) Let P n denote the n u m b e r of ways of p a r e n t h e s i z i n g n + 1 symbols u s i n g n pairs of left and right p a r e n t h e s e s . T h e n P1 - 1. So, let n > 2. T h e first i symbols can be p a r e n t h e s i z e d in P i ways and the next n - i symbols in P n - i ways, where I _< i _%
+ P2Pn-2
+""
+ Pn-IP1
(It follows from S e g n e r ' s formula t h a t P n - C n - 1 . ) Now consider the g e n e r a t i n g function f (x) - P l x + P 2 x2 + . . . + P n x n + . . .
Then If(x)] 2 - p 2 x 2 + (P1P2 + P 2 P 1 ) x 3 + ' "
+
(P1P,~-I + P 2 P n - 2
+ " "" + Pn-IP1)x n + """ = X 2 + P 3 x3 + . . . -+-Pnx n + . . .
=f(x)-x So [f(x)] 2 - f ( x ) + x - 0 Solving, 1+ x/l-
4x
f(x) -
Since P n > 0 for every n, we t a k e the m i n u s sign, so 1-~/i-4x f(x)
-
Chapter 6 Combinatorics and Discrete Probability
396
Using the above power series expansion, this yields f(x) = ~
xn
-
n=l n
Thus
Pn--l_n (2:~2) --Cn-1 So
Cn -
1(2;)
n+l
'
n>0 -
as desired. Exercises 6.6
Find the coefficient of each. 1. xny 5 in the expansion of (x + y)8 2. x4y 6 in the expansion of ( x - y)10 3. x2y 6 in the expansion of (2x + y)8 4. x4y 5 in the expansion of (2x - 3y) 9
Using the binomial theorem, expand each. 5. (x +y)4
6. ( x - y ) 5
7. ( 2 x - 1 ) 5
8. (x + 2y) 6
Find the middle term in the binomial expansion of each. 9.
11.
(1)
4
x+-
(
10.
x
2x+-
12.
x
(1) x-
-
6
x
( )1o x2 + ~-5
Find the largest binomial coefficient in the expansion of each. 13. (x + y)5
14. (x + y)6
15. (x + y)7
16. (x + y)8
17. Using Exercises 13-16, predict the largest binomial coefficient in the expansion of (x + y)n. Use Pascal's triangle in Figure 6.21 to answer Exercises 18 and 19. 18. Find the sum of the numbers along the northeast diagonals. 19. What do you notice about them?
6.6 The Binomial Theorem
397
The nth Fibonacci number Fn is given by the sum of the numbers along the nth northeast diagonal of Pascal's triangle; that is,
[(n-1)/2J Fn
"--
E
(n-i-1)~.
i=0 Using this formula, compute each Fibonacci number. 21. F2
20. F1
22. F5
23. F6
The Bell n u m b e r s Bn, named after the English mathematician Eric T. Bell (1883-1960) and used in combinatorics, are defined recursively as follows: B0=I Bn=~(n-l)
i=0
i
Bi,
n>l
Compute each Bell number. 24. B2
25. B3
26. B4
27. B5
Using the binomial theorem, prove each. 28. 24n + 3n - 1 is divisible by 9. (Hint: 2 = 3 - 1.) 29. 42n + 10n - 1 is divisible by 25. (Hint: 4 = 5 - 1.) 30. 31.
n(2n) (2n )int:UseheoremO18
Y~ 2r r=0 r=l n (;) }--~2r --3 n r=0
2r- 1
32. r~0 (;)(n nr)(22) [Hint: Consider (1 + x) 2n = (1 + x)n(1 + x) n. Equate the coefficients of x n from either side.] 33. i~1 (i--n l ) ( ? )
- (n2+nl)
[Hint: Consider (1 + x) 2n = (x + 1)n(1 + x) n. Equate the coefficients of x n+l from both sides.]
Evaluate each sum. 34. 1 ( 1 ) + 2 ( 2
)+3(3
)+...+n(:)
(Hint: Let S denote the sum. Use S and the sum in the reverse order to compute 2S.)
398
Chapter6 CombinatoricsandDiscreteProbability 35. a ( ; ) + ( a + d ) ( n l ) + ( a + 2 d ) ( 2 (Hint:
)+...+(a+nd)(n)
Use the same hint as in Exercise 34.)
n+l 36. Show that C ( n , r - 1) < C ( n , r ) if and only if r < ~ , 2 0 < r < n.
where
37. Using Exercise 36, prove that the largest binomial coefficient C ( n , r ) occurs when r = [n/2J. Using induction, prove each. 38" ( ; ) + ( (Hint:
n + l l ~/+(n+2)2 + - . . + ( n + r ) r
= (n+r+l)r
Use Pascal's identity.)
39. 1 ( 1 ) + 2 ( 2 ) + . . . + n ( n )
= n 2 n-1
40. ( ; ) 2 + ( 1 ) 2 + ( 2 ) 2 + . . . +
( n ) 2 = (2n)
,~ (n)
From the binomial expansion (1 + x) '~ - ~
,~ (n)
calculus that n(1 + x) "-1 - ~
x r,
it can be shown using
r--0
rx ' - 1 .
Using this result, prove each.
r=l
41.
1(1 ) +2(:)+3(3 ) +...+n( n)-n2
n-1
42. 1 ( 1 ) + 3 ( 3 ) + 5 ( 5 ) + . . . . 2 ( 2 ) + 4 ( 4 ) + 6 ( 6 ) +
. . . . n2 n-2
43. Prove the binomial theorem, using mathematical induction. *44. Using a combinatorial argument prove that
(n) (m)= (n)(n r) (Hint:
(Newton's identity)
Select an r-element subset of an n-element set in two ways.)
45. Prove the result in Exercise 44 algebraically. The following result is known as Vandermonde's identity, after the German mathematician Abnit-Theophile Vandermonde (1735-1796):
(m :nl - (0) (nl + (~) (r n l)~ (~) (r n2)~ ~ (mr)(0)
6.7 The Generalized Inclusion-Exclusion Principle (GIEP) (optional)
399
*46. Prove V a n d e r m o n d e ' s identity, using a combinatorial a r g u m e n t . (Hint: Consider the ways of selecting r people from a group of m m e n and n women.) 47. Prove V a n d e r m o n d e ' s identity algebraically. [Hint: Consider (1 + x)m(x + 1) n = (1 + X) m+n. ]
n (:) 48. Find a formula for ~
.
i=2 49. Using induction, establish the formula guessed in Exercise 48. 50. Find a formula for ~
.
i=3 51. Using induction, establish the formula guessed in Exercise 50. 52. Using Exercises 48-51, predict a formula for ~ i=k
.
The generalized version of the inclusion-exclusion principle has interesting applications to n u m b e r theory, surjections, and d e r a n g e m e n t s , as will be seen shortly. ( G I E P ) Let A 1 , A 2 , . . . ,An be n finite sets. T h e n
U Ai
i=1
-- E Inil- E 1
1
Ininnj[4-
E
IAi N Aj n Ak l . . . .
1<_i<j
fi
(6.9)
Ai
i=1
PROOF: To prove this formula, we show t h a t every element on the LHS is counted exactly once by the expression on the RHS of Equation (6.9). Let x be an a r b i t r a r y element t h a t occurs in exactly r of the sets A 1 , A 2 , . . . ,An. T h e n x is counted C(r, 1) times in ~ IAil, C(r, 2) times in ]Ai N Ajl, C(r, 3) times in ~ ]Ai N Aj n Akl, and so on. Therefore, the n u m b e r of times x is counted on the RHS of Equation (6.9) is r
C(r, 1) - C(r, 2) + C(r, 3) . . . .
+ ( - 1 ) r+lC(r, r) - E ( - 1 ) k + l C ( r , k )
k=l
400
Chapter6 Comblnatorlcsand Discrete Probability But
r
E(-1)kC(r,k)
- 0, by Equation (6.8)
k--O
That is, F
C(r, 0 ) - E ( - - 1 ) k + l C ( r , k ) -- 0 k--1 r
E(-1)k+lC(r,k)
- C(r, O)
k=l
That is,
~(-1)k+lC(r,k)- 1 k=l
Consequently, every element x is counted exactly once on the RHS of equation (6.9). This completes the proof, m In many applications, an alternate form of the inclusion-exclusion principle works nicely. For instance, it can find the number of primes not exceeding a positive integer, as will be seen shortly. An Alternate Inelusion-Exe|usion Formula Let S be a finite set. We would like to find the number of elements in S that have none of the properties P1,P2,... ,Pn. Let Ai be the set of elements in S that have property Pi. Let N(Pil,Pi2,... ,Pik) denote the n u m b e r of elements in S that have properties Pil,Pi.2,... ,Pij... Let N(P'I,P'2,... ,Pn) denote the number of elements in S that have none of the properties P1, P2, . . . , Pn. Then
N(Pil,Pi,e, ''' ,Pik) - IAil NAi,2 N . . . nAikl So N(P'IP'2... Pn) = ISI - IA1 U Ae u . . . U An I
--]SI- [ E
N(Pi)-
l
E
N(PiPj)+
1<_i <j <_n
E
N(PiPjPk) . . . .
1
+ ( - 1 ) n + I N ( P 1 P 2 " Pn)]
=IS[-
E
N(Pi) +
1
E 1
N (PiPjPk ) + . . .
N(PiPj) 1
+ ( - 1)nN(P1P2 "'" Pn) ,,
This is the a l t e r n a t e i n c l u s i o n - e x c l u s i o n
principle.
6.7 The Generalized Inclusion-Exclusion Principle (GIEP) (optional)
401
This formula can find the n u m b e r of primes not exceeding a positive integer n, as the next example demonstrates. Find the n u m b e r of primes < 100. SOLUTION: Let S - {n 9 N I l < n < 100}. By Theorem 4.2, a positive integer n is a prime if and only if it has no prime factors < [~/-nJ. Therefore, an element in S is prime if and only if it has no prime factors < 10. There are four primes < 10, namely, 2, 3, 5, and 7. Thus the primes < 100 are these four primes, and those integers in S not divisible by 2, 3, 5, or 7. Let P2 be the property t h a t an integer in S is divisible by 2, P3 the property t h a t an integer in S is divisible by 3, P5 the property that an integer in S is divisible by 5, and P7 the property t h a t an integer in S is , p, divisible by 7. Then N(P'2 P3 5 P7 ) denotes the n u m b e r of integers in S not divisible by 2, 3, 5, or 7. Thus there are 4 + N(P'2 P3, p,5 P7 ) primes in S.
To find N(P'2 P'3 P'5 P'7)" First notice that iS] - 99. Secondly, let r, s, t 9 {2, 3, 5, 7}. Since r and s are primes, an integer has property Pr Ps if it has both properties Pr and Ps. This process can be extended to PrPsPt and P2 P3 P5 P7. Therefore, the n u m b e r of elements in S having property Pr Ps is given by [lO0/rsJ, the n u m b e r of elements in S having property Pr Ps Pt is given by [lO0/rstJ, and those withP2P3PhP7 by [ 1 0 0 / 2 . 3 . 5 . 7 J . By the alternate inclusion-exclusion principle,
N(P~I, P2,..-, Pin)-ISI- E N(Pi)+ E N(PiPj)- E N(PiPjPk ) +N(P2P3PhP7) = 9 9 - iN(P2) +N(P3) +N(Ph) +N(P7) ] + [N(P2P3) +N(P2Ph) +N(P2P7) +N(P3Ph) +N(P3P7)
+N(PhP7 ) ]- [N(P2P3Ph) +N(P2P3P7 ) +N(P3PhP7 ) ] +N(P2P3PhP7) = 9 9 - ([100/2J + [100/3J + [100/hJ + [100/7J)+([100/2.3J + [100/2.5j + L100/2.7J + [100/3.5J + [100/3.7J + [ 1 0 0 / 5 . 7 J ) - ([100/2.3.5J + [100/2.3.7J + [100/3.5.7J) + [100/2.3.5.7J =99-(50+33+20+
14)+(16+10+ 7+6+4+2)
-(3+2+1)+0 =21 Thus, there are 4 + 21 - 25 primes _< 100.
m
We now present two delightful applications of the generalized inclusionexclusion principle and the binomial theorem.
402
Chapter6 Combinatorics and Discrete Probability Counting Surjections First, we develop an explicit f o r m u l a for t h e n u m b e r N of s u r j e c t i o n s f f r o m a finite set A to a finite set B. To this end, let [A] - m and [B[ = n, w h e r e [S[ denotes t h e cardinality of t h e set S. If m < n, no surjections f r o m A to B can be defined; so we let m >_ n. L e t a be a n y e l e m e n t inA. Since f(a) has n choices, a total o f n m f u n c t i o n s can be defined from A to B. It now follows t h a t
N - n m -- ( n u m b e r of functions t h a t are not surjective) So it suffices to count the n u m b e r of functions from A to B t h a t a r e n o t surjective; this is w h e r e we shall invoke t h e G I E P . For convenience, let A = {1, 2, 3 , . . . , m} a n d B - {bl, b2, b 3 , . . . , bn }. L e t Si denote t h e set of all functions from A to B t h a t do not p r o d u c e bi a s a n output, w h e r e 1 < i _< n. T h e n S - $1 u $2 u ... u Sn denotes t h e set of all functions from A to B t h a t do not o u t p u t at least one e l e m e n t of B. In o t h e r words, S - $1 u $2 u ... u Sn d e n o t e s t h e set of n o n s u r j e c t i o n s f r o m A to B, so IS[ - IS1 u $2 u ... u Snl denotes the n u m b e r of n o n s u r j e c t i o n s f r o m A to B. By T h e o r e m 6.19, n
ISI - E Isil - E lSi nSjl -Jr E Isi n S j nSkl . . . . -+-IS1 N32 n-.-nSnl i=1 i<] i<j
S1. It
To begin with, consider
consists of all functions t h a t do not o u t p u t
b l ; in o t h e r words, S1 consists of all functions from A to {b2, b 3 , . . . ,
bn}.
T h e r e are ( n - 1)m such functions; so ISll - ( n - 1)m. Similarly, $2 consists of all functions from A to {bl, b3,. 9 9 bn }. T h e r e are (n - 1)m such functions; so IS21 - ( n - 1) m. More generally, ISil - ( n - 1) m, w h e r e 1 _< i < n. Therefore,
En I S i l - n ( n - 1) m -
(1 t
(n-
1) m
i=1 To c o m p u t e ISinSjl, w h e r e i < j , let us first investigate SINS2. It consists of all functions from A to B t h a t do not o u t p u t bl or b2. So it consists of all functions from A to {b3, b 4 , . . . , bn }. T h e r e are (n - 2) m such functions; so IS1 n $21 -- (n - 2) m. Similarly, $2 n $3 consists of all functions f r o m A to {bl,b4,... ,bn}; so IS2 n $31 = (n - 2) m. C o n t i n u i n g like this, it follows t h a t ,S i n S j l - - ( n - 2 )
m, w h e r e i < j . Since t h e r e are ( 2 ) pairs of sets $1
t h r o u g h Sn, it follows t h a t
,Sin i<j
6.7 The Generalized Inclusion-Exclusion Principle (GIEP) (optional)
403
Let us now c o m p u t e ISi n Sj n Sk l, w h e r e i < j < k. F o r convenience, we begin with $1 N $ 2 N $ 3 . It consists of all functions from A to B t h a t do not o u t p u t bl, b2, or b3. T h u s $1 n $2 N $3 consists of all functions from A to {b4, b5,... ,bn}; so IS1 n $2 n $31 = (n - 3) m. U s i n g the same a r g u m e n t , it
followsthatlS1nS2nS31-(n-3)m, wherei<j
E SinSjnSk'- (3) (n-3)m
i<j
Slowly but surely, a p a t t e r n is emerging. In lieu of conjecturing the form u l a for the intersection $1 AS2 n ... N Sj o f j (distinct) sets S1 t h r o u g h Sj, let us apply the same a r g u m e n t as above. As before, IS1 AS2 n ... NSjl denotes the n u m b e r of functions from A to {bj+l,bj+2,...,bn}, so
IS1NS2N"'NSjl-(n-j)m.
Sincethereare(~.)suchintersectionsof
n sets, it follows t h a t
E IS1NS2N'"NSj'-- (~') (n-j)m Finally, we would like to m a k e sure t h a t the same a r g u m e n t works for the last t e r m IS1 n $2 n 99 n S~ I. The set S1 n $ 2 n 9 9 9 N S n consists of all functions t h a t o u t p u t none of the e l e m e n t s bl t h r o u g h bn. But t h e r e are no such functions, so
,S1NS2n'"NSn.--O-- (:)(n-n) m Collecting all the pieces together, by T h e o r e m 6.19, we have
ISl-(1)(n-1)m-(2)(n-
2)m+(3)(n-3)m ....
+(-1)n+l(:)(n-n) m n =}-~(-1)r+l(;)(n-r) m r=l Thus
N = nm -ISI /2
=nm-E(-1)r+l(;)(n-r)m r=l
:z, l r(n) n n
r=O
(6.10)
Chapter6 Combinatoricsand Discrete Probability
404
For example, letA - {1, 2, 3} a n d B - {x,y}; so a total of 23 -- 8 functions can be defined from A to B. They are pictured in Figure 6.29.
Figure 6.29
f~
f2
f3
f4
f~
f2
f3
f4
Functions from {1,2,3} to {x,y}.
Of these functions, Figure 6.30.
Figure 6.30
f,
two are not surjective;
they are displayed in
f2
Nonsurjections from {1,2,3} to {x,y}.
Thus there are 2
E(--l)r(~)(2--r)r--8--2+ 0-6 r=0
surjections from A to B; they are displayed in Figure 6.31.
Counting Derangements Next, we develop an explicit formula for the n u m b e r of d e r a n g e m e n t s Dn, again using Theorem 6.19. The technique employed is similar to the one we used for counting surjections.
6.7 The Generalized Inclusion-Exclusion Principle (GIEP) (optional) F i g u r e 6.31
f2
f3
f4
f5
f~
f7
405
Surjections from {1,2,3} to {x,y}.
Suppose t h e n e l e m e n t s are 1, 2, 3 , . . . ,n. T h e y can be a r r a n g e d in n! ways, so D n - n! -
( n u m b e r of p e r m u t a t i o n s t h a t leave at least one e l e m e n t fixed)
To find the n u m b e r of p e r m u t a t i o n s t h a t are n o t d e r a n g e m e n t s , let S i denote the set of p e r m u t a t i o n s t h a t leave t h e e l e m e n t i in position i, w h e r e 1 < i < n. T h e n S -
n u S i denotes the set of all p e r m u t a t i o n s of t h e ele-
i=l
m e n t s 1 t h r o u g h n t h a t are not d e r a n g e m e n t s , so D n -- n ! - I S I . To c o m p u t e t h e value of ISI, as before, we apply T h e o r e m 6.19. To begin with, consider $1. It consists of all p e r m u t a t i o n s t h a t leave 1 in position 1. The r e m a i n i n g n - 1 e l e m e n t s can be a n y w h e r e else and hence can be a r r a n g e d in (n - 1)! ways, so ISll - (n - 1)! Similarly, $2 consists of all p e r m u t a t i o n s t h a t leave 2; t h e n also the r e m a i n i n g n - 1 e l e m e n t s can be a r r a n g e d in (n - 1)! ways; s o IS21 : (n - 1)! In general, ISil - (n - 1)!, w h e r e 1 < i < n. Therefore,
__n ISil __ n ( n
- 1)!
: IX)
(n - 1)!
i=l We now c o m p u t e ISi A Sj I, w h e r e i < j. $1 n $ 2 , for instance, consists of all p e r m u t a t i o n s t h a t leave both 1 a n d 2 fixed. T h e r e m a i n i n g n - 2 e l e m e n t s can be r e a r r a n g e d in (n - 2)! ways, so IS1 A $21 - (n - 2)! More generally,
,Si A Sj] = ( n - 2 ) ! , w h e r e i < j . T h e r e a r e ( 2 ) s u c h p a i r s o f i n t e r s e c t i o n s , so
i<j
406
Chapter 6 Combinatorics and Discrete Probability
We now compute ISi n Sj n S k I, where i < j < k. The set S i n Sj n S k consists of all permutations that leave the elements i, j, and k fixed. The remaining n - 3 elements can be permuted in (n - 3)! ways. There are ( 3 ) such triplets of intersections, so
E
ISi n S j n S k l - ( 3 )
( n - 3)~
i <j
\J/
such intersections, it follows that
E IS1NS2 N ". "NSjJ -- (~.) (n -j)! Finally, S1 n $2 n . . . n Sn consists of all permutations that leave every element fixed. There is only one such permutation, so
IS1nS2N...NS,zl--l--(n)(n-n)! Tying all the pieces together, we get II
'SI-ElSiI-E[SiNSjl i=1 i <]
-~- ~ I S i n S j n S k l . . . . • i <j
-(1)(n-1)!-(2)(n-2)!+(3)(n-3)!
... nSnl
.... +(-l)n+l(n)(n-n)!
?l
= E(-1)r+l (n) (n-r)! r--1
Thus Dn = n ! - ISI n
:n!--E(--1)r+l r=l
I n ) (n--r)! n
- - ( 0 ) ( n - 0 ) ! - E ( - 1 ) r+l ( n ) ( n - r ) ! r-1 n
--E(-1)r(n)(n-r)' r--O
(6.11)
9
9
~ ~
9
t~
t~
t~
t~
t~
r~
9
t~ t~
t~
~
.
~
II
9
9
+
T
•
II
~
~
o~
o~
~o ~
t
II
~
~
.-
~
II
~
o
M
~
i
~~
~ ~
~
N
~
9 9
~D
Dmio
D,,~o
o~
9
9
0
D
t~
~J
.~
~
Dmio
Z
9
~D
DmJo
c~
9
m
~
Pi I
~J
~
6.8
Discrete Probability (optional)
409
2. A survey among 100 consumers shows that of the two laundry detergents, Lex and Rex, 45 like Lex, 60 like Rex, and 20 like both. How many surveyed do not like either of them? Find the number of positive integers < 1000 and not divisible by:
3. 3 o r 5
4. 5 o r 6
5. 2, 3, or5
6. 3, 5, or7
Using the alternate inclusion-exclusion formula, find the number of primes not exceeding: 7. 75
8. 110
9. 125
I0. 129
Find the number of solutions to each equation with nonnegative integer variables. "11. x + y + z - 1 1 ,
"12. w + x + y + z - 1 3 ,
x <_3,y <_4, z <_5
w_<3, x,y<_4, z<_7
13. In 1984, E. T. H. Wang of Wilfrid Laurier University, Waterloo, Ontario, Canada, established that n
~-~r3(nlDn_r-5n! r=l
Verify the formula for n - 5 and n - 6.
The groundwork for probability theory was laid by chance in 1654 when an aristocratic gambler, Chevalier de Mere, asked Blaise Pascal the following question: I f two players of equal skill are forced to quit a game before it is over, how should the stakes be divided between them ? The problem sounds simple m the stakes should be divided so the person who had the greater chance to win the game when they stopped playing gets more than his opponent. Pascal communicated this problem to Pierre de Fermat and they solved it independently. This began probability theory. Suppose you flip a coin. It can land heads up (H) or tails up (T) with equal likelihood. Each of them, H or T, is an o u t c o m e of the e x p e r i m e n t of tossing the coin. The set {H, T} of possible outcomes of the experiment is the s a m p l e s p a c e of the experiment. *Based on T. Koshy, Finite Mathematics and Glenview, IL, 1979, pp. 87-134.
Calculus with Applications, Scott,
Foresman
Chapter6 Combinatorics and Discrete Probability
410
Sample Space and Event The set of all possible outcomes of an experiment is the s a m p l e s p a c e of the experiment, denoted by S. (Throughout, we assume S is nonempty and finite.) An e v e n t E is a subset of the sample space. An outcome in E is a f a v o r a b l e o u t c o m e (or s u c c e s s ) ; an outcome not in E is an u n f a v o r a b l e o u t c o m e (or failure). IfE = 0, E is an i m p o s s i b l e e v e n t . If IEI = 1, then E is a s i m p l e e v e n t . The event E' - S - E is the c o m p l e m e n t of event E. For example, consider the experiment of tossing three coins. By the multiplication principle, the sample space S consists of 2 . 2 . 2 = 8 possible outcomes: S = {HHH, HHT, HTH, HTT, THH, THT, TTH, TTT}. Let A be the event of obtaining exactly two heads, B that of obtaining at least two heads, and C that of obtaining four heads. Then A = {HHT, HTH, THH} and B = {HHT, HTH, THH, HHH}. Clearly, C = O, an impossible event. The definition of the probability of an event was given by the outstanding French mathematician Pierre-Simon Laplace.
Probability of an Event Let E be an event of a finite sample space S consisting of equally likely outcomes. Then the p r o b a b i l i t y of the event, denoted byp(E), is defined by p(E)
-
number of ways E can occur total number of possible outcomes
IEI ISI
The next three examples illustrate this definition. ~
Suppose a card is drawn at random from a standard deck of playing cards. Find the probability that it will be a spade. SOLUTION: Since a standard deck contains 52 cards, the number of possible outcomes of drawing a card is 52. There are 13 spades in the deck; so a spade can be chosen in 13 ways. Hence, the probability that the card drawn is a spade is given by p(E)
=
IEI ISI 13 52
~ ~ ~ ~ ~
=
number of ways E can occur total number of possible outcomes 1 4
m
A Massachusetts state weekly lottery number is divided into three boxes, colored yellow, blue, and white. These boxes contain a three-digit number, a two-digit number, and a one-digit number, respectively. Assume that 000-00-0 is a valid lottery number and this week's winning number is
123 YELLOW
45 BLUE
6 WHITE
6.8
Discrete Probability (optional)
411
Pierre-Simon Laplace (1749-1827), one of the most influential mathematicians and scientists of all time, was born in Beaumont-en-Auge, Normandy, France, into a prosperous family of farmers and merchants. After graduating from school, he entered the University of Caen to study theology as his father had planned. During 2 years at Caen, Laplace discovered his mathematical talents and left for Paris to pursue a career in mathematics. With the help of mathematician and philosopher Jean le Rond d'Alembert, he became professor of mathematics at the F,cole Militaire. At the age of 24, Laplace was elected a member of the Paris Academy of Sciences. Laplace is one of the founders of probability theory and is best known for his outstanding contributions to celestial mechanics, the study of motions of celestial bodies. In addition, he did significant work in applied mathematics and mathematical statistics. Laplace published two monumental treatises, Trait~ de M~chanique C~leste (five volumes, 1799-1825) and Th~orie Analytique des Probabilit~s (1812). The former, one of the greatest scientific works of the 19th century, earned him the title the Newton of France, while the latter was the first comprehensive book on probability. Laplace was a strong advocate of the metric system and played an important role in reorganizing the F,cole Polytechnique, a prestigious engineering school founded in 1795. Indifferent to political conditions, Laplace remained loyal to every party in power, which enabled him to preserve his high scientific status throughout the turbulent era in which he lived. He died in Paris.
Table 6.3 s u m m a r i z e s the payoffs. Each winning ticket is allowed only one prize, the largest for which it is eligible. Suppose you buy a ticket for 50r Find the probability t h a t you will win $50,000. Table
6.3
Yellow
123 123 123 123
Blue
White
Payoff
-45
6 --
Eligible for drawing $5
45
6
$1o
--
--
--
6
45 45
-6
$10 $~oo
$1000 $50,00O
SOLUTION: Since each of the six digits could be any one of the 10 digits, the total n u m b e r of possible outcomes is 106 - 1,000,000. Of these, there is exactly one way of drawing the winning number; so, the probability of winning the Megabucks lottery is
1,000,000
= 0.000001
M
412
Chapter 6 Combinatorics and Discrete Probability
A few i m p o r t a n t observations arise from the definition of t h e probability of an event E. Since 0 < IEJ < ISI, 0 < p ( E ) < 1 for a n y event E. Consequently, an event E is certain to occur i f p ( E ) - 1, a n d will n o t occur if p(E) = 0.
I Also, since E ' = S - E , p ( E ' ) - 1 - p ( E ) use this property.
(Why?). The next two examples
Find the probability of obtaining at least one head when t h r e e coins are tossed. SOLUTION: Let E be the event of obtaining at least one head. T h e n E' denotes the event of obtaining no heads and p ( E ' ) - 1/8. Therefore, p(E)-
1- p(E')-
1
1
7
8
8
E
( T h e B i r t h d a y P a r a d o x ) Suppose r people are selected at random. Find the probability t h a t at least two of t h e m have the same birthday. Do not distinguish between leap years and nonleap years. SOLUTION: Let E be the event t h a t at least two of the r people have the same birthday. T h e n E' denotes the event t h a t no two of t h e m have the same birthday. To compute p(E), first find p ( E ' ) . Since there are 365 possibilities for a birthday, there are 365 r possibilities for the birthdays of the r people. Now the first person has 365 possibilities for his birthday, the second person has 364 possibilities, the third person has 363 possibilities, and so on; the r t h person has 365 - (r - 1) possibilities for his birthday. T h u s p(E') -
365. 3 6 4 . . . ( 3 6 5 - r + 1) 365 r
So p(E) = 1 - p(E')
- 1-
365. 3 6 4 . . . (366 - r) 365 r ,
1 < r < 365 _ _
Table 6.4 gives the values o f p ( E ) for various values of r. It follows from the table t h a t if 23 people are selected at random, chances are b e t t e r t h a n 50% t h a t at least two of t h e m have the same birthday! This is known as the b i r t h d a y p a r a d o x .
6.8 Discrete Probability (optional)
T a b l e 6.4
413
N u m b e r of people selected r
p(E)
5 10 20 22 23 25 30 40 50 60 70 80 90 100
O.027135574 0.116948178 0.411438384 0.475695308 0.507297234 0.568699704 0.706316243 0.891231810 0.970373580 0.994122661 0.999159576 0.999914332 0.999993848 0.999999693
m
C o m b i n a t o r i c s a n d the m u l t i p l i c a t i o n principle often help in c o m p u t i n g probabilities, as the next e x a m p l e shows. Five m a r b l e s are d r a w n at r a n d o m from a bag of seven green m a r b l e s and four red marbles. Find the probability t h a t t h r e e are green and two are red. SOLUTION: Since t h e r e are 7 + 4 = 11 marbles, a n y five o f t h e m can be d r a w n in C(11, 5) ways. Let A be the event t h a t t h r e e m a r b l e s are green and two are red. T h r e e green m a r b l e s can be selected in C(7,3) ways and two red m a r b l e s in C(4, 2) ways; so, by the m u l t i p l i c a t i o n principle, the event A can occur in C(7, 3). C(4, 2) ways. So, 7~ 4~ C(7, 3). C(4, 2) 3! 4! " 2! 2! p(A) = C ( l l , 5) 11~ 5!6! 7~4~5~6~ 5 = . (Verify this.) 3!4!2!2!11! 11
m
If t h e outcomes of an e x p e r i m e n t are not equally likely, Laplace's definition has to be modified.
A Modified Definition of the Probability of an Event Let E - {a 1, a 2 , . . . , an } be an event of a finite sample space consisting of n o t necessarily equally likely outcomes. Let p ( a i ) denote the probability t h a t t h e outcome ai will occur.
414
(3hapter 6 Combinatorics and Discrete Probability n
Then the probability of E is defined by p ( E ) = ~ p(ai). Thus, p ( E ) is the i=1 sum of the probabilities of the outcomes in E. Suppose the probability of obtaining a prime n u m b e r is twice t h a t of obtaining a non-prime number, when a certain loaded die is rolled. F i n d the probability of obtaining an odd n u m b e r when it is rolled.
SOLUTION: There are six possible outcomes when a die is rolled, of which t h r e e are primes: 2, 3, and 5. The probability of obtaining a prime is twice t h a t of a nonprime; t h a t is, p(prime) = 2p(nonprime). Since the sum of the probabilities of the various possible outcomes is 1, 3p(prime) + 3p(nonprime) = 1. T h a t is, 6p(nonprime) + 3p(nonprime) = 1 So
Thus
1 p(nonprime) = 9 2 p(prime) = 2 p ( n o n p r i m e ) = 9
Then p(odd number) = p(1) + p ( 3 ) + p ( 5 ) 1
2
2
5
II We now proceed to the inclusion-exclusion and addition principles in probability. So we begin with a familiar definition.
Mutually Exclusive Events Two events A and B are m u t u a l l y e x c l u s i v e if A n B = O, t h a t is, if they cannot occur simultaneously. For example, suppose a card is drawn from a s t a n d a r d deck of cards. Drawing a red queen and drawing a black king are m u t u a l l y exclusive events. The inclusion-exclusion principle and the addition principle in probability come into service for such circumstances. (Outcomes of any e x p e r i m e n t are assumed equally likely, unless noted otherwise.) ( I n c l u s i o n - E x c l u s i o n P r i n c i p l e ) If A and B are any two events of a finite sample space S, the probability t h a t at least one of t h e m will occur is given by p ( A u B) = p(A) + p ( B ) - p ( A N B).
PROOF: By the inclusion-exclusion principle on sets, I A u B I = IAI + IBI - IANBI
6.8 Discrete Probability (optional)
415
Then IA w BI = IAI § IBI ISI ISI ISI
IA n BI ISI
That is,
p(A u B) - p(A) + p(B) - p(A N B)
m
In particular, if A and B are m u t u a l l y exclusive, A N B - ~ and hence p ( A N B ) - O. Therefore, p ( A U B ) - p ( A ) + p ( B ) , which can be stated formally as follows. ( A d d i t i o n P r i n c i p l e ) If A and B are two mutually exclusive events of a finite sample space, p(A U B) - p ( A ) +p(B). m As in sets, these two results can be extended to any finite n u m b e r of events of a finite sample space. The following example uses the inclusion-exclusion principle. ~
A survey among 50 housewives about the two laundry detergents Lex (L) and Rex (R) shows t h a t 25 like Lex, 30 like Rex, 10 like both, and 5 like neither. A housewife is selected at r a n d o m from the group surveyed. Find the probability that she likes neither Lex nor Rex.
SOLUTION: Using the Venn diagram in Figure 6.35, we have: p(L)-
25 1 50 - 2' p ( R ) -
30 50
3 g, and p ( L N R ) -
10 50-
1 5
p ( L U R ) - p ( L ) +p(R) - p ( L N R ) 1 2
~
+
3 5
1 5
9 10
So
p(L' NR') -- 1 - p ( L U R) =1
F i g u r e 6.35
9 10
1 10
S
5 (We could read this answer directly from the Venn diagram.)
m
416
Chapter6 Combinatoricsand Discrete Probability
Exercises 6.8 A card is drawn at r a n d o m from a s t a n d a r d deck of cards. F i n d the probability of obtaining: 1. A king.
2. A club.
3. A king or a queen.
4. A club or a diamond.
Two dice are rolled. Find the probability of obtaining: 5 Two fives.
6. A five and a six.
7. A sum of four.
8. A sum less t h a n five.
Using Example 6.45, find the probability t h a t you will: 9. Win $1000.
10. Win $100.
11. Win $10.
12. Win $5.
13. Be eligible for a drawing. Two cards are drawn at r a n d o m from a s t a n d a r d deck of cards. Find the probability that: 14. Both are kings. 15. Both are clubs. 16. One is a king and the other a queen. 17. One is a club and the other a diamond. Five marbles are selected at r a n d o m from a bag of seven white and six red marbles. Find the probability of each event. 18. All are white balls.
19. All are red balls.
20. T h r e e are white and two are red.
21. Two are white and t h r e e are green.
Let U - {a,b, c, d, e} be the sample space of an experiment, where the outcomes are equally likely. Find the probability of each event. 22. {a}
23. {a,b}
24. {a,c,d}
25. 0
A survey of 475 customers at C h e s t n u t R e s t a u r a n t shows t h a t of the three ice cream flavors m chocolate, strawberry, and vanilla m 65 like only chocolate, 75 like only strawberry, 85 like only vanilla, 100 like chocolate but not strawberry, 120 like s t r a w b e r r y but not vanilla, 140 like vanilla but not chocolate, and 65 like none of the flavors. A customer is selected at r a n d o m from the survey. Find the probability t h a t he likes: 26. All flavors.
27. Chocolate.
28. Exactly two flavors.
29. Exactly one flavor.
6.9 AdditionalTopics in Probability
417
This section presents a few additional topics in probability, namely, conditional probability, expected value, Bernoulli trials, binomial probabilities, as well as the average-case complexity of the linear search algorithm. The ensuing dice problem manifests conditional probability. Let E be the event of rolling a sum of seven with two dice. Then p(E) 6/36 = 1/6. Suppose a 3 comes up on one of the dice. This reduces the sample space to {(1, 3), (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), (3, 1), (3, 2), (3, 4), (3, 5), (3, 6)}. Consequently, a sum of 7 can be obtained in two ways: (3, 4) and (4, 3). Therefore, the probability of getting a sum of seven, knowing that a three has been rolled, is 2/11. Thus the additional information has indeed affected the probability of E. Accordingly, we make the following definition.
Conditional Probability The probability that an event A will occur, knowing that a certain other event B (~= 0) has already occurred, is the c o n d i t i o n a l p r o b a b i l i t y of A, given B. It is denoted by p ( A I B ) . ~ ~ ~ l
In Example 6.50, find the probability that a housewife selected at random from the survey likes Lex knowing that she likes Rex. SOLUTION: Since the housewife likes Rex, the sample space has 10 + 20 = 30 outcomes, of which 10 are favorable to the event L. Therefore,
p(LIR)-
10 1 30 = 3
m
In this example, you may note that p(LNR) p(R)
10/50 1 30/50 = 3 = p(LIR)
A more general powerful result arises. ~
Let A and B be any two events of a finite sample space with p(B) :/: O. Then p(AiB) - p(A n B) p(B) " PROOF: Let IA n BI = k, IAI = m + k, and IBi = n + k (see the Venn diagram in Figure 6.36). Then P(A IB)
-
n+k
418
Chapter 6 Combinatorics and Discrete Probability
F i g u r e 6.36
S
and p(ANB) p(B)
=
k/ISI k = = p ( A IB) (n + k)/ISi n + k
m
A study conducted recently in a rural area shows that the probability of a randomly selected person being allergic to oak pollen is 7/24 and the probability of being allergic to both oak and birch pollen is 3/20. Find the probability that he is allergic to birch pollen, given that he is allergic to oak pollen. SOLUTION" Let B and K denote the events of being allergic to birch pollen and oak pollen, respectively, p ( K ) - 7/24 and p ( B n K ) - 3/20. Therefore, p ( B I K ) - p ( B N K ) _-- 3/20 _-- 18 p(K) 7/24 35
m
By Theorem 6.22, p ( B IA) - p(A~B~.N That is, p ( A NB) = p ( A ) . p ( B IA). p(A)
This result expresses the probability both A and B will occur, that is, the eventA NB in terms ofp(A) andp(B IA). Accordingly, we have the following result. ( M u l t i p l i c a t i o n T h e o r e m ) Let A and B be any two events of a finite sample space. Then the probability that both A and B will occur is given by p ( A n B) - p ( A ) . p(BIA),
m
This result works for any finite number of events of a finite sample space. For example, if pl is the probability of an event A, p2 the probability of an event B after A has occurred, and P3 the probability of an event C after both A and B have occurred, the probability that the events A, B, and C will occur in that order is P lP2P3. Two marbles are drawn successively from a box of three black and four white marbles. Find the probability that both are black if the first marble is not replaced before the second drawing.
6.9 AdditionalTopics in Probability
419
SOLUTION: Let B1 be the event of drawing the first black marble. T h e n p ( B ] ) = 3/7. Let B2 be the event of drawing a second black marble. Since the first marble is not replaced before the second is drawn, there are only two black balls left in the box at the second drawing. Therefore, p ( B 2 1 B 1 ) = 2/6. Consequently, the probability of drawing two black balls successively without replacement is given by 3 2 1 p(B1 n B2) - p(B1) . p(B2 f B1) - -~ 9 --6 - -~
m
Dependent and Independent Events Two events are d e p e n d e n t if the occurrence of one event affects the probability of the other event occurring; otherwise, they are i n d e p e n d e n t . In Example 6.53, the events B] and B2 are dependent. On the other hand, if the first marble is replaced before the second is drawn, then two events would be independent. I f A and B are independent events, p ( A iB) = p(A) and p ( B IA) = p(B). Therefore, p ( A NB) = p ( A ) . p ( B IA) = p(A) .p(B). Accordingly, we have the following result. Let A and B be two independent events of a finite sample space. Then p ( A n B) = p(A) 9p(B). m Redo Example 6.53 with the first marble replaced before the second drawing.
SOLUTION: Let B 1 be the event of drawing the first black marble. Then p ( B 1) ---- 3/7. Let B2 be the event of drawing the second black marble. Since the first marble is replaced before the second is drawn, p(B2) = 3/7. Since B1 and B2 are independent events, the probability of drawing two black balls successively with replacement is given by p(B1NB2)-p(B1)
3 3 9 . p ( B 2 ) - ~ . ~ - 49
m
A concept very closely related to probability is e x p e c t e d v a l u e ; it was introduced by the brilliant Dutch m a t h e m a t i c i a n Christian Huygens (16291695). It can predict the n u m b e r of occurrences of a possible outcome if an experiment is performed m a n y times. Suppose you toss a coin 100 times. How many times would you expect it come up heads? Intuitively, you would expect a head 50 times. In practice, however, you might get a head 59 times and a tail 41 times, or a head 43 times and a tail 57 times. Nevertheless, on an average, you would expect it to fall heads 50% of the time. More generally, we make the following definition.
Chapter 6
420
Combinatorics and Discrete Probability
Expected Value If a l, a 2 , . . . , an are the numerical values of the distinct outcomes of an experiment, and p l , P 2 , . . . , Pn are the corresponding probabilities of the corresponding outcomes, the e x p e c t e d v a l u e E of the experiment is given by E = alp1
~
+ a 2 p 2 -+- . . " + a n P n .
A coin is tossed four times. How many times would you expect it falls heads? SOLUTION: The possible outcomes when a coin is tossed four times are 0, 1, 2, 3, or 1 4 6 4 1 4 heads. The corresponding probabilities are 16' 16' 16' 16' and 16' respectively. So the expected number of heads is O.
+ 1.
+ 2. ~-~ +
3 9 1-~ + 4 9 ~6 - 2, which seems intuitively right,
m
The concept of expected value plays a key role in gambling. For instance, to play the n u m b e r s game,* you bet a dollar on one of the whole numbers, 000 through 999. If yours is the winning number, you win $700; otherwise, 1 999 you lose your dollar. Clearly, p(winning) - 1000 and p(losing) - 100----6" Therefore, the average expected profit of the game is
E - $699 ( 1000) 1 + (-$1) ( 9 : : 0 )
- -30r
That E = -30r simply means if this game is played many times, you can expect to lose an average of 30r per game. In k e n o , an unbiased machine selects 20 numbers without replacement from the positive integers 1 through 80. You predict a number in advance that will be selected by the machine. To play the game, you pay $1. If your number is one of the 20 selected by the machine, you will win $3.20. 20 1 60 3 p ( w i n n i n g ) - 80 = 4 and p ( l o s i n g ) - 8 - - 0 - 4
1
3
Averageexpectedprofit-$2.20(~) +(-1)(~)--20r We now show how the concept of expected value is important in analyzing the average-case complexities of algorithms.
Average-Case Complexity of an Algorithm To compute the average-case complexity of an algorithm, let Sl, s 2 , . . . , 8n denote the input values to the algorithm. Then {sl, s 2 , . . . , Sn} denotes the *Based on A. Sterrett, "Gambling Doesn't Pay!," Mathematics Teacher, Vol. 60 (March 1967), pp. 210-214.
6.9 AdditionalTopics in Probability
421
sample space of an experiment. Let ai denote the n u m b e r of operations required by i n p u t si a n d p i the probability assigned to ai. The expected value n
E -
~ aiPi m e a s u r e s the average-case time complexity of the algorithm. i=l
To illustrate this definition, we t u r n to the linear search algorithm.
Average-Case Complexity of the Linear Search Algorithm To compute the average-case complexity of the linear search algorithm, we r e t u r n to A l g o r i t h m 4.8. Although the list contains n elements, t h e r e are n + 1 cases for the algorithm" key occurs in the list (n cases) and key does not occur in the list (one case). A s s u m e all the n items in the list are distinct and are equally likely with probability p; t h a t is, if key occurs in the list, it can be any one of the n e l e m e n t s with probability p. Let q denote the probability t h a t key does not occur in the list. T h e n n p + q = 1. If key occurs in position i, the a l g o r i t h m t a k e s i e l e m e n t comparisons to locate it with probability Pi - P and ai - i, w h e r e 1 < i _< n. Also, Pn+l - - q and an+l - n. T h u s the average-case complexity of the a l g o r i t h m is the average n u m b e r of comparisons: n+l
E
n
~_, aiPi - ~ i=l
aiPi +
an+lPn+I
i=l
=
ip
+nq-p
i
+nq
i=1
=p.
n ( n + 1) 2
+ nq
In particular, if q - 0, t h a t is, if key occurs in the list, n p - 1 and hence n+l E 2 = O(n). If q - 1, t h a t is, if key does not occur in the list, p - 0 andE-n=O(n).If0
1, t h e n n p <
land
n+l E < (1).~-t-n 2 3n+l 2 = O(n) Thus, in all cases 0 < q < n, E - O(n). Note" In E x a m p l e 4.44, we proved t h a t the average-case complexity of the a l g o r i t h m is an
--
(1 + 2 + . . . + n ) + ( n n+l
= O(n)
+ 1)
Chapter6 Combinatorics and Discrete Probability
422
The analysis employed in Example 4.44 is a special case of the above analysis 1 w i t h p - q - n + 1 in other words, all the n + 1 cases were a s s u m e d equally 1 likely with probability ~ . n+l We now t u r n to the discussion of probability of an event in a special class of experiments.
Bernoulli Trials Notice t h a t the experiment of tossing a coin t h r e e times consists of t h r e e repeated subexperiments: tossing the coin the first time, the second time, and the third time. Each is called a t r i a l . The two outcomes in a trial are called s u c c e s s and f a i l u r e , with probabilitiesp and q = 1 - p , respectively. For instance, if getting a five is considered a success when a die is rolled, then not getting a five is a failure; here p - 1/6 and q = 5/6. Repeated trials are called B e r n o u l l i trials, after the o u t s t a n d i n g Swiss m a t h e m a t i c i a n Jakob Bernoulli (1654-1705), if: 9 The trials are independent, and 9 Each trial has exactly two outcomes, success or failure. For example, the experiment of rolling a (fair) die three times consists of three independent trials. Let obtaining a five be a success in each trial. Each trial has exactly two outcomes: obtaining a five (success) and not obtaining a five (failure). In each trial, p(success) = 1/5 and p(failure) = 5/6. T h u s the experiment consists of three Bernoulli trials. ~
A (fair) die is rolled three times. Let obtaining a five be a success (S) and a non-five a failure (F). Find the probability of obtaining exactly two successes. SOLUTION: Figure 6.37 indicates the sample space for the experiment: {SSS, SSF, SFS, SFF, FSS, FSF, FFS, FFF}. Each b r a n c h of the tree is labeled with its curresponding probability. These probabilities can be used to compute the probabilities of the various outcomes. For instance,
p(SFS)=
151
5(1)2
p(exactly two successes) - p(SSF) + p(SFS) + p(FSS) 1 1 = ..... 666
5
-~
1
5
1
5
6
6
6
66
1 6
6.9 AdditionalTopics in Probability
Figure 6.37
first trial
423
second trial
third trial
outcomes SSS
s
S
F
~
SSF
S
~
SFS
F
~
SFF
S
~
FSS
F
~
FSF
S
~
FFS
F
~
FFF
F
F ~
S ~
m
The next t h e o r e m generalizes these results. Let p and q denote the probabilities of success and failure, respectively, in a Bernoulli trial. The probability of exactly k successes in a sequence of n Bernoulli trials is given by C(n,k)pkq n-k. PROOF: Since the trials are independent, the probability of obtaining k successes (and hence n - k failures) is pkqn-k. But t h e r e are C(n,k) ways of obtaining exactly k successes. Therefore, the probability of exactly k successes is
C(n,k)pkq n-k.
m
The probability C(n,k)pkq n-k is usually denoted by the b i n o m i a l p r o b a b i l i t y .
b(n,k,p);
it is called
Ten percent of the population in a s u b u r b a n town are allergic to ragweed. Five people of the town are selected at r a n d o m . F i n d the probability t h a t exactly two of t h e m are allergic to ragweed. SOLUTION: The probability t h a t a person selected at r a n d o m is allergic to r a g w e e d is p - 0.1. Therefore, by T h e o r e m 6.25,
p(exactly two are allergic) - C(5, 2)(0.1)2(0.9) 3 - 0.0729
m
C h u c k - a - l u c k is a dice game in which t h r e e dice in an enclosed cage are t h o r o u g h l y mixed. You select one of the n u m b e r s 1, 2, 3, 4, 5, or 6 before the dice come to rest, and bet $1 t h a t this n u m b e r will a p p e a r on
424
Chapter 6 Combinatorics and Discrete Probability
at least one die. Suppose you choose five. If one or more fives appear, the dollar is returned, plus $1 for each five. Compute the expected profit of the game.* SOLUTION: First, compute the probabilities of obtaining no fives, exactly one five, exactly two fives, and exactly three fives. The game can be considered a sequence of three Bernoulli trials. Let getting a five be a success. T h e n 1 5 p(success) = ~ and p(failure) - ~. Therefore, by Theorem 6.25, the binomial probability of exactly k successes is C(3, k)
, where
k = 0, 1, 2, or 3. Thus p(no fives) - C(3, 0)
(1)
p(exactly one five) - C(3, 1)
g
p(exactly two fives) - C(3, 2)
(1) (1)
p(all fives) - C(3, 3)
= 216
216 3(5)0
~
=
1 216
Expected profit - ( - $ 1 ) ( 125 2-~) + ($1)(2~6)+
($2) ( 2 ~ 6 )
+ ($3) -7.9r
m
Finally, what can we say about the sum of the binomial probabilities in a sequence of Bernoulli trials? Since p + q - 1, we have n
n
~-~ b(n,k,p) - ~--~ C(n,k)phq n-k k=0
k=0 = (p + q)n
by the binomial theorem
=1
Thus the sum of the binomial probabilities is always 1. *Based on A. Sterrett, "Gambling Doesn't Pay!," Mathematics Teacher, Vol. 60 (March 1967), pp. 210-214.
6.9 Additional Topics in Probability
425
For example, the sum of the binomial probabilities in Example 6.58 is 125 75 15 1 -1 21--6 + 2 - ~ + ~ + 21--6
Exercises 6.9
Two dice are rolled. Find the probability of obtaining each event. 1. A sum of 11, knowing t h a t a six has occurred on one die. 2. A sum of 11, knowing that one die shows an odd number. It is found t h a t 65% of the families in a town own a house, 25% own a house and a minivan, and 40% own a minivan. Find the probability t h a t a family selected at r a n d o m owns each of the following. 3. A house, given that it owns a minivan. 4. A minivan, given that it owns a house. The Sealords have three children. Assuming t h a t the outcomes are equally likely and independent, find the probability t h a t they have three boys, knowing that: 5. The first child is a boy.
6. At least one child is a boy.
7. The second child is a boy.
8. The first two children are boys.
9. One child is a girl. A survey of 475 customers at C h e s t n u t R e s t a u r a n t shows that of the three ice cream flavors--chocolate, strawberry, and v a n i l l a - - 6 5 customers like only chocolate, 75 like only strawberry, 85 like only vanilla, 100 like chocolate but not strawberry, 120 like strawberry but not vanilla, 140 like vanilla but not chocolate, and 65 like none of the flavors. Find the probability t h a t a customer selected at random from the survey: 10. Likes chocolate, given that she likes strawberry. 11. Likes strawberry, given that she likes vanilla. 12. Likes chocolate, given t h a t she does not like strawberry. 13. Likes vanilla, given that she does not like chocolate. 14. Likes chocolate, given that she does not like strawberry or vanilla. 15. Does not like chocolate, given that she does not like s t r a w b e r r y or vanilla. Two cards are drawn at r a n d o m successively from a standard deck. The first card is replaced before the second is drawn. Find the probability that: 16. Both are queens.
426
Chapter 6 Combinatorics and Discrete Probability
17. Both are clubs. 18. The first is a club and the second a spade. 19. The first is a heart and the other a green ace. 20-23. Redo Exercises 16-19 assuming no replacement. There are 15 rabbits in a cage. Five of them are injected with a certain drug. Three of the 15 rabbits are selected successively at random for an experiment. Find the probability that: 24. Only the first rabbit is injected with the drug. 25. Only the second rabbit is injected with the drug. 26. Only the first two rabbits are injected with the drug. 27. Only the last two rabbits are injected with the drug. 28. Ted and Ned are rolling a die. If a five appears Ned receives $3 from Ted; otherwise, he loses 50r to Ted. Compute Ned's expected winnings. 29. Two dice are rolled. If a sum of six appears, Randy gets $6 from Wanda; otherwise, he loses $3 to her. Compute Randy's expected winnings. 30. A typical roulette wheel contains 38 slots. Two of them are numbered 0 and 00, and the others are numbered 1 through 36. The slots 0 and 00 are green; of the remaining 36 slots, 18 are red and the others black. A rolled ball has an equal chance of falling into any of the slots. If you bet $1 on a number and the ball lands in that slot, then you receive $35 in addition to the bet. Find your expected winnings. 31. In Exercise 30, if you bet $1 on a red number and the ball lands there, you receive $1 plus your bet. Find your expected profit. A die is rolled four times. Find the probability of obtaining: 32. All sixes.
33. Exactly one six.
34. Exactly two sixes.
35. Exactly three sixes.
36. At least one six.
37. Not more than two sixes.
A survey shows that 20% of the adults in Simpleton have high blood pressure. A sample of four adults is selected at random. Find the probability that: 38. They all have high blood pressure. 39. Exactly one of them has high blood pressure. 40. Not more than two of them have high blood pressure. 41. Not all of them have high blood pressure. 42. For the casino game f o o t b a l l pools, a list of 10 football games is printed on a ticket. If one team is considered weaker than its opponent
Chapter Summary
427
by t h e people who r u n the pool, t h a t t e a m is given e n o u g h p o i n t s to m a k e the g a m e a tossup. T h u s t h e probability of picking a w i n n i n g t e a m is 0.5. You pay $1 to play t h e g a m e a n d select all 10 w i n n e r s . If all y o u r selections win, you get $150; if nine win, you receive a consolation prize of $20; otherwise, you lose y o u r dollar. C o m p u t e y o u r expected profit. (A. S t e r r e t t , 1967) *43. Let p denote t h e probability of success in a Bernoulli trial. P r o v e t h a t the expected n u m b e r of successes in a sequence of n Bernoulli trials is n p . ( H i n t : Use the binomial t h e o r e m . )
This c h a p t e r p r e s e n t e d the f u n d a m e n t a l s of combinatorics a n d discrete probability. The c o u n t i n g principles in Section 6.1 are the c o r n e r s t o n e of combinatorics.
The Fundamental Counting Principles 9 A d d i t i o n P r i n c i p l e I f A and B are two m u t u a l l y exclusive t a s k s a n d can be done in m and n ways, respectively, t a s k A or B can be done in m + n ways (page 344).
9 Inclusion-Exclusion Principle Suppose t a s k A can be done in m ways and t a s k B in n ways. If both can be done in k ways, t a s k A or B can be done in m + n - k ways (page 345). 9 Multiplication Principle If t a s k Ti can be done in m 1 ways a n d t a s k T2 in m2 ways c o r r e s p o n d i n g to each way T1 can occur, these two t a s k s can be done in t h a t order in m i r a 2 ways (page 345).
Permutations 9 An r - p e r m u t a t i o n of a set of n distinct e l e m e n t s is an ordered a r r a n g e m e n t of r e l e m e n t s of the set. The n u m b e r of r - p e r m u t a t i o n s of a set of size n is denoted by P ( n , r ) (page 352). n! 9 P(n,r)
-
( n - r)!
(page 353);
P(n,n)
-
n!
(page 353).
9 A cyclic p e r m u t a t i o n is a circular a r r a n g e m e n t . The n u m b e r of cyclic p e r m u t a t i o n s of n distinct items is (n - 1)! (page 355). 9 P ( n , r) = P ( n -
1, r ) + r P ( n - 1, r -
1)
(page 356).
Derangements 9 A d e r a n g e m e n t is a p e r m u t a t i o n of n distinct items a l , a 2 , . . . , a n such t h a t no i t e m ai occupies position i, w h e r e 1 < i < n (page 360).
Chapter 6 Combinatorics and Discrete Probability
428
9 The n u m b e r of d e r a n g e m e n t s D n of n items satisfies two r e c u r r e n c e relations: n>2
1)(Dn-1 § D n - 2 ) , where Do - 1 and D1 - 0
Dn -(n-
Dn - nDn-1
§
( - 1 ) n,
(page 362)
n > 1 (page 363)
where Do = 1 [ 1 - - : : 1.1§12!4 7 Z!
9 Dn-n!
( - n, 1)n ] ,n>_O
(page 363).
Combinations
9 An r-combination of a set of n elements is a subset with size r, where 0 < r < n. The n u m b e r of r-combinations is denoted by C ( n , r ) or( n ) 9 C(n,
(page 366).
r) =
n~
(page 366)
r!(n-r!)
9 Pascal's identity
C ( n , r) -
C ( n , r) - C ( n , n - r)
1, r - 1) + C ( n - 1, r)
C(n -
(page 369) (page 370).
9 P e r m u t a t i o n s w i t h R e p e t i t i o n s The n u m b e r of p e r m u t a t i o n s of n items where nl are alike, n2 are a l i k e , . . . , and n k are alike, is given by
nI
9
(page 376).
nl!n2!...nk!
9 C o m b i n a t i o n s w i t h R e p e t i t i o n s The n u m b e r of r-combinations with repetitions from a set with size n is C ( n + r - 1, r) (page 380). 9 Let Xl, X 2 , . . . ,Xn be n nonnegative integer variables. The equation X l + x2 + . . . + Xn - r has C ( n + r - 1, r) integer solutions (page 381). 9 The binomial
theorem
Let x and y be real variables and n any
nonnegative integer. T h e n
n ( n)
(X § y ) n _ E
xn-ryr
(page 389)
r----0 n
9
~
C(n,r)
(page 391)
- 2n
r=0
9 The n u m b e r of surjections N from a finite set A to a finite set B is given by
n N = E(-1)
(:) r
( n - r) m
r=0 where IAI = m, IB] - n, and m > n
(page 403).
Chapter Summary
429
9 The n u m b e r of d e r a n g e m e n t s N of n items is given by n
Y--~--~(-1)r(n)(n-r)!
(page 406)
r=O
Discrete Probability 9 Let E be an event of a finite sample space S consisting of equally likely outcomes. T h e n p ( E ) - IEI/ISI (page 410). 9 If the outcomes are not equally likely, p ( E ) denotes the probability of outcome ai ~ E
~ p ( a i ) , where p(ai) (page 414).
9 I n c l u s i o n - E x c l u s i o n P r i n c i p l e I f A and B are any two events, t h e n (page 414).
p ( A u B) = p ( A ) + p ( B ) - p ( A N B)
9 A d d i t i o n P r i n c i p l e If A and B are m u t u a l l y exclusive events, t h e n p ( A u B) - p ( A ) + p ( B ) (page 415).
Conditional Probability 9 M u l t i p l i c a t i o n T h e o r e m p ( A n B) - p ( A ) 9p(BIA)
(page 418).
9 The e x p e c t e d value E of an experiment with numerical outcomes n
a l , . . . ,an is given by E - ~ aip(ai)
(page 420).
i=l
Bernoulli Trials 9 Repeated trials of an experiment are B e r n o u l l i t r i a l s if: They are independent; Each trial has exactly two outcomes; and P(outcome) remains the same in every trial
(page 422).
9 The b i n o m i a l p r o b a b i l i t y of exactly k successes in a sequence of n Bernoulli trials is given by b ( n , k , p ) - C ( n , k ) p k q n-k, where p - p(success) and q - p(failure) (page 423).
Review Exercises Find the n u m b e r of positive integers < 2076 and divisible by: 1. 3 or 4.
2. 3 or 4, but not 12.
3. 2, 3, or 5, but not 30.
4. 3, 4, or 5, but not 60.
5. In F O R T R A N 77, a variable n a m e consists of six a l p h a n u m e r i c characters, beginning with a letter. Find the total n u m b e r of legal variable names possible.
430
Chapter 6 Combinatorics and Discrete Probability
In C+ +, an identifier consists of a letter followed by a n y n u m b e r of a l p h a n u m e r i c characters. How m a n y such identifiers of length six: 6. End in a letter?
7. End in a digit?
8. Are palindromes?
9. Are not palindromes?
A license plate n u m b e r in Connecticut consists of two letters followed by four digits. Find each. 10. The total n u m b e r of license plates possible. 11. The n u m b e r of license plates t h a t end in GREEN. 12. The n u m b e r of license plates t h a t end in JAVA. Find the n u m b e r of t e r m s in the expansion of each.
13.(i=~oai)(i=~obi(i)3=~_lCi) (i=~_2ai) (i 3=~_l(ib=i)~oCi) 14.
M a s t e r M i n d is a fascinating logic game played by two players, the code
m a k e r and the code breaker. T h e r e are 72 pegs, available in six colors. The code m a k e r creates a secret code p a t t e r n using four pegs in a row. The code breaker tries to figure out the code. Find the n u m b e r of coding p a t t e r n s possible if: 15. T h e r e are no restrictions on the use of colors. 16. The same color cannot be repeated. 17-18. Redo Exercises 15 and 16 if pegs are available in seven colors. Find the n u m b e r of ways three dahlias, four cannas, and five zinnias can be planted: 19. In a row such t h a t all plants of the same family are next to each other. 20. In a row such t h a t the zinnias are planted in between the other two families of plants. 21. In a circle. 22. In a circle such t h a t all plants of the same family are next to each other. Find the n u m b e r of t e r n a r y words t h a t can be formed of: 23. Length 10.
24. Length at most 10.
Find the n u m b e r of subcommittees t h a t can be formed from a 10-member committee such t h a t each contains: 25. At least seven members.
26. At most five members.
A s t a n d a r d deck of playing cards contains 52 cards. n u m b e r of: 27. Poker hands (five cards).
Find the total
Chapter Summary
431
28. Flushes (all cards of the same suit). 29. Full houses (three of one kind and two of another). Find the n u m b e r of ways the letters of each word can be scrambled. 30. T E N N E S S E E
31. M I S S I S S I P P I
How many words of length six over the alphabet {a, b, c, d, e} contain: 32. Two a's, three b's, and one c.
33. Three a's and three b's.
(A m o d i f i e d h a n d s h a k e p r o b l e m ) Mr. and Mrs. Matrix hosted a party for n married couples. Each person shook hands with everyone else, excluding his or her spouse. No person shook hands with himself or herself. Let h ( n ) denote the n u m b e r of h a n d s h a k e s made. 34. Using induction, prove t h a t h ( n ) - C ( 2 n - 1, 2) + (n - 1), n > 0. 35. Derive a recurrence relation satisfied by h ( n ) . 36. Show t h a t h ( n ) - 2 n ( n -
1), n > 0.
A local fast food r e s t a u r a n t serves four types of pizza m pepperoni, mushroom, cheese, and onion. Find the n u m b e r of different pizza orders possible by: 37. Six students.
38. Seven students.
39-40. Redo Exercises 37 and 38, using generating functions. Find the n u m b e r of nonnegative integer solutions of each equation. 41. Xl +
42. Xl ~- X2 ~- X3 -~ X4 + X5
X2 + X3 + X4 - - 8
--
12
Find the coefficient of each. 43. x4y 7 in the expansion of ( x - y)ll 44. x5y 5 in the expansion of (2x + 3y) 1~ Using the binomial theorem, expand each. 45. (x + y)6
46. ( x - 2y) 4
47. ( 3 x - y)5
48. (2x + 3y) 5
49. Prove t h a t C(n, r) is an integer for every integer n > 0, where 0 _< r < n. n
50. Prove by induction t h a t ~ C(i, r) - C(n + 1, r + 1). i=r
( T w e l v e d a y s o f C h r i s t m a s ) Suppose you sent your love 1 gift on the first day of Christmas, 1 + 2 gifts on the second day, 1 + 2 + 3 gifts on the third day, and so on. Show t h a t the n u m b e r of gifts: 51. Sent on the n t h day is C ( n + 1, 2). 52. Received by your love in the first n days is C ( n + 2, 3).
Chapter 6 Combinatorics and Discrete Probability
432
Let Dn denote the n u m b e r of d e r a n g e m e n t s of n items. Prove each. 53. The n u m b e r of p e r m u t a t i o n s of n items with exactly k of t h e m in t h e i r n a t u r a l positions is C(n,k)Dn_k, where 0 < k < n.
54. C(n, O)Do + C(n, 1)D1 § ... + C(n,n)Dn - n!, n > 0 55. Find the sum of the n u m b e r s in rows 0 t h r o u g h n - 1 of Pascal's triangle. Let A(n, r) denote the n u m b e r of additions needed to compute C(n, r) using recursion. 56. Find A(n, 0) and A(n, n). 57. Find an explicit formula for A(n, 1). *58. Find the recurrence relation satisfied by A(n, r). *59. Prove t h a t A(n, r) - C(n, r) - 1. *60. Find the probability of obtaining no two consecutive heads w h e n a coin is tossed n times. 61. A contractor bids to construct a shopping plaza. It has been e s t i m a t e d t h a t there is a 5/8 probability t h a t she would m a k e a profit of $3 million, and a 3/8 probability t h a t she would lose $4 million. C o m p u t e her expected profit. 62. A construction company is bidding on two contracts to build apartm e n t complexes in Janesville and Jeansville. The probabilities t h a t the two bids will be accepted are 60% and 80%, respectively, and the bidding expenses are $100,000 and $150,000, respectively. It is estimated t h a t the company will make profits of $3 million from Janesville and $2.3 million from Jeansville. In which location should the company be more interested? It is found that 10% of the snow blowers m a n u f a c t u r e d by a certain company need repair before they can be sold. Five snow blowers are selected at random. Find the probability that: {}3. At least one needs repair.
Supplementary
64. Not all need repair.
Exercises Prove each, where Cn denotes the n t h Catalan number. 1. The product of any r consecutive positive integers is divisible by r!. 2. C(2n, n) is an integer for every n > 0.
3. (n + 1) l C(2n, n) for every n > 0. 4. p lC(p, r), where p is a prime and 0 < r < p.
433
Chapter Summary
C(2n + 1, n) .
6.
C n
Cn =
2n+1 2(2n - 1) Cn-l,n n+l
>_1
7. ( P r o b l e m e des M e n a g e s ) Let Mn denote the n u m b e r of ways n married couples can be seated around a round table with men and women in alternate chairs and no wife next to her husband. It can be shown that n
Mn - n! + E ( - 1 ) k=l
k
2n ( 2 n k k ) ( n _ k ) ' 2n - k
(E. Lucas)
Compute M5 and M6. 8. Prove that
(n--i) (r : i) (n ; i) _ (n ; i) (n : i ) (r n i) Evaluate each.
k=O *10.
**11.
~n ( k ) k a k=O
(N. J. Kuenzi and B. Prielipp, 1985)
n-1 d n-d-l(jwk)
~ ~ ~ d= 1 j=0 k-0
j
(U.S.A Mathematical Olympiad, 1991)
"12. Guess the number of odd binomial coefficients in row n of Pascal's triangle. (Hint: Compare the number of odd binomial coefficients in row n and the binary expansion of n.)
a,b ~ W, a - (anan-1 ""a0)two, ai >_bi for every i, we say a i m p l i e s
and b - (bnbn-1 ""b0)two. If b and write a ~ b; otherwise a :~ b. Determine if 43 ~ 25 and 47 ~ 29.
13. Let
14. The binomial coefficient C(n,r) is odd if and only if n =~ r. Using this fact, determine the p a r i t y (oddness or evenness) of C(25, 18) and C (29, 19). (See Exercise 13. ) Let f(n,k) denote the number of k-element subsets of the set S = {1, 2 , . . . , n} that do not contain consecutive integers. (I. Kaplansky) 15. Define 16. Prove
f(n,k) recursively. that f(n, k) - C(n - k + 1, k).
434
Chapter6 Combinatoricsand Discrete Probability 17. Prove t h a t the total n u m b e r of subsets of S t h a t do not contain consecutive integers is Fn+2, where Fn denotes the n t h Fibonacci number. An ordered pair of subsets (A, B) of the set Sn -- {1, 2 , . . . , n} is a d m i s s i b l e i f a > IBI for e v e r y a e A a n d b > IAI for e v e r y b e B. For example, ({ 2, 3 }, {4 }) is an admissible pair of subsets of $4. 18. Find the various admissible ordered pairs of subsets of the sets So, $1, and $2. "19. Predict the n u m b e r of admissible ordered pairs of subsets of Sn.
Computer Exercises Write a program to perform each task, where n ~ 1~ and n < 20. 1. Read in positive integers n and r, where r < n < 10, and compute P(n, r), using Theorem 6.4 and recursion. 2. Print the n u m b e r of d e r a n g e m e n t s Dn of n distinct items using the recursive definition (6.1), the alternate recursive definition (6.3), and the explicit formula in Theorem 6.9. 3. Print the values ofpn -
Dn 1 n! and e- correct to 10 decimal places, for
comparison. 4. Read in positive integers n and r, where 0 < r < n , and compute C(n, r) using Theorem 6.10 and recursion. 5. P r i n t all solutions of the equation Xl + x2 + x3 - 5, where Xl,X2,X 3 E W. Also print all solutions i f x l , x 2 , x 3 E 1~. 6. Compute the nth Catalan number, using recursion. 7. P r i n t all bytes in increasing order. 8. Print in tabular form all binary words of length n and the corresponding subsets of the set {1, 2, 3 , . . . , n}. 9. Print Pascal's triangle, as indicated below: 9 As in Figure 6.21 9 Right-justified 9 Left-justified
E x p l o r a t o r y Writing P r o j e c t s Using library and I n t e r n e t resources, write a team report on each of the following in your own words. Provide a well-documented bibliography.
Chapter Summary
435
1. Study the number of plates on automobiles in your state and neighboring states. Create a combinatorial problem that will generate such license plate numbers in each system. 2. Investigate the origin of binomial coefficients and the two-level parentheses notation. 3. Study the numerous properties of binomial coefficients, including their parity. 4. Examine the history of Pascal's triangle. Why is Pascal's triangle named after Pascal? 5. Investigate the numerous properties of Pascal's triangle. Explain how figurate numbers, Fibonacci numbers, and Catalan numbers can be extracted from it. 6. Extend Pascal's triangle upward, the definition of the binomial coefficient C(n,r) to include negative and fractional values of n, and the binomial theorem to fractional exponents. 7. Discuss the number of ways n rooks of n different colors can be placed on an n x n chessboard such that no two rooks can attack each other. 8. Investigate the properties of Bell numbers and their applications to combinatorics. Include a biography of E. T. Bell. 9. Define Stirling numbers of the first and second kind. Include their applications to combinatorics and a biography of J. Stirling. 10. Discuss Eulerian numbers and their relationships to Stirling numbers. 11. Discuss Bernoulli numbers, named after Jakob Bernoulli (1654-1705), and their relationships with power series and the tangent function. 12. Write an essay on the inclusion-exclusion principle. 13. Study the origin of discrete probability. 14. Describe the various casino games and compute the expected value of each. 15. Examine the Hardy-Weinberg probabilities in population genetics, named for the English mathematician Godfrey. H. Hardy (18771947) and the German physician Wilhelm Weinberg (1862-1937) who published them independently in 1980.
Enrichment Readings 1. G. Berman and K. D. Fryer, Introduction to Combinatorics, Academic Press, New York, 1972, pp. 35-125. 2. K. P. Bogart, Introductory Combinatorics, Pitman, Boston, MA, 1983.
436
Chapter 6 Combinatorics and Discrete Probability
3. P. Z. Chinn, "Inductive Patterns, Finite Differences, and a Missing Region," Mathematics Teacher, Vol. 81 (Sept. 1988), pp. 446-449. 4. D. I. A. Cohen, Basic Techniques of Combinatorial Theory, Wiley, New York, 1978, pp. 13-178. 5. J. Dugle, "The Twelve Days of Christmas and Pascal's Triangle," Mathematics Teacher, Vol. 75 (Dec. 1982), pp. 755-757. 6. P.O. Eckhardt, "Discretely Deranged Squares," Mathematics Teacher, Vol. 83 (April 1990), pp. 318-320. 7. A.W.F. Edwards, Pascal's Arithmetical Triangle, The Johns Hopkins University Press, Baltimore, MD, 2002. 8. M. Eng and J. Casey, "Pascal's Triangle--A Serendipitous Source for Programming Activities," Mathematics Teacher, Vol. 76 (Dec. 1983), pp. 686-690. 9. B. W. Jackson and D. Thoro, Applied Combinatorics with Problem Solving, Addison-Wesley, Reading, MA, 1990, pp. 42-133. 10. B. H. Litwiller and D. R. Duncan, "Poker Probabilities," Mathematics Teacher, Vol. 70 (Dec. 1977), pp. 766-771. 11. C. Oliver, "The Twelve Days of Christmas," Mathematics Teacher, Vol. 70 (Dec. 1977), pp. 752-754. 12. J. Varnadore, "Pascal's Triangle and Fibonacci Numbers," Mathematics Teacher, Vol. 84 (April 1991), pp. 314-316, 319.
Chapter 7
Relations The invention of the symbol - by Gauss affords a striking example of the advantage which may be derived from an appropriate notation, and marks an epoch in the development of the science of arithmetic. --
G. B. MATHEWS
F
unctions are a special case of relations, which are also used in everyday life. Relations have applications to many disciplines, including biology, computer science, psychology, and sociology. The EQUIVALENCE statement in FORTRAN, for example, is based on the relation has the s a m e location as (see Example 7.42). Graphs, digraphs, formal languages, finite state m a c h i n e s - all to be discussed in the next four c h a p t e r s - - a r e closely related to the theory of relations. In this chapter we will examine the concept of a relation, its computer representations and properties, and different ways to construct new relations from known ones. We will deal with the following problems, as well as others: 9 Is it possible to arrange all n-bit words around a circle in such a way that any two adjacent words differ by exactly one bit? 9 Can we determine the day corresponding to a given date m/d/y, where y > 1582, the year the Gregorian calendar was adopted? 9 Five sailors and a monkey are marooned on a desert island. During the day they gather coconuts for food. They decide to divide them up in the morning and retire for the night. While the others sleep, one sailor gets up and divides them into equal piles, with one left over that he throws out for the monkey. He hides his share, puts the remaining coconuts together, and goes back to sleep. Later a second sailor gets up and divides the pile into five equal shares with one coconut left over, which he discards for the monkey. He also hides his share, puts the remaining coconuts together, and goes back to sleep. Later the remaining sailors repeat the process. Find the smallest possible number of coconuts in the original pile. 437
Chapter 7 Relations
438
9 The computer science courses required for a c o m p u t e r science major at a college are given in Table 7.1. In which order can a s t u d e n t t a k e them? T a b l e 7.1
Number
CS CS CS CS CS CS CS CS
100 150 200 250 300 350 400 450
Course
Prerequisite
Computer Science I Computer Science II Computer Organization Data Structures Computer Architecture Programming Languages Software Engineering Operating Systems
None CS 100 CS 150 CS 150 CS 200 CS 250 CS 250 CS 250, CS 300
A special class of matrices called boolean matrices is used to s t u d y relations, so we begin with a brief discussion of such matrices.
(This section is closely related to Section 3.7 on matrices; you will probably find t h a t section useful to review before reading further.) A b o o l e a n m a t r i x is a matrix with bits as its entries. T h u s A - ( a i j ) m • [101] is a boolean matrix if a i j - 0 or i for every i a n d j . For instance, 0 1 0 is a boolean matrix, whereas
[1
is
not.
Boolean Operations and and or
The boolean operations a n d (A) and o r (v), defined by Table 2.1, signal the combining of boolean matrices to construct new ones. Listed below are several properties of these bit operations. They can be verified easily, so try a few. Let a and b be a r b i t r a r y bits. Then: 9 aAa=a
9 a Ab
9 ava=a
9 a v b = b v a
9 aA(bAc)=(aAb)Ac
9 av(bvc)=(avb)vc
9 av(bAc)=(avb)A(avc)
9 aA(bvc)=(aAb)v(aAc)
=b
Aa
n
Using the two bit-operations, we now define two operations on boolean matrices.
7.1 BooleanMatrices
439
Join and Meet The j o i n of the boolean matrices A = ( a i j ) m x n and B - ( b i j ) m x n , denoted by A v B, is defined by A v B = (aij v b i j ) m x n . Each element of A v B is obtained by o r i n g the corresponding elements of A and B. The m e e t of A and B, denoted by A A B, is defined by A A B - (aij A bij)m • Every element of A A B is obtained by a n d i n g the corresponding elements of A and B. The following example illustrates these two definitions. ~
Let
o1 0,]
and
Foo0
B =
,]
1
Find A v B and A A B. SOLUTION:
[,v00v0 l v,] [,01] Or1 lvO Or1 - 1 1 1 AA _[ A0 0AO 0 '] AvB=
A1
1A0
0A1
0
0
II
Boolean Product The b o o l e a n p r o d u c t of the boolean matrices A - ( a i j ) m x p and B ( b j k ) p x n , denoted by A | B, is the m a t r i x C - ( c i j ) m • where cij ( a l l A b l j ) v (ai2 A b2j) v . . . v (aip A bpj). (See Figure 7.1).
F i g u r e 7.1 all
I
a12
...
alp
ai2
...
a m. 2. . .. ...
aip amp
@
Cll
Clj
...
Cln
...
cij
...
tin
b; 1 . . . . . . bpj . . . ... . . . b .p n.J . . .LCml . . . ...
Cmj
...
Cmn
-bll
...
blj
...
. . . . . . . . . . . . . bil
bin 1
i~~
...
bij
...
b n
.
.
.
......... =
Oil
Notice the similarity between this definition and t h a t of the usual product of matrices. The next example clarifies this definition. Let
A-
0
1
Find A @ B and B | A, if defined.
and
B=[!i]
440
Chapter 7
Relations
SOLUTION:
(1) Since the n u m b e r of columns in A equals the n u m b e r of rows in B, A | B is defined:
101J [1!]
A(I)B-
0
1
0 (D
1
0 _
r(1 A 1) v
(o A 1) v (1 A 0)
-- L(0A1) V ( 1 A 1 ) V ( 0 A 0 )
(1 A O) v (0 A 1) v (1 A 0)] (0 A O) V (1 A 1) v (0 A O)
J
Ol] (2) N u m b e r of columns i n B - 2 - N u m b e r of rows inA. Therefore, B ( D A is also defined:
B (i) A =
=
(1 A 1) V (0 A 0) (1A1) V(1A0) (0 A 1) V (0 A 0)
=
1 1 0
0 1 0
(1 A 0) v (0 A 1) (1 A 0) V (1 A 1) (0 A 0) V (0 A 1)
(1 A 1) v (0 A 0)~ (1 A 1) v (1 A 0) (0 A 1) V (0 A 0)
J
1] 1 0 m
The f u n d a m e n t a l properties of the boolean m a t r i x operations are listed in the following theorem. Their proofs being fairly straightforward, a p p e a r as routine exercises (see Exercises 36-43). Let A, B, and C be three boolean matrices. Then: 9 A vA
=A
9 AAA=A
9 AvB=BvA
9 AAB
9 Av(BvC)=(AvB)vC
9 AA(BAC):(AAB)AC
9 Av(BAC)=(AvB)A(AvC)
9 AA(BvC)=(AAB)v(AAC)
=B
AA
9 A(i)(B(DC)=(A(DB)(DC
The sizes of the matrices are a s s u m e d compatible for the c o r r e s p o n d i n g matrix operations, m
7.1 BooleanMatrices
441
Boolean Power of a Boolean Matrix
Let A be an m x m boolean matrix and n any positive integer. The n t h b o o l e a n p o w e r of A, denoted by A In], is defined recursively as follows"
A [~ - Im A [nl - A [n-l] Q A
(the identity matrix) ifn > 1
The following example illustrates this definition. Let A-
[ li] 1 0
Compute A [21 and A 131. SOLUTION:
1!] [11!] Ill i] Ill i] Ill i]
A 121 - A [11 (3A - A (3A - I11 1 0 0
A TM - A 121 @A -
1 0
1 0
(3
il @ [!
1 0
1 0
1 0
-
-
1 0
1 0
1 0
1 0
(You can verify that in this case, A Inl -- A for every n >_ 1.)
m
You will find boolean matrices and their properties useful in the next few sections, so review them as needed. Exercises 7.1
Using the boolean matrices
~ [~ ~]~ [01
~]'andC-I0
~]
find each. 1. A v B
2. A A B
3. A @ C
4. C @ A
5. A v ( B v C )
6. A / x ( B / x C )
7. A @ ( B @ C )
8. (A@B) @ C
Using the boolean matrices A-
find each.
01] [i01] I 1 0 1
0 0 ,B= 1 0
1 0
0 0
,andC-
[i0!] 0 1
442
Chapter 7 Relations
9. AA (BvC)
I0. Av(BAC)
11. (A A B ) v (A A C)
12. (AvB) A(AvC)
13. (A A B) v (A v C)
14. A (3 (B (3 C)
15. (A (i) B ) (!) C
16. B @C (!)A
17. A @ A @ A
18. Using the boolean matrix
A-
[i0 1] 1 0
0 1
find A [31 and A I51. Let A and B be any two n x n boolean matrices. Find the n u m b e r of boolean operations needed to compute each. 19. A v B
20. A A B
21. A @ B
22. Find the n u m b e r of m x n boolean matrices t h a t can be defined. 23. Let A be an m x p boolean matrix and B a p x n boolean matrix. Find the n u m b e r of boolean operations needed to compute A (3 B. 24. For the boolean m a t r i x A in Example 7.3, prove t h a t A Inl = A for every n>l. The c o m p l e m e n t of a boolean matrix A, denoted by A', is obtained by taking the one's complement of each element in A, t h a t is, by replacing O's with l ' s and l ' s with 0's. Use the boolean matrices A, B, and C in Exercises 1-8 to compute each. 25. A'
26. B'
27. (A v B)'
28. A ' A B'
29. (A A B)'
30. A' v B'
31. A A (B' v C')
32. (A (3 B) (i) C'
Let A and O be two m x n boolean matrices such t h a t every entry of A is 1 and every entry of O is 0. Let B be any m x n boolean matrix. What can you say about each? 33. A v B
34. A A B
35. A'
Let A, B, and C be any n x n boolean matrices. Prove each. 36. A v A = A
37. A A A = A
38. A v B = B v A
39. A A B = B A A
40. A v (B v C) = (A v B) v C
41. A A (B A C) = (A A B) A C
42. A v ( B A C ) = ( A v B ) A ( A v C )
43. A A ( B v C ) = ( A A B ) v ( A A C )
Write an algorithm to find each. 44. The join of two boolean matrices A and B. 45. The meet of two boolean matrices A and B.
7.2 Relations and Digraphs
443
46. The complement of a boolean matrix A. 47. The boolean product of two boolean matrices A and B. 48. The n t h boolean power of an m x m boolean matrix A.
Clearly m a n y relationships exist in the world around us. On the h u m a n level, they are parent-child, husband-wife, s t u d e n t - t e a c h e r , doctorpatient, and so on. Relationships exist between n u m b e r s also; the equality relation ( - ) and the less-than relation (<) are two such relationships. In fact, relationships can exist between any two sets; they are k n o w n as relations. This section presents the concept of a relation and discusses how relations can be represented using matrices and graphs. Before formally defining a binary relation, let us study an example. Consider the sets A - {Tom, Dick, Harry} and B - {Amy, Betsy, Carol, Daisy}. Suppose Tom is married to Daisy, Dick to Carol, and H a r r y to Amy. Let R = {(Tom, Daisy), (Dick, Carol), (Harry, Amy)}. Using the set-builder notation, it can also be defined as R = {(a, b) E A x Bla is married to b} Notice that R c_ A x B. It is defined using the relation is married to. The set R is a b i n a r y r e l a t i o n from A to B. 9 More generally, we make the following definition.
Binary Relation A b i n a r y r e l a t i o n R from a setA to a set B is a subset ofA xB. The d o m a i n of the relation consists of the first elements in R and the r a n g e consists of the second elements; they are denoted by d o r a ( R ) and r a n g e ( R ) , respectively. A binary relation from A to itself is a binary relation o n A. The following example illustrates these terms. ~
Let A - {2, 3, 5} and B - {2, 3, 4, 6, 7}. Define a relation R from A to B as follows: R - {(a, b)la is a factor of b} Then R - {(2, 2), (2, 4), (2, 6), (3, 3), (3, 6)}, dom(R) = {2, 3}, and range(R) {2,3,4,6}. m
Chapter ? Relations
444
Let R be a relation from A to B. If (a, b) e R, we say a is r e l a t e d to b by the relation R; in symbols, we write aRb. If a is not related to b, we write aRb. For instance, 3 < 5, but 7 ~ 6. (Here the relation is <.) The next example illustrates this further.
I I I I
Let A be the set of cities and B the countries in the world. Define a relation R from A to B, using the phrase is the capital of. So R - {(a, b) e A x BI a is the capital of b }. Then Paris R France, but Toronto R Canada. I Relations from a finite set to a finite set can be represented by boolean matrices, as defined below. Adjacency Matrix of a Relation
A relation R from a set {al,a2,... am} to a set {bl,b2,... bn} can be represented by the m x n boolean matrix MR -- (mij), where
mij-
1 0
if aiRbj otherwise
MR is the a d j a c e n c y m a t r i x of the relation R.
Define a relation R from A - {chicken, dog, cat} to B - {fish, rice, cotton} by R = { ( a , b ) l a e a t s b } . Then R = {(chicken, fish), (chicken, rice), (dog, fish), (dog, rice), (cat, fish), (cat, rice) }. Its adjacency matrix is fish chicken [1 MR -- dog 1 cat 1
F i g u r e 7.2
rice 1 1 1
cotton i] m
R
A
B
Relations can also be represented pictorially. For instance, the relation in Example 7.4 is displayed in Figure 7.2; an arrow from an element a in A to an element b in B indicates that a is related to b.
7.2 Relationsand Digraphs y
F i g u r e 7.3 The circle
X 2 -+- y2
445
_ 9.
~,~
~X
Relations can be displayed using familiar g r a p h s as well. For example, the graph o f t h e relation {(x,y) s R • R Ix 2 + y 2 : 9} is the circlex2+y 2 - 9 with center at the origin and radius 3 (see Figure 7.3).
Digraphs Relations R on a finite set A can be represented pictorially in yet a n o t h e r way. We denote every element of A by a point, called a v e r t e x (or n o d e ) , and each ordered pair (a, b) in R by a directed arc or a directed line segment, called an e d g e , from a to b. The resulting diagram is a directed g r a p h or simply a d i g r a p h . If an edge (a, b) exists, we say that vertex b is a d j a c e n t t o vertex a. (Notice the order of the vertices.) The next two examples illustrate these definitions. Represent the relation R defined on A - {2, 3, 4, 6} by the phrase is a factor of in a digraph.
SOLUTION: Notice t h a t R - {(a, b) ~ A • A la is a factor of b} = {(2, 2), (2, 4), (2, 6), (3, 3), (3, 6), (4, 4), (6, 6)} Figure 7.4 shows its digraph. It contains four vertices" 2, 3, 4, and 6. Since 3R6, vertex 6 is adjacent to vertex 3.
F i g u r e 7.4
ll
Chapter 7 Relations
446
Notice t h a t the digraph in Figure 7.4 contains an edge (x,x) leaving a n d t e r m i n a t i n g at the same vertex x. Such an edge is a loop. T h e d i g r a p h in Figure 7.4 contains four loops. We now t u r n to the concept of a p a t h in a relation, a n d hence in a digraph.
Paths in Digraphs and Relations Let R be a relation on a set A, and let a, b c A . A p a t h in R, t h a t is, in the digraph of R, from a to b is a finite sequence of edges (a, xl), ( x l , x 2 ) , . . . , (Xn-1, b); the vertices xi's need not be distinct. The p a t h from a to b is also denoted by a-x l-X2 . . . . . Xn-l-b. The n u m b e r of edges in the p a t h is its length. A p a t h t h a t begins and t e r m i n a t e s at the same vertex is a cycle. A cycle of length one is a loop. The next example clarifies these terms. Notice t h a t the relation in Figure 7.5 contains a p a t h of length t h r e e from a to b, namely, a-c-d-b. The p a t h b-c-d-b is a cycle of length three. The cycle b-b is a loop.
Figure 7.5
a
b)
m The next example p r e s e n t s an i n t e r e s t i n g relation in the language of binary words. ( G r a y C o d e s ) Suppose a switching n e t w o r k is composed of n switches ai, where I _< i < n. Let ai - i denote t h a t switch ai is closed and ai - 0 denote t h a t it is open. Every state of the n e t w o r k can be denoted by the n-bit word a l a 2 . . , a,,. Let Z '' denote the set of n-bit words, t h a t is, the set of all states of the network. For example, Z 3 _ {000, 001, 010, 100, 011, 101, 110, 111 }. Naturally, we are t e m p t e d to ask: Is it possible to test every state of the circuit by c h a n g i n g the state of exactly one switch ? T h a t is, is it possible to list every n-bit word by c h a n g i n g exactly one bit ? A n o t h e r definition can lead to r e w o r d i n g the question. Two n-bit words are a d j a c e n t if they differ in exactly one bit, t h a t is, if the H a m m i n g distance between t h e m is one. For example, 010 and 011 are adjacent, whereas 001 and 110 are not. Define a relation R on E n as aRfl if~ and fl are adjacent. We can r e p h r a s e this: Is it possible to a r r a n g e the elements ~i of E '~ in such a way t h a t o~iR(~i+l where 1 _< i < m - 1,(~mR(~l, and m - 2n? T h a t is, is it possible to a r r a n g e the n-bit words a r o u n d a circle in such a way t h a t any two neighboring words are adjacent?
7.2 Relationsand Digraphs Figure 7.6
447
110
011
)1
01
0 0 1 ~ 1 0 0 000
I n t e r e s t i n g l y enough, the e l e m e n t s of ]E 3 c a n be a r r a n g e d in this fashion (see F i g u r e 7.6): 000, 001, 011, 010, 110, 111, 101, 100. Such an o r d e r i n g is called a Gray code for E 3. More generally, a Gray c o d e for E n is an a r r a n g e m e n t of its e l e m e n t s a l , a 2 , . . . ,am such t h a t aiRai+l and amRal, w h e r e 1 < i < m - 1. G r a y codes are n a m e d for F r a n k Gray, who i n v e n t e d t h e m in the 1940s at w h a t was t h e n A T & T Bell Labs. We can r e s t a t e our original question again: Is there a Gray code for E n for every n > 1 ? I n d u c t i o n leads to an affirmative answer.
PROOF (by induction): Let P(n)" T h e r e exists a G r a y code for every E n.
Basis step
W h e n n - 1, {0, 1} is clearly a G r a y code; so P(1) is true.
Induction step
A s s u m e P(k) is true; t h a t is, t h e r e is a G r a y code for Z k. Suppose { a l , a 2 , . . . ,ar} is a G r a y code, w h e r e r - 2 k. To show that P(k + 1) is true: Consider the (k + 1)-bit words 0 a l , 0 a 2 , . . . , 0 a r , l a r , l a r - l , . . . , l a l . Clearly they form the 2r = 2 k+l e l e m e n t s of E k+l. Call t h e m ill, f12,. 9 9 fl2r, respectively, for convenience. Since aiRai+l and arRal,fljRflj+l and fl2rRfll, so {ill, f12,.-., fl2r} is a G r a y code; t h a t is, P(k + 1) is true. Thus, by induction, a G r a y code exists for every E n. (Notice t h a t the induction step provides a smooth m e t h o d for constructing a G r a y code for E k+l from t h a t of E k. This example will be t a k e n a bit f u r t h e r in C h a p t e r 8.) m
Finally, we will see how relations and functions are closely related, if we recall t h a t a function f 9 A ~ B is a set of ordered pairs (a, b) e A x B such t h a t every e l e m e n t a i n A is assigned a unique e l e m e n t b in B. Consequently, every function can be redefined as a relation, as follows.
Chapter 7 Relations
448
An Alternate Definition of a Function A f u n c t i o n f : A ~ B is a relation from A to B such that: 9 Dom(f) = A; and 9 If (a, b) e f and (a, c) e f, t h e n b = c. We close this section with an example t h a t illustrates this definition. ~
Which of the relations R, S, and T in Figure 7.7 are functions?
F i g u r e 7.7
R
S 1
a
A
B
T
a
,~ 1
A
B
a ~ ~j~l A
B
SOLUTION: The relation R is a function, whereas S is not since dom(S) r A. T is also not a function since the same element b in A is paired with two distinct elements in B, namely, 2 and 3. i
Exercises 7.2 List the elements in each relation from A = {1,3,5} to B =
{2,4,8}.
1. {(a,b) l a < b}
2. {(a,b) l b = a + l}
3. {(a,b) i a + b = 5 }
4. {(a,b) J a i s a f a c t o r o f b }
5. {(a,b) l a + b < 3 }
6. {(a,b) l a - b }
7-12. Find the domain and range of each relation in Exercises 1-6. 13-18. Find the adjacency matrix of each relation in Exercises 1-6. Represent each relation R on the given set A in a digraph. 19. {(a,b)la < b}, {2,3,5}
20. {(a,b)la < b}, {2,3,5}
21. {(a,b)la is a factor ofb}, {2,4,5,8} 22. { ( a , b ) i b = a + 2 } ,
{2,4,5,6}
Using the r e l a t i o n R - {(x,y)12x + 3y = 12} on R, determine w h e t h e r or not each is true. 23. 3R2
24. 2R3
25. - 3 R 5
26. - 5 R 6
Using the relation R = {(x,y)ix 2 + y2 = 4} on ]~, determine if each is true. 27. 2R0
28. 2R2
29. - 2 R 0
30. 4R0
449
7.3 Computer Representations of Relations (optional) Define a relation R on Z by Determine if: 31. 9R4
xRy if and only if x - y is divisible by 5.
32. 13R6
33. 3R8
34. 23R3
List the elements in the relation R represented by each digraph.
b
35.
a
36.
b
c
d 3 7 - 3 8 . Find the adjacency matrix of each relation in Exercises 35 and 36. 39. Construct a Gray code for Z 4, where Z = {0, 1}. Using the relation in Figure 7.5, find each. 40. Paths of length one starting at a. 41. Paths of length two starting at b. 42. N u m b e r of paths of length one.
43. N u m b e r of paths of length two.
44. N u m b e r three.
45. N u m b e r of loops.
of cycles of length
Determine if each relation from
{a,b,c,d} to {0, 1,2, 3, 4} is a function.
46. {(a, 0), (b, 1), (c, 0), (d, 3)}
47. {(a, 3), (b, 3), (b, 4), (c, 1), (d, 0)}
48. {(a, 3), (b, 3), (c, 3), (d, 3)}
49. {(a, 1), (b, 2), (c, 3)}
Let A and B be finite sets with IAI = m and IBI = n. Find the n u m b e r of binary relations t h a t can be defined: 50. From A to B.
51. On A.
52. A relation R on the set {1, 2 , . . . , n} is given in terms of its elements. Write an algorithm to find its adjacency matrix A. 53. Write an algorithm to print the elements of a relation R on {1, 2 , . . . , n} using its adjacency matrix A.
Since relations from a finite set to a finite set can be represented by boolean matrices, the most straightforward way of implementing a relation and its digraph in a computer is by its adjacency matrix. The second method involves l i n k e d lists. Since some p r o g r a m m i n g languages such as FORTRAN do not support dynamic linked lists, the array
450
Chapter 7 Relations r e p r e s e n t a t i o n of linked lists serves well. ( N o t e : Arrays are n o t h i n g b u t matrices.) For example, the digraph in Figure 7.8 contains seven edges, arbitrarily n u m b e r e d 1 t h r o u g h 7. Store the tails and the c o r r e s p o n d i n g heads of each edge in two parallel one-dimensional arrays, T - (ti) and H = (hi), respectively (see Figure 7.9). Notice t h a t t3 - 1 a n d h3 - 2, so an edge exists from vertex 1 to vertex 2, namely, edge 1. Since t7 = 3 and h7 - 2, there is also an edge from vertex 3 to vertex 2, namely, edge 5. The other edges can be read similarly. 3
F i g u r e 7.8 1
4
1
3
4
F i g u r e 7.9 TAIL HEAD 2
2
4
3
1
2
2
3
5
2
1
6
1
4
7
3
2
The e n u m e r a t i o n of the edges need not begin with edge 1. In this example, edge 1 is stored in t3 and h3. Accordingly, index 3 is stored in a variable called START (see Figure 7.10). F u r t h e r , the edges can be stored in any order. To find the edge following each edge, an a r r a y N (for NEXT) is used. The element n i + l locates the successor of edge ni, 1 < i _< 6. We store 0 in n6 to indicate the end of the linked list r e p r e s e n t a t i o n of the digraph, as in Figure 7.11.
7.3 ComputerRepresentations of Relations (optional)
451
F i g u r e 7.10 T
H
1
2
2
2
4
3
>3
1
2
4
2
3
5
2
1
6
1
4
7
3
2
T
H
N
1
2
2
4
2
4
3
6
3
1
2
5
4
2
3
7
5
2
1
1
6
1
4
0
7
3
2
2
START
F i g u r e 7.11 Static linked list r e p r e s e n t a t i o n of the relation.
START
Most m o d e r n p r o g r a m m i n g languages s u p p o r t dynamic data structures. In this type of language, a linked list consists of a set of n o d e s and each node contains (at least) two fields: a d a t a f i e l d and a l i n k f i e l d (or p o i n t e r field) (see Figure 7.12). The data field contains a data item, whereas the link field contains the address of the next node in the list. For instance, consider the linked list in Figure 7.13. H E A D E R contains the address of the first node in the list; it corresponds to START in the previous discussion. The link field of the last node contains a special pointer called the n i l p o i n t e r t h a t signals the end of the list. This pointer corresponds to 0 in the static representation; a slash (/) in the field signifies it.
452
Chapter 7 Relations
F i g u r e 7.12
Data Field
A typical node.
Figure 7.13
Link Field
Link
HEADER I
all
,I
_1o .i , "
I
"-
Data The relation in Figure 7.13 illustrates the dynamic linked list representation. First, for each vertex, create a linked list of vertices adjacent to it. Then store the header nodes in an array. The resulting linked representation appears in Figure 7.14.
Figure 7.14
....
4 --. We can abbreviate this representation by storing the header nodes in an array of pointers, as in Figure 7.15. This simplified version is the a d j a c e n c y list r e p r e s e n t a t i o n of the digraph and hence of the relation. The next example shows how to find the adjacency matrix of a relation from its adjacency list representation. Using the adjacency list representation of the relation in Figure 7.15, find its adjacency matrix. SOLUTION: The figure indicates vertex 1 is related to 2 and 4; vertex 2 is related to 1, 2, and 3; vertex 3 is related to 2; and vertex 4 is related to 3. Thus, the
7.3 Computer Representations of Relations (optional)
453
adjacency matrix of the relation is
1 M R --
F i g u r e 7.15
1
2
3
4
0
1
0
1
3 4
11 i
1 0
0 1
I
121 1 ~ 'Ld
12H
Array of pointers
II
13H
I Exercise 7.3
Find the static linked list representation of each relation. 1.
1
2.
2 5
2 3
4 3-4. Find the adjacency list representation of the relations in Exercises 1 and 2. Find the adjacency matrix of the relation with each adjacency list representation. 0
,
~i2H
2
~121 ~i3H
3
~111 I~121 I~I3H
454
Chapter 7 Relations u
1211 14H
o
Y
I3H il]%1 ] 7-8. Draw the digraphs of the relations represented by the adjacency lists in Exercises 5 and 6. Find the adjacency list representation of the relation with the given adjacency matrix.
.
1
2
3
1 0 2 :3
1 0 1
0
10.
1
1 2 1 0
3
0
4
0
3 4 1 1
11~ 1 1 0
1
Write an algorithm to find the adjacency list representation of a relation R on the set {1, 2 , . . . , n} using: 11. The relation, given in terms of ordered pairs. 12. Its adjacency matrix A. 13. Write an algorithm to find the adjacency matrix A of a relation on the set {1, 2 , . . . , n} from its adjacency list representation.
Since relations on finite sets can be represented by matrices, their properties can be identified from their adjacency matrices. In this section we will study the properties of reflexivity, symmetry, antisymmetry, and transitivity. To begin with, consider the relation R, is logically equivalent to, on the set of propositions. Since every proposition is logically equivalent to itself, it has the property that xRx for every proposition x. Such a relation is reflexive.
7.4 Properties of Relations
455
Reflexive R e l a t i o n
A relation R on a set A is r e f l e x i v e if x R x for every element x in A, t h a t is, if x R x for every x e A. Since every set A is a subset of itself, the relation is a subset o f on its power set is reflexive. Similarly, the e q u a l i t y r e l a t i o n ( - ) is also reflexive; it is denoted by A. Thus, a relation is reflexive if and only if A _c R. The next two examples illustrate additional reflexive relations. Since x < x for every real n u m b e r x, the relation < on I~ is reflexive. No n u m b e r is less t h a n itself, so the less t h a n relation is not reflexive, m Which of the following relations on A -
{x,y,z} are reflexive?
9 R1 - {(x,x), (x,y), (y,y), (z,z)}
9 R2
9 R3 - (~ [the e m p t y r e l a t i o n ]
9 R4 = {(x,x), (y,y), (z,z)}
-
{(x,x), (y,y), (y,z), (z,y)}
SOLUTION: For a relation R on A to be reflexive, every element in A m u s t be related to itself, t h a t is, (a, a) c R for every a c A. The element a has three choices, namely, x, y, and z; therefore, the ordered pairs (x,x), (y,y), and (z,z) m u s t be in the relation for it to be reflexive. Consequently, the relations R1 and R4 are reflexive, whereas R2 and R3 are not. m
How can we characterize the adjacency m a t r i x M = (mij) of a reflexive relation on the set A = {al, a 2 , . . , an }? A relation R on A is reflexive if and only if aiRai for every ai in A. Thus, R is reflexive if and only if mii = 1 for every ij t h a t is, if and only if the m a i n diagonal elements of MR are all l's, as Figure 7.16 shows.
Figure
7.16
1 MR 1
J,,
The digraph of a reflexive relation m u s t contain a loop at each vertex, since every element of A is related to itself; see Figure 7.16.
Chapter 7 Relations
456
N u m b e r of Reflexive R e l a t i o n s
We can use the adjacency m a t r i x MR of a relation R on a set A to c o m p u t e the n u m b e r of reflexive relations t h a t can be defined on A, as the following example demonstrates. ~
~
~
~
l
Find the n u m b e r of reflexive relations R t h a t can be defined on a set w i t h n elements. SOLUTION: Since R is reflexive, every element on the main diagonal of MR is 1; t h e r e are n such elements. Since MR contains n 2 elements, there are n 2 - n - n(n - 1) elements t h a t do not lie on the main diagonal; each can be a 0 or 1; so each such element mij has two choices. Thus, by the multiplication principle, we can form 2 n(n-1) such adjacency matrices, t h a t is, 2 n(n-1) reflexive relations onA. ll For an exploration of symmetric and a n t i s y m m e t r i c relations, again let R be the relation, is logically equivalent to, on the set of propositions. I f x and y are any two propositions such t h a t xRy, t h e n yRx. Thus xRy implies yRx. On the other hand, let x and y be any two real n u m b e r s such t h a t x < y and y < x. T h e n x - y. Thus the relation R(_<) has the property t h a t if x R y and yRx, t h e n x - y. These two examples lead us to the next definitions.
S y m m e t r i c and A n t i s y m m e t r i c R e l a t i o n s
A relation R on a set A is s y m m e t r i c if aRb implies bRa; t h a t is, if (a, b) R, then (b,a) ~ R. It is a n t i s y m m e t r i c if aRb and bRa imply a - b. By the law of the contrapositive, the definition of a n t i s y m m e t r y can be restated as follows: A relation R on A is a n t i s y m m e t r i c if w h e n e v e r a r b, either a2~b or b~Ra, t h a t is, ~(aRb A bRa). T h u s R is a n t i s y m m e t r i c if t h e r e are no pairs of distinct elements a and b such t h a t aRb and bRa. The next three examples d e m o n s t r a t e symmetric and a n t i s y m m e t r i c relations. ~
Which of the following relations
on
{x,y,z} are symmetric? A n t i s y m m e t r i c ?
9 R1 = {(x,x), (y,y), (z,z)} 9 R2-
{(x,y)}
" R3 - {(x,y), (y,x)} 9 R4 = {(x,x),
(x,z), (z,x), (y,z)}
SOLUTION: The relations R1 and R3 are symmetric. R2 is not symmetric, since (y,x) is not in R2. Similarly, R4 is not symmetric. R1 and R2 are a n t i s y m m e t r i c , but R3 and R4 are not. ll
7.4 Properties of Relations
457
~
The relation is logically equivalent to on the set of propositions is s y m m e t ric. Is it antisymmetric? Suppose p - q and q - p; this does not imply t h a t p = q, so the relation is not antisymmetric, m
~
The relation < on I~ is not symmetric, since x < y does not imply t h a t y < x. If, however, x _< y and y < x, t h e n x = y, so the relation is a n t i s y m m e t r i c . m These two examples d e m o n s t r a t e t h a t a symmetric relation need not be a n t i s y m m e t r i c and vice versa.
As for the adjacency m a t r i x of a symmetric relation, a relation R on { a l , a 2 , . . . ,an} is symmetric only if ai~Raj implies aj~Rai; t h a t is, only if, mij = mji. Thus, R is symmetric if and only if MR is symmetric; see Figure 7.17.
F i g u r e 7.17 M R =
~ ~
o
Graphically, this means if a directed edge r u n s from ai to aN, t h e n one should r u n from aj to ai. In other words, every edge must be bidirectional. For a relation R to be antisymmetric, if ai ://: aj either aizRaj or ajzRai. In other words, if i r j and mij - 1, t h e n m j i - - 0 ; t h a t is, either mij - 0 o r m j i = 0; see Figure 7.18.
F i g u r e 7.18
~
~
M R =
Geometrically, if a directed edge r u n s from ai to aj, one should not r u n from aj to ai; t h a t is, no edges are bidirectional. ~
Determine if the relation R on {a, b, c} defined by
MR--
is antisymmetric.
Ellil 0 0
0 1
Chapter 7 Relations
458
SOLUTION: Consider t h e cases i r j a n d m i j - 1, w h e r e 1 < i , j < 3. Clearly, m 1 2 - 1 ~: 0 - m21 a n d m32 : 1 ~: 0 - m23. Thus, w h e n i ~: j , e i t h e r m i j - 0 or mji = 0. Therefore, the relation is a n t i s y m m e t r i c ; see F i g u r e 7.19. (Notice t h a t m l l = m33 : 1 and m22 -=- 0, b u t this does not violate t h e condition for a n t i s y m m e t r y . ) F i g u r e 7.19
-.b
m Number of Symmetric Relations Again, the adjacency m a t r i x of a relation on a set A can be effectively u s e d to d e t e r m i n e the n u m b e r of s y m m e t r i c relations t h a t can be defined on A. The following e x a m p l e d e m o n s t r a t e s this. F i n d t h e n u m b e r of s y m m e t r i c relations t h a t can be defined on a set w i t h n elements.
SOLUTION: Let R be a relation on the set and let M R -- (mij),z • T h e n mij - 1 if a n d only if mji - 1 for every i and j . So each e l e m e n t mij below the m a i n diagonal d e t e r m i n e s u n i q u e l y the c o r r e s p o n d i n g e l e m e n t mji above t h e m a i n diagonal; in o t h e r words, each mji has one choice (see Figure 7.20). F i g u r e 7.20
-1
1
...
11
1 1_
F i g u r e 7.21
- ~1
1
...
1-
Each e l e m e n t has two choices.
Now, each e l e m e n t on or below t h e m a i n diagonal has two choices: 0 or 1 (see F i g u r e 7.21). T h e r e are 1 + 2 + . . . + n - n ( n + 1)/2 such e l e m e n t s . So, by the multiplication principle, t h e n u m b e r of such adjacency m a t r i c e s equals 2n(n+l)/2; t h a t is, we can define 2 n(n+l)/2 s y m m e t r i c relations on t h e set. ll
7.4 Properties of Relations
459
Notice t h a t the less-than relation on IR has the p r o p e r t y t h a t ifx < y and y < z, t h e n x < z. Accordingly, the order relation < is said to be transitive. More generally, we m a k e the following definition. Transitive Relation
A relation R on A is t r a n s i t i v e if aRb and bRc imply aRc; t h a t is, w h e n e v e r a is related to b and b is related to c, a is related to c. The next t h r e e examples illuminate this definition. Once again, consider the relation is logically equivalent to on the set of propositions. I f p _= q and q - r, t h e n p = r, so the relation = is transitive. m Let A be the set of courses offered by a m a t h e m a t i c s d e p a r t m e n t . Define a relation R on A as follows: xRy if course x is a prerequisite for course y. T h e relation R is transitive (Why?). (R is the p r e c e d e n c e r e l a t i o n . ) m D e t e r m i n i n g if a relation R is t r a n s i t i v e can be time-consuming, especially if the relation contains m a n y elements. We m u s t look at all possible ordered pairs of the form (a,b) and (b,c), t h e n ascertain if the e l e m e n t (a,c) is also in R, as the next example illustrates.
~
Which of the following relations on {a, b,c} are transitive? 9 R1 = {(a,b), (b,c), (a,c)}
9 R3 = {(a,a), (b,b), (c,c)}
9 R2 = {(a,a), (a,b), (a,c), (b,a), (b,c)}
9 R4 = {(a,b)}
SOLUTION: The relation R1 is transitive; so are R3 and R4 by default. In relation R2, (b, a) e R2 and (a, b) c R2, b u t (b, b) r R2. So, R2 is not transitive, m
As for the digraph of a t r a n s i t i v e relation R, w h e n e v e r t h e r e is a directed edge from a to b and one from b to c, one also r u n s from a to c. T r a n s i t i v e relations are explored f u r t h e r in Section 7.7. Exercises 7.4
D e t e r m i n e if the given relation on {a, b, c, d} is reflexive, a n t i s y m m e t r i c , or transitive.
symmetric,
1. {(a,a), (b,b)}
2. {(a,a), (a,b), (b,b), (c,c), (d,d)}
3. EJ
4. {(a,b), (a, c), (b, c)}
460
Chapter 7 Relations Is the relation has the same color hair as on the set of people: 5. Reflexive?
6. Symmetric?
7. Antisymmetric?
8. Transitive?
9-12. Redo Exercises 5-8 using the relation lives within 5 miles o f on the set of people. 13-16. Let ]E n denote the set of n-bit words. Define a relation R on ~n as x R y if the H a m m i n g distance between x a n d y is one. Redo Exercises 5-8 using the relation R. In Exercises 17-19, the adjacency matrices of three relations on {a, b, c} are given. Determine if each relation is reflexive, symmetric, or antisymmetric. 17.
EI~ 0 0
1 0
18.
I!111 0 0
1 0
19.
Ei~ 1 1
When is a relation on a set A not: 20. Reflexive?
21. Symmetric?
22. Transitive?
Give an example of a relation on {a, b, c} t h a t is: 23. Reflexive, symmetric, and transitive. 24. Reflexive, symmetric, but not transitive. 25. Reflexive, transitive, but not symmetric. 26. Symmetric, transitive, but not reflexive. 27. Reflexive, but neither symmetric nor transitive. 28. Symmetric, but neither transitive nor reflexive. 29. Transitive, but neither reflexive nor symmetric. 30. Neither reflexive, symmetric, nor transitive. 31. Symmetric, but not antisymmetric. 32. Antisymmetric, but not symmetric. 33. Symmetric and antisymmetric. 34. Neither symmetric nor antisymmetric. In Exercise 35-38, complete each adjacency matrix of a relation on {a, b, c} in such a way t h a t the relation has the given property. 35.
0
01 1
~
, reflexive
36.
0 ~
!1
, symmetric
7.5 Operations on Relations
37.
[!
1 1
~]
, antisymmetric
461
38.
[--1
1 1
!1
, transitive
39. When will a relation R on a set A be both symmetric and antisymmetric? A relation R on a set A is i r r e f l e x i v e if no element of A is related to itself, t h a t is, if (a,a) r R for every a e A. Determine if each relation is irreflexive. 40. The less-than relation on IR.
41. The relation is a factor of on 1~.
42. The relation is a parent of on the set of people. Determine if each relation on {a, b, c} is irreflexive. 43. {(a,a)}
44. {(a,b), (b,b), (a,c)}
45. {(b, a), (c, a) }
46. 0
Characterize each for an irreflexive relation on a finite set: 47. Its adjacency matrix.
48. Its digraph.
A relation R on a set A is a s y m m e t r i c if whenever aRb, b~a. Determine if each relation is asymmetric. 49-51. The relations in Exercises 40-42. 52. {(a,a), (b,b), (c,c)} on {a,b,c}
53. {(a,b), (a,c), (b,b)} on {a,b,c}
54. {(a,b), (b,c), (c,a)} on {a,b,c} For an asymmetric relation on a finite set, characterize: 55. Its adjacency matrix.
56. Its digraph.
Find the n u m b e r of binary relations that can be defined on a set of two elements that are: *57. Reflexive.
*58. Symmetric.
*59. Reflexive and symmetric.
*60. Antisymmetric.
"61. Irreflexive.
*62. Asymmetric.
*63. Prove: A relation R on a finite set is transitive if M ~ I < MR, where (aij) <_ (bij) means aij <_bij for every i a n d j .
J u s t as sets can be combined to construct new sets, relations can be combined to produce new relations. This section presents five such operations, three of which are analogous to the set operations of union, intersection, and complementation.
Chapter 7 Relations
462
Union and Intersection Let R and S be any two relations from A to B. Their u n i o n and intersection, denoted by R u S and R n S, respectively, are defined as R u S {(a, b) I aRb v aSb} and R n S = {(a, b) I aRb/x aSb}. T h u s a(R u S)b i f a R b or aSb. Likewise, a(R n S)b if aRb and aSb. The next two examples illustrate these definitions. J
|
Consider the relations R = {(a,a), (a,b), (b,c)} and S - {(a,a), (a,c), (b,b), (b, c), (c, c)} on {a, b, c} (see Figures 7.22 and 7.23). T h e n R U S = { (a, a), (a,b), (a,c), (b,b), (b,c), (c, c)} a n d R A S = {(a, a), (b, c)}.
Figure 7.22
b
Digraph of R. c
Figure 7.23 Digraph of S.
G Figure 7.24 Digraph of R u S.
Figure 7.25 Digraph of R N S.
Graphically, R u S consists of all edges in R t o g e t h e r with those in S (see Figure 7.24), whereas R n S consists of all c o m m o n edges (see Figure 7.25). m
7.5 Operationson Relations
463
Let R and S be the relations < and > on IR, respectively. Then R u S consists of all possible ordered pairs IR x IR and R A S is the equality relation, m We can use the adjacency matrices of relations R and S to find those of their union and intersection. By definition, an entry in MRuS is 1 if and only if the corresponding element of M R or M s is 1; t h a t is, if and only if the corresponding element of their join, MR v M s , is 1. Since MRuS and MR v M s are of the same size, MRuS -- MR v M s . Similarly, an element of MRnS is 1 if and only if the corresponding element of MR A M S is 1, so MRnS -- MR A MS.
Theorem 7.3 summarizes these conclusions. We leave a formal proof as an exercise (see Exercise 62). Let R and S be relations on a finite set. Then MRuS -~ MR v M s and MRnS -MR A MS.
m
The following example illustrates this theorem. ~
Using the adjacency matrices of the relations R and S in Example 7.24 find MRuS -- MR v M s and MRnS -- MR A MS.
SOLUTION: We have
MR-
[ilZ] 0 0
and
Ms-
[i~ 1 0
By Theorem 7.3,
MRuS -- MR v M S -
[i' '] 1 0
1 1
and
MRnS -- MR A M S =
['0Z] 0 0
0 0
These matrices can recover the actual elements o f R u S and R A S obtained in Example 7.24. m Another way to combine two relations is quite similar to the composition of functions we studied in Section 3.5.
Composition of Relations
Let R be a relation from A to B, and S a relation from B to C. The c o m p o s i t i o n of R and S, denoted by R | S, is defined as follows. Let a ~ A and c ~ C. Then a ( R O S)c if there exists an element b in B such t h a t a R b and bSc, as in Figure 7.26.
Chapter 7 Relations
464 F i g u r e 7.26
R@S
( A
.) B
C
The next example illustrates this definition. Let A - { a , b , c } , B - {1,2,3,4}, and C - {w,x,y,z}. Using the relations R = {(a, 1), (a, 3), (b, 2)} fromA t o B a n d S = {(1,x), (1,y), (2, w), (2,z), (4,y)} from B to C (see Figure 7.27), find R | S. SOLUTION: Since aR1 and 1Sx, a(R@S)x. Similarly, a(R@S)y, b ( R | and b(R@S)z. Thus, R @ S = {(a,x), (a,y), (b, w), (b,z)}. Pictorially, all we need to do is simply follow the arrows from A to C in the figure. (Try this approach.) F i g u r e 7.27
ROs
A
.i 2 .3
x
B
C
II
Databases
The next example gives an interesting application of the composition operation to the theory of databases. ~
Suppose a database consists of two files F1 and F2, given by Tables 7.2 and 7.3, respectively. File F1 can be considered a relation from the set of names to the set of telephone numbers and file F2 a relation from the set of telephone numbers to the set of telephone bills. Then F1 | F2 is a relation from the set of names to the set of telephone bills. In other words, F1 | F2 is a file of names and their corresponding telephone bills (see Table 7.4).
7.5 Operations on Relations
465
T a b l e 7.2 Name
Telephone number
Hall Berkowitz Chand Benson Scott Abrams
T a b l e 7.3
123-4567 225-5061 124-3987 239-3883 534-3434 345-5678
Telephone number
Bill
123-4567 123-0011 243-1111 124-3987 124-8958 534-3434 345-5678 128-9876
39.45 25.00 47.50 23.35 73.30 95.65 51.95 64.85
Name
Bill
Hall Chand Scott Abrams
39.45 23.15 95.65 51.95
T a b l e 7.4
The adjacency matrices of the relations R, S, and R @ S display an i n t r i g u i n g connection. To see this, from E x a m p l e 7.27, we have:
M R --
Mnes
-
i oli] 1 0
0 0
IZl l Z] 0 0
0 0
Ms -
~176i 0 0 0
0 0 1
and '
466
Chapter 7 Relations Then
MR Q M s -
--
[101 i] 0i11000 0 0
1 0
0 0
|
0 0
0 0
-- MRQS
[!11 !]
0 0
0 1
m
More generally, we have the following result. LetA, B, and C b e finite sets. Let R be a relation f r o m A to B, a n d S a relation from B to C. T h e n MRQS = MR Q M s . PROOF:
Let A = { a l , a 2 , . . . ,am}, B = {bl,b2,... ,bn}, and C = { c 1 , c 2 , . . . ,Cp}. T h e n the matrices M R , M s , M R Q s , and M R Q M s are of sizes m x n, n x p, m • p, and m x p, respectively. Let MRQS -- (xij) and MR Q M s - (Yij). T h e n xij - 1 if a n d only if ai(R Q S)cj. But ai(R Q S)cj if and only if aiRbk and bkScj for some bk in B. Thus, xij = 1 if and only ifYij - 1, so xij - Yij for every i a n d j . C o n s e q u e n t l y , MRQS = MR Q M s . m The definition of composition can be extended to a finite n u m b e r of relations. Accordingly, we now define the n th power of a relation u s i n g recursion.
R e c u r s i v e D e f i n i t i o n of R n
Let R be a relation on a set A. The n t h p o w e r o f R, denoted by R n, is defined recursively as R n - IR
I R n-1
if n -
GR
1
otherwise
Geometrically, R n consists of the endpoints of all possible p a t h s of length n. T h u s a R nb if a p a t h of length n exists from a to b. The next two examples illuminate this definition
7.5
467
Operations on Relations
Using the relation R - {(a, b), (b, b), (c, a), (c, c)} on {a,b,c}, find R 2 and R 3. SOLUTION: 9 R 2 - R @ R - {(a, b), (b, b), (c, a), (c, b), (c, c)} 9 R 3 - R 2 | R = {(a, b), (b, b), (c, a), (c, b), (c,c)} - R 2
The digraphs of the relations R and R 2 are displayed in F i g u r e s 7.28 and 7.29, respectively. Figure
7.28
Digraph of R.
ay o Q
v
Figure
7.29
Digraph of R 2 - R 3. m
Define a relation R on the set of all U.S. cities as follows- xRy if t h e r e is a direct flight from city x to city y. T h e n xR2y if t h e r e is a direct flight from city x to some city z and a direct flight from city z to city y. T h u s R 2 consists of the endpoints of all airline routes in R passing t h r o u g h exactly one city. More generally, R n consists of the endpoints of all airline routes in R passing t h r o u g h exactly n - 1 cities, m Let R be a relation on a finite set. Then, by T h e o r e m 7.4, MRQ R -M R 2 - - (MR) 121. More generally, we have the following result.
MR (5)MR; t h a t is,
Let R be a relation on a finite set and n any positive integer. T h e n MR,, =
(MR)[nl.
m
For the relation R in E x a m p l e 7.29, find MR2 and MR3. SOLUTION: Notice t h a t
MR--
[ili] 1 0
468
Chapter 7 Relations
MR9 = (MR) 12I --
[ili] Iili] [il!] 1 0
(3
1 0
=
1 1
MR3 -- (MR) 131- M I l l ( 3 M R
--
[ili] iilil [!1!] 1
1
@
i
--
0
1
1
Notice t h a t MR2 a n d MR3 are t h e adjacency m a t r i c e s of t h e r e l a t i o n s R 2 a n d R 3, o b t a i n e d in E x a m p l e 7.29. m T h e n e x t t h e o r e m tells us m o r e a b o u t p o w e r s of t r a n s i t i v e r e l a t i o n s , a n d we will use it in Section 7.7. Let R be a t r a n s i t i v e r e l a t i o n on a set A. T h e n R n c_ R for e v e r y positive i n t e g e r n. PROOF (by PMI): W h e n n - 1,R 1 c_ R, w h i c h is true. Suppose R k c_ R for a n a r b i t r a r y positive i n t e g e r k. To s h o w that R k+ l c R" Let (x,y) e R t~+l. Since R k+l - R k (3 R, (x,y) E R k Q R. T h e n , by definition, t h e r e is a z in A such t h a t (x,z) ~ R ~ a n d (z,y) ~ R. B u t R k _c R, by t h e inductive hypothesis. C o n s e q u e n t l y , (x,z) ~ R. T h u s (x,z) E R a n d (z,y) ~ R, so (x,y) e R by t r a n s i t i v i t y . T h u s R k+ 1 c__R. T h u s , by induction, R n c_ R for every n > 1. m We conclude this section w i t h an e x a m p l e to i l l u s t r a t e this t h e o r e m . Notice t h a t the r e l a t i o n R - {(a,a), (a,b), (a, c), (b, c) } on F i g u r e 7.30) is t r a n s i t i v e . You m a y verify that:
{a,b,c}
(see
R 2 - R (3 R - {(a, a), (a, b), (a,c)} c R R 3 - R 2 (3 R = {(a,a), (a, b), (a, c)} _c R R 4 - R 3 Q R - {(a,a), (a, b), (a,c)} c_V_R (In fact, R n - R 2 for every i n t e g e r n > 2, so R n c_ R for every n > 1. See Exercise 7.38.)
F i g u r e 7.30
b
D i g r a p h of R.
m
469
7.5 Operations on Relations
Exercises 7.5
1. Using the relations R = {(a,b), (a,c), (b, b), (b,c)} a n d S = {(a,a), (a, b), (b, b), (c, a) } on {a, b, c}, find R U S and R n S. 2. Redo Exercise 1 using the relations R = {(a,a), (a,b), (b,c), (b,d)} and S = {(a, b), (b, b), (b, c), (c,a), (d, a)} on {a,b,c,d}. 3. Let R and S be the relations < and - on R, respectively. Identify R u S a n d R AS. 4. With the adjacency matrices of the relations R and S in Exercise 1, find those of the relations R u S and R n S. 5. Redo Exercise 4 using the relations in Exercise 2. U s i n g t h e r e l a t i o n s R = {(a, a), (a, b), (b, c), (c, c)} a n d S = {(a, a), (b, b), (b, c), (c, a) } on {a, b, c}, find each. 6. R Q S
7. S Q R
8. R 2
9. R 3
Let R be a relation from {a, b, c} to {1, 2, 3, 4} and S a relation from {1, 2, 3, 4} to {x,y,z}. Find R Q S in each case. 10. R - {(a, 2),(a, 3),(b, 1),(c, 4)} a n d S - {(1,x),(2,y),(4,y),(3,z)} 11. R - {(a, 1), (b, 2), (c, 1)} and S - {(3,x), (3,y), (4,z)} Using the following adjacency matrices of relations R and S on {a, b, c}, find the adjacency matrices in Exercises 12-19.
MR =
12. MR| S
1 0 0
0 1 1
1 0 1
E J
13. MS|
0 Ms -
14. MR4
1 0 0
1 0 1
J
15. (MR) [41
16. Define a relation R on the set of U.S. cities as follows: xRy if a direct c o m m u n i c a t i o n link exists from city x to city y. How would you i n t e r p r e t R27 Rn? 17. Redo Exercise 16 using the relation R on the set of all countries in the world, defined as follows: xRy if country x can c o m m u n i c a t e with country y directly. The c o m p l e m e n t and i n v e r s e of a relation R from a set A to a set B, denoted by R' and R -1 respectively, are defined as follows: R' {(a, b) I aRb} and R - 1 _ {(a, b) I bRa}. So R' consists of all elements in A x B t h a t are not in R, whereas R -1 consists of all elements (a,b), where (b,a) e R. Using the relations R = {(a,a), (a,b), (b,c), (c,c)} and S - {(a, a), (b, b), (b, c), (c, a)} on {a,b,c}, find each.
470
Chapter 7 Relations
18. R'
22.
MR-1
MR1
19. R -1
20.
23. (MR) T
24. Ms1
21. ( M R ) '
25. ( M s ) T
Using the relations R - {(a, 1), (b, 2), (b, 3)} and S from {a, b} to {1, 2, 3}, find each.
{(a, 2), (b, 1), (b, 2)}
26. R'
27. R -1
28. (R')'
29. ( R - 1 ) - I
30. R' N S'
31. (R N S)'
32. R' u S'
33. (R u S)'
34. ( R U S ) -1
35. R -1 U S -1
36. R -1 n S -1
37. (R n S ) - 1
38. For the relation R in Example 7.32, prove t h a t R n - R 2 for every n > 2. Let R and S be relations on a finite set. Prove each. 39. M R -- ( M R 1 )
40. M R_ 1 -- ( M R ) T
Let R and S be relations from A to B. Prove each. 41. (R -1)-1
__
R
42. If R _c S, t h e n S' _ R'
43. I f R c_ S, t h e n R -1 c_ S -1
44. (R u S)' - R' n S'
45. (R n S)' - R' u S'
46. (R
U S) -1
-
R -1 u
S -1
47. (R 5 S ) -1 - R - 1 N S -1 Let R and S be relations on a set. Prove each. 48. R is reflexive if and only if R-1 is reflexive. 49. R is s y m m e t r i c if and only if R' is symmetric. 50. R is s y m m e t r i c if and only if R - 1 is symmetric. 51. R is s y m m e t r i c if and only if R - 1 = R. 52. If R and S are symmetric, R u S is symmetric. 53. If R and S are symmetric, R N S is symmetric. 54. If R and S are transitive, R n S is transitive. 55. Disprove: The union of two transitive relations on a set is transitive. 56. LetA, B, C, a n d D be any sets, R a relation f r o m A to B, S a relation from B toC, and T a relation from C t o D . Prove t h a t R @ ( S Q T ) = ( R @ S ) @ T . (associative property) Let R and S be two relations from A to B, where IAI = m and IBI = n. U s i n g their adjacency matrices, write an algorithm to find the adjacency m a t r i x of each relation. 57. R u S
58. R N S
59. R'
60. R -~
61. Let X = (xij) be the adjacency m a t r i x of a relation R from A to B and Y = (Yij) t h a t of a relation S from B to C, where IAI = m, IBI = n,
7.6 The Connectivity Relation (optional)
471
and ICI = p. Write an algorithm to find the adjacency m a t r i x of the relation R | S.
Z = (zij)
*62. Prove T h e o r e m 7.3.
We can use the various powers R n of a relation R to construct a new relation, called the connectivity relation. This section defines t h a t new relation and t h e n shows how to compute it.
Connectivity Relation Let R be a relation on a set A. The c o n n e c t i v i t y r e l a t i o n of R, denoted by R ~ , is the union of all powers of R: R ~ --- R u R 2 u R 3 U R 4 u . . .
u R n u...
(:X$
= U
Rn
n--1
So
M R . . . --- M R v M R 2 v M R S v . . .
Geometrically, a R a b if t h e r e is a p a t h of some length n from a to b. The connectivity relation consists of the endpoints of all possible p a t h s in R. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
The next two examples show how to find R ~ . Find the connectivity relation R ~ of the relation R - { (a, a), (a, b), (a, c), (b,c)} on { a , b , c } . SOLUTION: F r o m Example 7.32,
R n - R 2
for every integer n > 2. So
R ~ - R u R 2 u R 3 U R 4 u... =RUR
2
- {(a, a), (a, b), (a, c), (b, c)} Find the connectivity relation R ~ of the relation R (c,b)} on { a , b , c } .
m { (a, b), (b, a), (b, b),
472
Chapter 7 Relations SOLUTION: R2 = R | R a n d 7.32.).
Figure
7.31
-
{(a,a), (a,b), (b,a), (b,b), (c,a), (c,b)} (see F i g u r e s 7.31
a
D i g r a p h of R.
F i g u r e 7.32 D i g r a p h of R 2.
R 3 - R 2 Q R - {(a, a), (a, b), (b, a), (b, b), (c, a), (c, b)} - R 2 R 4 - R 3 Q R - {(a, a), (a, b), (b, a), (b, b), (c, a), (c, b)} - R 2
In fact R ~ - R 2 for every n > 2. T h u s , R ~ - R u R 2 - {(a, a), (a, b), (b, a), (b, b), (c,a), (c, b)}
m
We can also d e t e r m i n e c o n n e c t i v i t y u s i n g t h e a d j a c e n c y m a t r i x of a relation. U s i n g t h e a d j a c e n c y m a t r i x of t h e r e l a t i o n R in E x a m p l e 7.34, find its c o n n e c t i v i t y relation. SOLUTION: Since R = {(a, b), (b, a), (b, b), (c, b)},
MR--
MR3 -- MR2 @ M R --
[Zii] [11i] 1 1
1 1
MRe -- M R G M R --
1 1
MR4 -- MR3 @ M R --
[11i] [11i] 1 1
1 1
1 1
1 1
7.6
The Connectivity Relation (optional)
473
Then M R ~ -- MR V MR2 V MR3 V . . . = MR V MR2
--
[lli] 1 1
(Verify this.)
1 1
Thus R ~ = {(a, a), (a, b), (b, a), (b, b), (c, a), (c, b)}, as in Example 7.34.
II
Theorem 7.7 comes in handy when computing R ~. With the theorem, only the first n powers of R are needed to compute it, where n - IAI. Let R be a relation on a set with size n. Then R ~ - R u R 2 u R 3 u... u R n M R ~ -- MR v MR2 v MR3 v . . . v MR,,
II
= MR v (MR)I21 v (MR)I31 v . . . v (MR) Inl
The next example illustrates this theorem. Find R ~ of the relation R on {a, b, c, d} defined by
MR--
0
1
0
0
i
00 0
01 0
!
SOLUTION:
1 MR2 = MR G MR --
M R 4 = M R 3 (~
MR --
i 1 0 1 0
0 i
0
0 MRa--MR2@MR--
i
0 1 O1 0 0 1 1
1 0 0 0
474
Chapter 7 Relations By T h e o r e m 7.7,
MR~
-
-
MR v MR2 v MR3 v MR4 =
1
1
1
1
1 1 1
1 1 1
1 1 1
1 1 1
T h u s R ~ - {(a,a), (a,b), (a,c), (a,d), (b,a), (b,b), (b,c), (b,d), (c,a), (c,b), (c, c), (c, d), (d, a), (d, b), (d, c), (d, d) }. (You m a y verify this u s i n g the d i g r a p h of R.) I We can use T h e o r e m 7.7 to develop an a l g o r i t h m for c o m p u t i n g M R S , which yields the connectivity relation of a relation R. It is given in Algorithm 7.1. Algorithm Connectivity Relation (MR,MR~) (* This algorithm uses the adjacency matrix MR of a r e l a t i o n R on a set with size n and computes that of i t s c o n n e c t i v i t y r e l a t i o n , using Theorem 7.7. *) O. Begin (* algorithm *) (* I n i t i a l i z e MR~ and B, where B denotes the i t h boolean power of MR. *) I. MR~ <-- MR B *--MR f o r i - 2 to n do (* find the i t h boolean power of MR*) begin (* for *) 3. 4. B ~-- B (Z) MR 5. MR~ ~-- MR~ v B (* update MR *) 6. endfor (* for *) 7. End (* algorithm *) .
Algorithm 7.1
We close this section with an analysis of the complexity of this algorithm. Let bn denote the n u m b e r of boolean operations needed to c o m p u t e R ~ . Each e l e m e n t in line 4 takes n meets and n - 1 joins, a total of 2n - 1 operations. Since the product contains n 2 elements, the total n u m b e r of bit-operations in line 4 is (2n - 1)n 2. T h e join of the two n • n m a t r i c e s in line 5 takes n 2 boolean operations. Since the f o r loop is executed n - 1 times, the total n u m b e r of boolean operations is given by bn -- (n - 1)[(2n - 1)n 2 + n 2]
= 2(n-
1)n 3
-- (~)(n4) T h u s the connectivity a l g o r i t h m takes |
4) - bit operations.
7.7 Transitive Closure (optional)
475
Exercises 7.6
Find the connectivity relation of each relation on {a, b, c}. 1. {(a, a)}
2. {(a,a), (b,b)}
3. {(a,a), (b,b), (c,c)}
4. {(a,a), (a,b), (c,a)}
5.0
6. {(a,b), (a,c), (b,a), (c,a)}
Find the connectivity relation of the relation on {a, b, c} with each adjacency matrix. 0
Ii~ 0 0
1 0
8.
Ell i] 0 1 1 0
9.
II~ 1 1
1 1
Find the connectivity relation of the relation on {a,b,c,d} with each adjacency matrix. 10.
0
1
1 0
i
0 0 0
0 i 0 1
l
l
"
0
1 0
1
!
0 1 0 0 0 0 1 0 0
1 0 12.
0
0
0 1 1 ! 0 0 1 1 0 0
The connectivity relation of a relation R is closely associated with its transitive closure. First, we define the closure of R. A relation R may not have a desired property, such as reflexivity, symmetry, or transitivity. Suppose it is possible to find a relation containing R and having the desired property. The smallest such relation is the c l o s u r e of R with respect to the property. Accordingly, we make the next definition.
Transitive Closure
Suppose a relation R on A is not transitive. The smallest transitive relation that contains R is the t r a n s i t i v e c l o s u r e of R, denoted by R*. How do we find R*? If R is not transitive, it should have ordered pairs (a, b) and (b, c) such that (a, c) r R; so add (a, c) to R. We can continue this with every such pair in the new relation. The resulting relation is transitive, the transitive closure of R. The next example illustrates this method.
! I I I
476
Chapter 7 Relations Find the transitive closures of the relations R {(a, a), (b, b), (c,c)}, and T = 0 on {a,b,c}.
{(a,b), (b,a), (b,c)}, S
SOLUTION: 9 R - {(a,b), (b,c), (b,a)}. Since ( a , b ) e R and ( b , c ) e R , it needs (a,c) to be transitive. So add (a,c) to R. The new relation is R1 = {(a, b), (a, c), (b,c), (b,a)}. It contains both (a,b) and (b, a), b u t not (a,a) or (b,b). Add t h e m to Rl" R2 - {(a,a), (a,b), (a,c), (b,a), (b,b), (b,c)}. It is transitive and contains R, so it is the transitive closure of R. 9 The relation S is transitive, by default, so S* - S. 9 The transitive closure of 0 is itself.
m
The transitive closure R* of the relation R in Example 7.37 has practical applications. Suppose the relation indicates the c o m m u n i c a t i o n links in a n e t w o r k of computers a, b, and c, as in Figure 7.33. The t r a n s i t i v e closure R* shows the possible ways one c o m p u t e r can c o m m u n i c a t e with another, perhaps t h r o u g h intermediaries. For instance, c o m p u t e r a c a n n o t c o m m u n i c a t e directly with c, but it can t h r o u g h b. Figure 7.34 displays the transitive closure R*.
F i g u r e 7.33
b
Digraph of R.
a
c
F i g u r e 7.34 Digraph of R.*
C
The close link between the transitive closure of a relation and its connectivity relation can be illustrated as follows. The connectivity relation R ~ of a relation R is its transitive closure R*.
PROOF: The proof unfolds in two parts. First, we m u s t show t h a t R ~ is transitive and t h e n show it is the smallest transitive relation containing R. 9 To prove that R ~ i s transitive: Let (a,b) ~ R ~176 and (b,c) e R ~ . Since (a, b) e R ~ , a p a t h r u n s from a to b. Similarly, one r u n s from b to c.
7.7 TransitiveClosure (optional)
477
C o m b i n i n g these two paths produces a p a t h from a to c. So (a, c) ~ R ~ and R ~ is transitive. 9 To p r o v e t h a t R c~ is the s m a l l e s t t r a n s i t i v e r e l a t i o n c o n t a i n i n g R"
Suppose t h e r e is a transitive relation S such t h a t R _c S _c R ~ . We will show t h a t S = R ~. Since S is transitive, by T h e o r e m 7.6, S n c_ S for every n >_ 1. So (X2
S~ - U Sn C S
n=l
m
Thus S ~ cS By assumption, R c S; so R ~ c S ~ , since every p a t h in R is also a p a t h in S. Therefore, R ~ _ S. Consequently, S c R ~ and R ~ __ S. Therefore, S = R ~ . In o t h e r words, t h e r e are no transitive relations in between R and R ~. So R ~ is the smallest transitive relation containing R. m It follows by T h e o r e m s 7.7 and 7.8 t h a t R* - R U R 2 u ... u R" and hence M R ~ -- M R v MR.2 v . . . v MR,,
To illustrate this, using Example 7.36, the transitive closure of the relation R = {(a,b), (b,a), (b,c), ( c , d ) , (d,a)} on { a , b , c , d } is R* = R ~ = {(a,a), (a, b), (a, c), (a, d), (b, a), (b, b), (b, c), (b, d), (c, a), (c, b), (c, c), (c, d), (d, a), (d, b), (d,c),(d,d)}.
Since R ~ = R*, the connectivity relation algorithm can be used to compute M R , , but it is not efficient, especially when M R . is fairly large. A b e t t e r m e t h o d to find R* is W a r s h a l l ' s a l g o r i t h m , n a m e d in h o n o r of S t e p h e n Warshall, who invented it in 1962.
Warshall's Algorithm Let a - x l - x 2 . . . . . xm-b be a p a t h in a relation R on a set A - { a l , a 2 , . . . ,an}. The verticesxl, x2,... ,Xm are the i n t e r i o r p o i n t s of the path. For instance, vertices c and d are the interior points on the p a t h a-c-d-b of the d i g r a p h in Figure 7.5. The essence of Warshall's a l g o r i t h m lies in c o n s t r u c t i n g a sequence of n boolean matrices W 1 , . . . , Wn, b e g i n n i n g with Wo - M R . Let Wk -- (w/j), where 1 < k < n. Define wij - 1 if a p a t h r u n s from ai to aj in R whose interior vertices, if any, belong to the set {al, a 2 , . . . , ak}. Since the i j t h
478
Chapter 7 Relations
element of Wn equals 1 if and only if a path exists from ai to aN whose interior points belong to the set {a l, a 2 , . . . , an }, Wn = WR*. In fact, the m a t r i x Wk = (WIN) can be constructed from its predecessor W k - 1 = (vij) as follows. When can wij = 1? For WiN = 1, t h e r e m u s t be a path from ai to aj whose interior vertices belong to the set {a l, a 2 , . . . , ak }.
Case 1
If ak is not an interior vertex, all interior vertices m u s t belong to the set {hi, a 2 , . . . , ak-1 }, so vij : 1.
C a s e 2 Suppose ak is an interior vertex (see Figure 7.35). If a cycle exists at ak, eliminate it to yield a shorter path. (This g u a r a n t e e s t h a t the vertex ak occurs exactly once in the path.) Therefore, all interior vertices of the paths ai . . . . . ak and ak . . . . . aj belong to the set {a l, a 2 , . . , ak-1}. In other words, Vik = 1 and Vkj = 1.
Figure 7.35
ak
/ /
a/
ai
Consequently, WiN = 1 only if v,ii = 1, or vik = 1 and vkj = 1. This is the crux of Warshall's algorithm. Thus the i j t h element of Wk is 1 if: 9 The corresponding element of Wt,._1 is 1 or 9 Both the i k t h element and the k j t h element of Wk-1 are 1; t h a t is, the ith element in column k of Wk-1 and t h e j t h element in row k of Wk-1 are 1. Use this property to construct W1 from W0 = M R , W2 from W1,..., and Wn from Wn-1. Since Wn = MR*, the actual elements of R* can be read from Wn. The next two examples clarify this algorithm. Using Warshall's algorithm, find the transitive closure of the relation R = {(a, b), (b, a), (b,c)} o n A = {a,b,c}. SOLUTION: S t e p 1 Find W0.
Wo - - M R --
[il!] 0
0
Step2
Find W1.
If the i j t h element of W0 is 1, the i j t h element of W1 is also 1. In other words, every 1 in W0 stays in W1. To find the r e m a i n i n g l ' s in W1, locate
7.7 Transitive Closure (optional)
479
the l ' s in column 1 ( - k); there is just one 1; it occurs in position i - 2. Now locate the l's in row 1 ( - k). Again, there is just one 1, namely, in position j - 2. Therefore, the ijth entry in W1 should be 1, where i - 2 a n d j - 2. Thus
W1-
EoI!I 1 0
1 0
S t e p 3 Find W2. Again, all the l's in W1 stay in W2. To find the other l's, if any, locate the l's in column 2(-- k) and row 2 ( - k). They occur in positions 1 and 2 of column 2 and in positions 1, 2, and 3 of row 2, so the ijth entry of W2 must be 1, where i = 1, 2 and j = 1, 2, 3. So change the O's in such locations of W1 to l's. Thus
W2-
Ei x 1] 1 0
1 0
S t e p 4 Find W3. All the l's in W2 remain in W3. To find the remaining l's, if any, locate the l's in column 3 - - namely, positions 1 and 2 m and the l's in row 3. Because no l's appear in row 3, we get no new l's, so W3 - W2. Since A contains three elements, WR. = W3. Thus,
WR,--
I
1 1 0
1 1 0
11
1 0
which agrees with the transitive closure obtained in Example 7.37.
II
Using Warshall's algorithm, find the transitive closure of the relation R = {(a, a), (a, b), (a, d), (b, a), (c, b), (c, c), (d, b), (d, c), (d, d)} on {a,b,c,d}. SOLUTION: S t e p 1 Find W0.
Wo = MR -
1 1 0 0
1 0 1 1
0 0 1 1
1 0 0 1
480
Chapter 7 Relations
Step 2 Find W1. Locate the l ' s in column 1 and row 1; positions 1 and 2 in column 1; and positions 1, 2, and 4 in row 1. Therefore, W1 should contain a 1 in locations (1,1), (1,2), (1,4), (2,1), (2,2), and (2,4): 1 1 W1 ~'0 0
1 1 1 1
0 0 1 1
1 1 0 1
(All the l's in W0 remain in W1.)
Step 3 Find W2. Locate the l's in column 2 and in row 2; positions 1, 2, 3, and 4 in column 2, and positions 1, 2, and 4 in row 2. So W2 should contain a 1 in locations (1,1), (1,2), (1,4), (2,1), (2,2), (2,4), (3,1), (3,2), (3,4), (4,1), (4,2), and (4,4). Again, since all the l's in W1 stay in W2,
W2
1 1 1 1
1 1 1 1
0 0 1 1
1 1 1 1
Step 4 Find W3. The l's of column 3 occur in positions 3 and 4; those of row 3 in positions 1, 2, 3, and 4. Consequently, W3 should contain a 1 in locations (i,j) where i = 3,4 a n d j - 1,2, 3,4:
W3
1 1 1 1
1 1 1 1
0 0 1 1
1 1 1 1
Step 5 Find W4. The l's of column 4 appear in positions 1, 2, 3, and 4; the l ' s of row 4 in positions 1, 2, 3, and 4. So W4 should contain a 1 in locations (i,j) where i = 1, 2, 3, 4 a n d j = 1, 2, 3, 4: 1
1
1
1
i
1 1 1
1 1 1
1 1 1
Since MR. -- W4, this is the adjacency matrix of the transitive closure. (Finding the connectivity relation of R will verify this.) m
481
77 TransitiveClosure (optional)
Warshall's algorithm is presented in Algorithm 7.2. It is based on the discussion preceding Example 7.38. Algorithm Warshal] (MR,W) (* This algorithm employs the adjacency matrix of a relation R on f i n i t e set with n elements to find the adjacency matrix MR* of i t s t r a n s i t i v e closure. *) O. Begin (* algorithm *) (* I n i t i a l i z e W = (wij) *) I. W +-MR 2. for k = i to n do (* compute Wk *) 3. for i = i to n do 4. for j = I to n do
5. Wij +- Wij V (Wik A Wkj ) (*compute the i j - t h 6. MR +-W 7. End (* algorithm *)
element *)
Algorithm 7.2
A Comparison of Warshall's Algorithm with the Connectivity Algorithm Why is this algorithm far more efficient than the connectivity relation algorithm? Notice that the number of boolean operations in line 5 is 2, so the total number of boolean operations in lines 2 through 5 (and hence in the algorithm) is 2. n. n. n - 2n 3 -- (-)(n3), whereas the connectivity algorithm takes (-)(n4) bit operations.
Exercises 7.7 Find the transitive closure of each relation on A = {a, b, c}. 1. {(a,b), (b,a)}
2. {(a,b), (b,c), (c,a)}
3. {(b,a), (b,c), (c,b)}
4. {(a,a), (a,c), (b,c), (c,a)}
Find the transitive closure of each relation on A = {a, b, c, d}.
5. {(a,a), (a,b)}
6. {(a,b), (b,c), (c,a)}
In Exercises 7-9, find the adjacency matrix of the transitive closure of each relation R on {a, b, c} with the given adjacency matrix.
7.
0 0
1 0
8.
[i0 ] 1 1
0 1
9.
10-12. Using the connectivity relation algorithm, closure R* of each relation in Exercises 7-9.
[!IZ] 1 0
find the transitive
482
Chapter 7 Relations 13-15. For the relation R on {a,b,c} with each adjacency matrix in Exercises 7-9, compute the boolean matrix W1 in Warshall's algorithm. In Exercises 16-18, the adjacency matrix of a relation R on {a, b, c, d} is given. In each case, compute the boolean matrices W1 and W2 in Warshall's algorithm. 0
1
0
0 1
1 0
0
Z0 i
1
0
0
0 0
1 1
0 0
0
i
0
18.
1
0
1
0 0
0 0
1 1
i010
19-24. Using Warshall's algorithm, find the transitive closure of each relation in Exercises 7-9 and 16-18. 25-33. The r e f l e x i v e c l o s u r e of a relation on a set is the smallest reflexive relation t h a t contains it. Find the reflexive closures of the relations in Exercises 1-9. Find the reflexive closure of each relation on IR. 34. The less-than relation.
35. The g r e a t e r - t h a n relation.
36-44. The s y m m e t r i c c l o s u r e of a relation on a set is the smallest symmetric relation t h a t contains it. Find the symmetric closures of the relations in Exercises 1-9. Let R be any relation on a set A. Prove each. 45. R is reflexive if and only if A ___R. 46. R U A is reflexive. *47. R u A is the smallest reflexive relation containing R . (Hint: Assume there is a reflexive relation S such t h a t R c S c R u A. Prove that S - R or S - R u A.) *48. R U R -1 is symmetric. [Hint: Consider (R u R - 1)- 1.]
*49. R u R -1 is the smallest symmetric relation t h a t contains R. (Hint: Suppose there is a symmetric relation S such t h a t R __ S c_
RuR-1.)
Section 7.4 introduced relations t h a t are reflexive, symmetric, and transitive. Naturally we can now ask: Are there relations t h a t simultaneously manifest all three properties? The answer is yes; for instance, the relation is logically equivalent to on the set of
7.8 Equivalence Relations
483
propositions has all t h e s e properties. Such a r e l a t i o n is an equivalence relation.
Equivalence Relation A relation on a set is an e q u i v a l e n c e r e l a t i o n if it is reflexive, s y m m e t r i c , a n d transitive. E x a m p l e s 7.40-7.42 explore equivalence relations. ~
The relation has the s a m e color h a i r as on the set of people is reflexive, s y m m e t r i c , and transitive. So it is an equivalence relation, m Let Z denote an alphabet. Define a relation R on E* by x R y if Ilxli - liYll, w h e r e Ilwll denotes t h e length of t h e word w. Is R an equivalence relation? SOLUTION: 9 Since every word has the s a m e length as itself, R is reflexive. 9 Suppose t h a t x R y . T h e n IIxll = Ilyll, so Ilyll = IIxll. Consequently, y R x . T h u s R is s y m m e t r i c . 9 I f x R y 4 and y R z , t h e n Ilxli = IlYl] and Ilyli = ilzil. Therefore, and hence x R y . In o t h e r words, R is transitive.
Thus, R is an equivalence relation,
lixll = Ilzli m
(optional) Is the relation has the s a m e m e m o r y location as on the set of variables in a p r o g r a m an equivalence relation? SOLUTION: 9 Since every variable has the s a m e location as itself, the relation is reflexive. 9 If a variable x has the s a m e location as a variable y, t h e n y has the s a m e location as x, so t h e relation is s y m m e t r i c . 9 Suppose x has t h e s a m e location as y and y has t h e s a m e location as z. T h e n x has the s a m e location as z, so the relation is transitive. T h u s the relation is an equivalence relation,
m
F O R T R A N provides an e q u i v a l e n c e s t a t e m e n t , so called since t h e relation has the s a m e location as is an equivalence relation. We can see this in the following F O R T R A N s t a t e m e n t :
EQUIVALENCE (A,B),(C,D,E),(F,G,H) It m e a n s the variables A and B s h a r e the s a m e m e m o r y location; the variables C, D, and E s h a r e the s a m e m e m o r y location; a n d so do the variables F, G, and H. The congruence relation, an i m p o r t a n t relation in m a t h e m a t i c s , is a classic example of an equivalence relation. It is closely r e l a t e d to the equality relation a n d p a r t i t i o n s of a finite set, as will be seen shortly.
484
Chapter 7 Relations
K a r l F r i e d r i c h G a u s s (1777-1855), son of a laborer, was born in Brunswick, Germany. A child prodigy, he detected an error in his father's bookkeeping when he was 3. The Duke of Brunswick, recognizing his remarkable talents, sponsored his education. Gauss received his doctorate in 1799 from the University of Helmstedt. In his doctoral dissertation, he gave the first rigorous proof of the fundamental theorem of algebra, which states, "Every polynomial of degree n (> 1) with real coefficients has at least one zero." Newton and Euler, among other brilliant minds, had attempted to prove it, but failed. He made significant contributions to algebra, number theory, geometry, analysis, physics, and astronomy. His impressive work Disquisitiones Arithmeticae of 1801 laid the foundation for modern number theory. From 1807 until his death, he was the director of the observatory and professor of mathematics at the University of GSttingen. Called the "prince of mathematics" by his contemporary mathematicians, Gauss made the famous statement, "Mathematics is the queen of the sciences and the theory of numbers the queen of mathematics. "
The congruence symbol -_ was invented a r o u n d 1800 by Karl Friedrich Gauss, the g r e a t e s t m a t h e m a t i c i a n of the 19th century.
Congruence Relation L e t a , b , m ~ Z, w h e r e m > 2. T h e n a is c o n g r u e n t to b m o d u l o m , denoted by a = b(mod m), if a - b is divisible by m. The i n t e g e r m is the m o d u l u s of the c o n g r u e n c e r e l a t i o n . (This definition provides the basis of the r o o d o p e r a t o r we studied in C h a p t e r 3.) If a is not c o n g r u e n t to b modulo m, we write a ~ b (mod m). For example, since 5 1 ( 1 3 - 3), 13 = 3 (mod 5). Also, - 5 ~ 3 (mod 4) since 41(-5 - 3). But 17 ~ 4 (mod 6), since 6 ~ (17 - 4). The congruence relation has several useful properties, some of which are given below. Let a, b, c, d , m ~ Z w i t h m
> 2. Then:
(1) a = a (mod m). ( r e f l e x i v e p r o p e r t y ) (2) I f a - b (mod m), t h e n b = a (mod m). ( s y m m e t r i c p r o p e r t y ) (3) I f a = b (mod m) and b _= c (mod m), t h e n a _ c (mod m). ( t r a n s i t i v e
property) (4) Let r be the r e m a i n d e r w h e n a is divided by m. T h e n a ~ r ( m o d m).
PROOF: We shall prove p a r t 3 and leave the o t h e r p a r t s as exercises. (3) Suppose a _= b (mod m) and b =_ c (mod m). T h e n m i ( a - b) and m l ( b - c). Consequently, a - b - m q l and b - c - mq2 for some
7.8 EquivalenceRelations
485
integers q l and q2. T h e n a-
c-
( a - b) + ( b - c)
= mql = m(ql
+ mq2 +
q2)
Therefore, m l ( a - c) and a - c (mod m).
m
It follows by the t h e o r e m t h a t the congruence relation is an equivalence relation.
The Congruence Relation and the Mod Operator Suppose a - r (mod b), w h e r e 0 < r < b. T h e n it can be shown t h a t r - a mod b. Conversely, if r - a mod b, t h e n a - r (mod b). T h u s a - r (mod b) if and only if r - a mod b, where 0 < r < b. See exercises 49 and 50. For example, 43 - 3 (mod 5) and 0 _< 3 < 5; clearly, 3 - 43 mod 5. Let us digress briefly to look at an i n t e r e s t i n g application of congruences*.
Friday-the-13th Congruences can be employed to find the n u m b e r of F r i d a y - t h e - 1 3 t h s in a given year. W h e t h e r or not F r i d a y - t h e - 1 3 t h occurs in a given m o n t h depends on two factors: the day on which the 13th fell in the previous m o n t h and the n u m b e r of days in the previous month. Suppose t h a t this is a n o n - l e a p y e a r and t h a t we would like to find the n u m b e r of F r i d a y - t h e - 1 3 t h s in this year. Suppose also t h a t we know the day the 13th occurred in December of last year. Let Mi denote each of the m o n t h s D e c e m b e r t h r o u g h N o v e m b e r in t h a t order and Di the n u m b e r of days in m o n t h Mi. T h e various values of Di a r e 31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, and 30, respectively. We label the days S u n d a y t h r o u g h S a t u r d a y by 0 t h r o u g h 6 respectively; so day 5 is a Friday. Let Di -- di (mod 7), w h e r e 0 _< di < 7. T h e c o r r e s p o n d i n g values of di are 3, 3, 0, 3, 2, 3, 2, 3, 3, 2, 3, and 2, respectively. Each value of di indicates the n u m b e r of days the day of the 13th in m o n t h Mi m u s t be advanced to find the day the 13th falls in m o n t h Mi+l. For example, D e c e m b e r 13, 2000, was a Wednesday. So J a n u a r y 13, 2001, fell on day (3 + 3) - day 6, which was a S a t u r d a y . *T. Koshy, Elementary Number Theory with Applications, Harcourt/Academic Press, Boston, MA, 2002.
Chapter 7 Relations
486
i Let ti =- ~ dj (mod 7), where 1 < i < 12. T h e n ti r e p r e s e n t s the j=l total n u m b e r of days the day of December 13 m u s t be moved f o r w a r d to d e t e r m i n e the day of the t h i r t e e n t h in m o n t h Mi. F o r example, t3 - d l + d2 + d3 = 3 + 3 + 0 - 6 (mod 7). So, t h e day of December 13, 2000 (Wednesday) m u s t be advanced by six days to d e t e r m i n e the day of March 13, 2001; it is given by day (3 + 6) = day 2 - T u e s d a y . Notice t h a t the various values of ti modulo 7 are 3, 6, 6, 2, 4, 0, 2, 5, 1, 3, 6, and 1, respectively; they include all the least residues modulo 7. Given the day of December 13, they can be used to d e t e r m i n e the day of the t h i r t e e n t h of each m o n t h Mi in a n o n - l e a p year. Table 7.5 s u m m a r i z e s the day of the 13th of each m o n t h in a non-leap year, corresponding to every choice of the day of December 13 of the previous year. You m a y verify this. Notice from the table t h a t t h e r e can be at most three F r i d a y - t h e - 1 3 t h s in a n o n - l e a p year. T a b l e 7.5
~11 Jan. Feb. March April May June July Aug. Sept. Oct. Nov. Dec. Dec. 13 il 3 6 6 2 4 0 2 5 1 3 6 1
Day of the 13th in Each M o n t h in a N o n - l e a p Year.
Sun Mon Tue Wed Thu Sat
II 3 II 4 II 5 II 6 It0
6 0 1 2 a
6 0 1 2 a
2 3 4 5 6
II
4
4
0
II 2
5
5
1
4 5 6 0 1
0 1 2 3 4
3
6
2 3 4 5 6
5 6 0 1 2
1 2 3 4 5
3 4 5 6 0
6 0 1 2 3
1
4
4
0
2
5
0
1
1 2 3 4 5 0
For a leap year, the various values of di are 3, 3, 1, 3, 2, 3, 2, 3, 3, 2, 3, and 2; and the c o r r e s p o n d i n g values of ti are 3, 6, 0, 3, 5, 1, 3, 6, 2, 4, 0, and 2. Using these, we can construct a similar table for a leap year. R e t u r n i n g to the congruence relation, we now explore a close relationship between equivalence relations and partitions; but first we m a k e the following definition.
Equivalence Class
Let R be an equivalence relation on a set A and let a ~ A. The e q u i v a l e n c e c l a s s of a, denoted by [a], is defined as [a] = {x ~ A I xRa}. It consists of all elements in A t h a t are linked to a by the relation R. If x ~ [a], t h e n x is a r e p r e s e n t a t i v e of the class [a]. The next two examples explore equivalence relations. I
!
The relation R - {(a, a), (a, b), (b, a), (b, b), (c, c)} on A - {a, b, c} is an equivalence relation. Find the equivalence class of each element in A.
7.8 Equivalence Relations
SOLUTION: (1) [ a ] - {x e AlxRa} = {a,b}
487
(2) [b] = {x e AlxRb} = {a,b} = [a]
(3) [c] = {x e AixRc} = {c}
Two distinct equivalence classes exist, [a] and [c]. Class [a] has two r e p r e s e n t a t i v e s and class [c] one representative. I The relation R on the set of words over the a l p h a b e t {a, b}, defined by xRy if ]]xli - Ilyli, is an equivalence relation (see E x a m p l e 7.41). Infinitely m a n y equivalence classes exist for R, such as {~ }, {a, b }, and {aa, ab, ba, bb}. l Find all equivalence classes of the congruence relation mod 5 on the set of integers. SOLUTION: Let r be the r e m a i n d e r w h e n an integer a is divided by 5. T h e n a - r ( m o d 5). Since the possible values of r, by the division algorithm, are 0, 1, 2, 3, a n d 4, t h e r e are five distinct equivalence classes: [0] = { . . . , - 1 0 , - 5 , 0 , 5 , [1] = { . . . , - 9 , - 4 ,
10,...}
1,6, 1 1 , . . . }
[2] = { . . . , - 8 , - 3 , 2 ,
7, 12,...}
[31 = { . . . , - 7 , - 2 , 3 , 8 ,
13,...}
[4] = { . . . , - 6 , - 1 , 4 , 9 , 1 4 , . . . }
I
These t h r e e examples lead us to the following observations: 9 Every e l e m e n t belongs to an equivalence class. 9 Any two distinct equivalence classes are disjoint. These results can be stated more formally as follows. Let R be an equivalence relation on a set A, with a and b any two e l e m e n t s in A. T h e n the following properties hold: (1) a ~ [a]. (3) If [a] r [bl, t h e n [ a ] n [b] = 0.
(2) [a] = [bl if and only i f a R b .
PROOF: (1) Since R is reflexive, aRa for every a ~ A, so a e [a]. (2) Suppose [a] - [b]. Since a ~ [a] by p a r t (1), a ~ [b]. Therefore, by definition, aRb.
Chapter 7 Relations
488
Conversely, let aRb. To show that [a] c_ [b]: Let x e [a]. Then xRa. Since x R a and aRb, x R b by transitivity. Therefore, x e [b] by definition. Thus [a] __ [b]. Similarly, [b] __ [a]. Thus, [a] = [b]. (3) We will prove the contrapositive of the given statement: If[a]u[b] r ~, then [a] - [b]. Suppose [a] u [b] r ~. Then an element x should be in [a] A [b]. Then x e [a] and x e [b]. Since x e [a], x R a and hence a R x by symmetry. In addition, since x e [b], xRb. Thus a R x and x R b . Therefore, a R b by transitivity. Thus [a] = [b], by part 2. This concludes the proof.
m
It follows by Theorem 7.10 that any two equivalence classes are either identical or disjoint, but not both. Notice that Example 7.43 has two disjoint equivalence classes, la] and [c]; their union is the whole set A. Therefore, {la], [c]} is a partition of A. In fact, every equivalence relation on a set induces a partition of the set, as given by the next theorem. ~
Let R be an equivalence relation on a set A. Then the set of distinct equivalence classes forms a partition of A. m The next four examples illuminate this theorem.
~
• •
The relation belongs to the s a m e d i v i s i o n as is an equivalence relation on the set of teams in the American (National) League of major-league baseball. Let x denote a certain team in the American League. Then the class [x l consists of all teams that belong to the same division as x. By Theorem 7.11, the set of teams in the league can be partitioned as {IYankees ], [White Sox], [Marinersl }. m By Example 7.41, the relation has the same length as on the set of words Z* over the alphabet E = {a, b} is an equivalence relation. Then the set of equivalence classes formed is {lZ 1, Ia 1, laa !, laaa 1,... }; it is a partition of E*. m (optional) Suppose a FORTRAN program contains the variables A through J and the equivalence statement:
EQUIVALENCE (A,B),(C,D),(F,A,G),(C,J),(E,H) By Example 7.42 the relation shares the s a m e m e m o r y location as is an equivalence relation on the set of variables V. Let V1 = {A,B,F,G}, V2 = {C,D,J}, V3 = {E,H}, and V4 = {I}. The partition of V induced by this relation is {V1, V2, V3, V4 }. See Figure 7.36.
7.8 EquivalenceRelations
489
F i g u r e 7.36 Set of variables V.
m By Example 7.45, the distinct equivalence classes formed by the c o n g r u e n c e relation modulo 5 on Z are [0], [1], [2], [3], and [4]. T h e y form a p a r t i t i o n of the set of integers, as shown in Figure 7.37.
F i g u r e 7.37 A partition of the set of integers Z.
m
Conversely, does every partition yield an equivalence relation? The next t h e o r e m shows t h a t every partition does. Every partition of a set induces an equivalence relation on it.
PROOF: Let P = {A1,A2,... } be a partition of a set A. Define a relation R on A as: aRb if a belongs to the same block as b. We shall show t h a t R is indeed an equivalence relation. 9 Since every element in A belongs to the same block as itself, R is reflexive. 9 Let aRb. T h e n a belongs to the same block as b. So b belongs to the same block as a. T h u s R is symmetric. 9 Let aRb and bRc. T h e n a belongs to the same block as b and b to the same block as c. So a belongs to the same block as c. Therefore, R is transitive. T h u s R is an equivalence relation,
m
How can we find the equivalence relation c o r r e s p o n d i n g to a partition of a set? The next example d e m o n s t r a t e s how to accomplish this. Find the equivalence relation o n A
{{a,b},{c}}.
{a,b,c} c o r r e s p o n d i n g to the p a r t i t i o n
Chapter 7 Relations
490
SOLUTION: Define a relation R o n A as follows (see the above proof): xRy ifx belongs to the same block as y. Since a and b belong to the same block, aRa, aRb, bRa, and bRb. Similarly, cRc. T h u s R = {(a, a), (a,b,), (b, a), (b, b), (c, c)}. I
Example 7.50 can serve to develop an algorithm for finding the equivalence relation corresponding to a partition P of a finite set A. It is given in Algorithm 7.3.
Algorithm Equivalence Relation (P,A,R) (* This algorithm determines the equivalence r e l a t i o n R corresponding to a p a r t i t i o n P of a f i n i t e set A. *) Begin (* algorithm *) while P # ~ do begin (* while *) e x t r a c t a block B pair each element in B with every element in B P <-- P - B (* update P *)
endwhi 1e End
(* algorithm *) A]gorithm 7.3
T h e o r e m s 7.11 and 7.12 indicate a bijection between the family of partitions of a set and the family of equivalence relations on it.
Number of Partitions of a Finite Set
There is a delightful formula for computing the n u m b e r of partitions (and hence the n u m b e r of equivalence relations) of a set with size n. It is given n by ~ S(n, r), where S(n, r) denotes a Stirling number of the second kind, r=l defined by
S(n, 1) = 1 = S(n, n) S(n,r) = S ( n - 1, r -
1 ) + r S ( n - 1, r), 1 < r < n
See Exercises 33-40. Exercises 7.8
Determine if each is an equivalence relation. 1. The relation < on R. 2. The relation is congruent to on the set of triangles in a plane. 3. The relation is similar to on the set of triangles in a plane.
7.8 Equivalence Relations
491
4. The relation lives within 5 miles of on the set of people. 5. The relation takes a course with on the set of students on campus. Determine if each is an equivalence relation on {a, b, c}.
6. {(a,a), (b,b), (c,c)}
7. {(a,a), (a,c), (b,b), (c,a), (c,c)}
8. 0
9. {(a,a), (b,b), (b,c), (c,b)}
Using the equivalence relation {(a,a), (a,b), (b,a), (b,b), (c,c), (d,d)} on {a, b, c, d}, find each equivalence class. 10. [a]
11. [b]
12. [c]
13. [d]
A FORTRAN program contains 10 variables, A through J, and the following equivalence statement: EQUIVALENCE (A,B,C),(D,E),(F,B),(C,H). Find each class. 14. [A]
15. [B]
16. [E]
17. [J]
Using the equivalence relation in Example 7.47, find the equivalence class represented by: 18. a
19. b
20. aa
21. aaa
Using the relation has the same length as on the set of words over the alphabet {a, b, c}, find the equivalence class with each representative. 22. )~
23. a
24. ab
25. bc
26. Find the set of equivalence classes formed by the congruence relation modulo 4 on the set of integers. Find the partition of the set {a, b, c} induced by each equivalence relation. 27. {(a,a), (b,b), (c,c)}
28. {(a,a), (a,c), (b,b), (c,a), (c,c)}
A FORTRAN program contains the variables A through J. Find the partition of the set of variables induced by each equivalence statement. 29. EQUIVALENCE (A,B,C),(D,E),(F,B),(C,H) 30. EQUIVALENCE (A,B),(B,J),(C,J),(D,E,H) Find the equivalence relation corresponding to each partition of the set {a,b,c,d}. 31. {{a}, {b,c}, {d}}
32. {{a,b}, {c,d}} n
The number of partitions of a set with size n is given by ~ S(n, r), where r=l
S(n, r) denotes a Stifling number of the second kind. Compute the number of partitions of a set with the given size. 33. Two
34. Three
35. Four
36. Five
492
Chapter 7 Relations 3 7 - 4 0 . The n u m b e r of partitions of a set with size n is also given by t h e B e l l n u m b e r Bn. Using Bell n u m b e r s , c o m p u t e the n u m b e r of partitions of a set with each of the sizes in Exercises 33-36. Give a c o u n t e r e x a m p l e to disprove each. 41. The u n i o n of two equivalence relations is an equivalence relation. 42. The composition of two equivalence relations is an equivalence relation. We can c o m p u t e the day of the week c o r r e s p o n d i n g to any date since 1582, the year the Gregorian calendar was adopted. The day d of the week for the r t h day of m o n t h m in year y (> 1582) is given by d = r + [2.6m - 0.2J - 2C + D + [C/4J + [D/4J (mod 7) where C = [y/100J and D = y mod 100; d = 0 denotes Sunday; and m - 1 denotes March, m -- 11 J a n u a r y , and m -- 12 F e b r u a r y . This f o r m u l a is called Z e l l e r ' s f o r m u l a , after Christian J u l i u s J o h a n n e s Zeller ( 1 8 4 9 1899). Find the C h r i s t m a s day of each year. 43. 2000
44. 2020
45. 2345
46. 3000
Let a, b, c, d, m ~ Z with m > 2. Prove each. 47. If a _= b (mod m) and c _= d (mod m), t h e n a § c =- b § d (mod m). 48. If a - b (mod m) and c _-- d (mod m), t h e n ac =_ bd (mod m). 49. Let r be the r e m a i n d e r when a is divided by m. T h e n a ~ r (mod m). 50. If a - r (mod m) and 0 < r < m, r is the r e m a i n d e r w h e n a is divided by m. 51. Let rl and r2 be the r e m a i n d e r s w h e n a and b are divided by m, respectively. T h e n a - b (mod m) if and only if rl - r2 (mod m). 52. A positive integer N is divisible by 3 if and only if the s u m of its digits is divisible by 3. [Hint" 10 -- 1 (mod 3).] 53. A positive integer N is divisible by 9 if and only if the s u m of its digits is divisible by 9. [Hint: 10 -- 1 (mod 9).] Using the congruence relation, find the r e m a i n d e r w h e n the first integer is divided by the second. 54. 256, 3
55. 657, 3
56. 1976, 9
57. 389, 276, 9
(Hint" Use Exercise 52 or 53.)
58. The U n i t e d Parcel Service assigns to each parcel an identification n u m b e r of nine digits and a check digit. The check digit is the r e m a i n d e r mod 9 of the 9-digit n u m b e r . C o m p u t e the check digit for 359,876,015.
7.9 Partialand Total Orderings
493
59. Every b a n k check has an 8-digit identification n u m b e r d i d 2 . . , d8 followed by a check digit d given by d -- ( d l d 2 , . . . , d s ) (7, 3, 9, 7, 3, 9, 7, 3) mod 10, where (Xl,X2,... ,Xn) 9 (Yl,Y2,..-,Yn) -n xiYi. (It is the dot p r o d u c t of the two n-tuples.) C o m p u t e the i=1 check digit for 17,761,976. 60. Libraries use a sophisticated c o d e - a - b a r s y s t e m to assign each book a 13-digit identification n u m b e r dl, d 2 . . . d13 and a check digit d. Let k denote the n u m b e r of digits a m o n g d l , d 3 , d5, d7, d9, d11, and d13 greater t h a n or equal to 5. T h e n d is c o m p u t e d as d -- [ - ( d l , d 2 , . . . ,d13) 9 (2, 1,2, 1,2, 1,2, 1,2, 1,2, 1,2) - k] m o d 10, where the dot indicates the dot product. C o m p u t e the check digit for 2,035,798,008,938. "61. ( T h e c o c o n u t s a n d m o n k e y p r o b l e m ) * Five sailors and a m o n k e y are m a r o o n e d on a desert island. D u r i n g the day they g a t h e r coconuts for food. They decide to divide t h e m up in the m o r n i n g and retire for the night. While the others are asleep, one sailor gets up and divides t h e m into equal piles, with one left over t h a t he t h r o w s out for the monkey. He hides his share, puts the r e m a i n i n g coconuts together, and goes back to sleep. L a t e r a second sailor gets up and divides the pile into five equal shares with one coconut left over, which he discards for the monkey. Later the r e m a i n i n g sailors repeat the process. Find the smallest possible n u m b e r of coconuts in the original pile.
J u s t as we used the concepts of reflexivity, s y m m e t r y , and t r a n s i t i v i t y to define equivalence relations, we can use reflexivity, a n t i s y m m e t r y , and transitivity to introduce a new class of relations: partial orders. We begin this section with an example. Building a house can be b r o k e n down into several tasks, as Table 7.6 shows. Define a relation R on the set of tasks as follows: Let x and y be any two tasks; t h e n x R y if x = y or m u s t be done before y. This relation is reflexive, antisymmetric, and transitive (verify). Such a relation is a partial order. *Writer Ben Ames Williams used this problem in a short story titled "Coconuts," which appeared in the October 9, 1926, issue of The Saturday Evening Post. The story concerned a contractor who wanted to bid on a large contract. Knowing of their competitor's strong passion for recreational mathematics, one of his employees gave him this problem. The competitor became so obsessed with solving the puzzle that he forgot to enter his bid before the deadline.
Chapter 7 Relations
494 Table 7.6
Task
Requires the completion of
(1) Building the foundation (t 1) (2) Framing (t 2) (3) Subflooring (t 3) (4) Partitioning into rooms (t4) (5) Roofing (t 5) (6) Plumbing (t6) (7) Wiring (t 7) (8) Siding (t8) (9) Flooring (t 9) (10) Interior painting (tlo) (11) Exterior painting (tll) (12) Carpeting (t12) ( 13 ) Installing fixtures (t 13 )
None tl tl,t2 tl,t2,t3
tl,t2 tl,t2 tl,t2 tl,t2,t5,t9 tl,t2,t6
tl through t5, t 7 tl,t2,t8,t9
t 1 through t 7 , t 9 , t l o t I through t 11
Partial Order A r e l a t i o n R on a set A is a p a r t i a l o r d e r if it is reflexive, a n t i s y m m e t r i c , a n d t r a n s i t i v e . T h e set A w i t h its p a r t i a l o r d e r R is a p a r t i a l l y o r d e r e d set (or poset), d e n o t e d by (A, R). W h e n t h e p a r t i a l order is clear from t h e context, call t h e poset A. T h e n e x t t h r e e e x a m p l e s i l l u s t r a t e t h e s e definitions. T h e r e l a t i o n < on R is reflexive, a n t i s y m m e t r i c , a n d t r a n s i t i v e , so < is a p a r t i a l order on R a n d (R, _<) a poset. Similarly, t h e divisibility r e l a t i o n I on 1~ is a p a r t i a l order, so (1~, I) is also a poset, m Let Z - {a,b}. Define a r e l a t i o n R on E* as" x R y i f x is a prefix ofy. Is R a p a r t i a l order? 9 E v e r y word is a prefix of itself, so R is reflexive. 9 Let x R y a n d y R x . T h e n y - s x a n d x - ty for some s , t E E*, so x -t ( s x ) = (ts )x.
C o n s e q u e n t l y , ts = ~ a n d h e n c e t = s = ~. So x = y a n d t h e r e l a t i o n is antisymmetric. 9 SupposexRyandyRz. Theny = sxandz = ty for some s , t ~ E*. T h e r e f o r e , z = t ( s x ) = (ts)x. C o n s e q u e n t l y x R z , a n d t h e r e l a t i o n is transitive. Thus, R is a p a r t i a l order on E* a n d (E*, R) is a poset,
m
T h e r e l a t i o n h a s t h e s a m e c o l o r h a i r a s on t h e set of people is reflexive, b u t not a n t i s y m m e t r i c . T h e r e f o r e it is not a p a r t i a l order, m
7.9 Partialand Total Orderings
495
J u s t as an equivalence relation generalizes the equality relation, a partial order generalizes the relation <. Accordingly, a partial order is d e n o t e d by _~. x -< y m e a n s x p r e c e d e s or equals y. If x _~ y and x V=y, we write x -< y, m e a n i n g x p r e c e d e s y.
Comparable Elements Two elements x and y in a poset are c o m p a r a b l e if either x __ y or y _< x; otherwise, they are n o n c o m p a r a b l e . Let x and y be any two real n u m b e r s . T h e n either x < y or y < x. So a n y two real n u m b e r s can be compared u s i n g the relation <" they are comparable. Using the divisibility relation [ on N, the positive integers 3 a n d 6 are comparable, since 3 I 6. But 3 and 8 are not comparable, since 3 { 8 and 8~3. m
Example 7.54 indicates t h a t a poset m a y contain n o n c o m p a r a b l e elements, which justifies the word partial in partial order. This leads us to the next definitiori.
Total Order If any two elements in a poset are comparable, such a partial order is a
total order or a linear order. The poset is t h e n a totally o r d e r e d set or a linearly ordered set. Notice t h a t < is a total order on I~, whereas the divisibility relation is
not a total order on N. J u s t as sets can be used to c o n s t r u c t new sets, posets can be combined to construct new posets. In order to do this, we first define a relation on the cartesian product of two posets.
Lexicographic Order Let(A, ~1) and (B, -<2) b e t w o posets. Define a r e l a t i o n • o n A • as (a,b) • (a' b') if a < 1 a', or a = a' and b <2 b'. The relation < an extension of the alphabetic order, is the l e x i e o g r a p h i e order. The lexieographic order is a partial order on A x B. I f A and B are totally ordered sets, so is A x B. The lexieographie order can be extended to the cartesian product A1 x A2 • ... • An of n posets and n totally ordered sets. The next two examples illustrate this. Consider the cartesian product N x N x N, where the partial order is the usual _<. T h e n (2, 5, 3) _< (3, 2, 1) since the first element in the triplet (2, 5, 3) is less t h a n t h a t in the second triplet (3, 2, 1). Also, (2, 4, 5) _< (2, 4, 7). This o r d e r i n g m i r r o r s the familiar sequencing of three-digit n u m b e r s . B
Chapter 7 Relations
496
Let E be a partially ordered a l p h a b e t with the partial order -<_ a n d F~n denote the set of words of length n over Z. Since every word in E n can be considered an n-tuple, the lexicographic order on the c a r t e s i a n p r o d u c t on n posets can be applied to E n also. Let x = a l a 2 . . . a n x -< y if:
and y = b i b 2 . . , bn be any two e l e m e n t s in E n. T h e n
9 E i t h e r al _~ bl, or 9 An integer i exists such t h a t a l = b l , a 2 - b 2 , . . . ,ai = bi, and ai+l -< bi+l.
In particular, let E denote the English alphabet, a totally ordered set: a -< b -< c -< ... -< z. Clearly, computer-< d e m o l i s h , c o m p r e s s -< c o m p u t e r , c o n t e n d -< content, and content-< context. This lexicographic order can work for E* in a familiar way. Let x and y be any two words over Z. T h e n x -< y in lexicographic order if one of two conditions holds: 9 x - k, the e m p t y word. 9 If x = su and y = sv, w h e r e s denotes the longest c o m m o n prefix of x and y, the first symbol in u precedes t h a t in v in alphabetic order. For example, m a r a t h o n -< marble, m a r g i n -< m a r k e t , l i m b e r -< t i m b e r , and creation -< discretion, i
Hasse Diagrams We can simplify the digraph of a finite poset by o m i t t i n g m a n y of its edges. For instance, since a partial order is reflexive, each vertex has a loop, which we can delete. In addition, drop all edges implied by transitivity. For example, if the digraph contains the edges (a, b) and (b, c), it has the edge (a, c), which we can omit. Finally, d r a w the r e m a i n i n g edges u p w a r d and drop all arrows. The r e s u l t i n g is the I-Iasse d i a g r a m , n a m e d for the G e r m a n m a t h e m a t i c i a n H e l m u t Hasse. Examples 7.57-7.60 g e n e r a t e Hasse diagrams. C o n s t r u c t the Hasse d i a g r a m for the poset (A, I), w h e r e A = {1, 2, 3, 6, 8, 12} and I denotes the divisibility relation.
SOLUTION: The digraph of the poset is F i g u r e 7.38. Step I
Delete the loop at each vertex. The result is F i g u r e 7.39.
S t e p 2 Delete all edges implied by transitivity. F i g u r e 7.40 shows the ensuing diagram. S t e p 3 Omit all arrows and d r a w the edges " u p w a r d . " The Hasse d i a g r a m appears in F i g u r e 7.41.
7.9 Partial and Total Orderings
H e l m u t H a s s e (1898-1979), a celebrated number theorist and dedicated teacher, was born in Kassel, Germany. His father was a judge. While studying at the gymnasiums in Kassel and later Berlin, he decided on a career in i .... ~ mathematics. After the gymnasiums, he entered the navy. While in the navy ~ ~ t . , "' ~:~ in the Baltic he studied number theory and then mathematics at the Univer".... .'[ sity of Kiel. Leaving the navy in December 1918, Hasse went to GSttingen to pursue his mathematical interest and then to Marburg, receiving his Ph.D. . i in 1921. His teaching career began in Kiel in 1922. Three years later, he became a professor at Halle, then moved to Marburg, GSttingen, Berlin, and finally Hamburg in 1950, where he remained until his retirement in 1966. Earlier he had been director of the Mathematics Institute at GSttingen. But he was dismissed by the British occupation authorities in September 1945. Hasse was a member of several academies of science and author of numerous articles and books. Hasse received a number of awards including the German National prize for Science and Technology (1953) and the Cothenius Medal of the Academia Leopoldina (1968).
' :,:~,:~,;~, '~ ,
.
F i g u r e 7.38
F i g u r e 7.39
6
3
8
2
12
497
Chapter 7 Relations
498 F i g u r e 7.40
6 3
8
2
12 1
F i g u r e 7.41 Hasse diagram for the poset.
12 8
1 m
~
Draw the Hasse diagram for the poset (A, c_), where A denotes the power set of the set {a, b, c}. SOLUTION:
The set {a,b,c} has eight subsets: 0, {a}, {b}, {c}, {a,b}, {b,c}, {c,a}, and {a,b,c}. Following steps 1-3, as in Example 7.57, produces the Hasse diagram in Figure 7.42. F i g u r e 7.42
{a,b,c} b,c}
{a,b}
{
a
~
{c}
m
The relationR = {(a, a), (a, c), (a, e), (b, b), (b, c), (b, d), (b, e), (c,c), (c,e), (d,d), (d, e), (e, e)} is a partial order on {a, b, c, d, e}. Figure 7.43 displays its Hasse diagram.
7.9 Partial and Total Orderings F i g u r e 7.43
499
e
d
II Consider the alphabet E - {a,b}. The relation ~ on E*, defined by x _ y if x is a prefix of y, is a partial order. The Hasse d i a g r a m for all words of m a x i m u m length two appears in Figure 7.44.
F i g u r e 7.44
aa
ab
ba
bb
k
II
E x t r e m a l elements in a poset are i m p o r t a n t , especially in linear ordering. Extremal Elements An element a in a poset (A, • is a m a x i m a l e l e m e n t ifA has no element b such t h a t a -< b. Similarly, an element a in A is a m i n i m a l e l e m e n t if A has no element b -< a. The maximal and minimal elements in a finite poset can easily be read from its Hasse diagram, like the ones in Figures 7.41 and 7.42. The poset in Figure 7.41 has two maximal elements, 8 and 12, and one minimal element, 1. Figure 7.43 has one maximal element, e; it has two minimal elements, a and b. m
A poset may exhibit the following properties: 9 A poset m a y have more t h a n one maximal e l e m e n t and more t h a n one m i n i m a l element (see Example 7.61). 9 A poset need not have any maximal or m i n i m a l elements. For instance, the poset (Z,<) has no maximal or m i n i m a l elements. 9 A poset m a y have a maximal element but no m i n i m a l elements, or a minimal e l e m e n t but no maximal elements. F o r example, the poset (Z-, <) has a maximal element b u t no m i n i m a l elements, w h e r e a s the poset (Z +, <) has a m i n i m a l element b u t no maximal elements. Two special extremal elements are the greatest and the least.
500
Chapter 7 Relations
Greatest and Least Elements If a poset A contains an e l e m e n t a such t h a t b _~ a for every e l e m e n t b in A, a is the greatest e l e m e n t of t h e poset. If it contains an e l e m e n t a such t h a t a ~ b for every b in A, a is the least element.
T h e g r e a t e s t e l e m e n t of a poset, if it exists, is unique; likewise, t h e least element. T h e y are t h e t o p m o s t a n d t h e b o t t o m m o s t e l e m e n t s in the H a s s e diagram.
For example, the poset a least element, 1. F i g u r e e, b u t no least element. A l t h o u g h an a r b i t r a r y n o n e m p t y finite poset has
in F i g u r e 7.41 has no g r e a t e s t e l e m e n t , b u t has 7.43, on the o t h e r hand, has a g r e a t e s t e l e m e n t , poset need not have a m i n i m a l e l e m e n t , every a m i n i m a l element, as T h e o r e m 7.13 shows.
E v e r y finite n o n e m p t y poset (A, _<_)has a m i n i m a l e l e m e n t .
PROOF: Let a l be any e l e m e n t in A. If a l is not m i n i m a l , t h e r e m u s t be an e l e m e n t a2 in A such t h a t a2 -< a l. If a2 is m i n i m a l , t h e n we have finished. If a2 is not m i n i m a l , A m u s t have an e l e m e n t a3 such t h a t a3 < a2. If a3 is not m i n i m a l , continue this procedure. Since A contains only a finite n u m b e r of elements, it m u s t t e r m i n a t e with some e l e m e n t an. T h u s an < a n - 1 < " " " a3 -< a2 ~ a l. Consequently, an is a m i n i m a l element, m This result forms the c o r n e r s t o n e of t h e topological s o r t i n g technique.
Topological Sorting S t u d y the tasks tl t h r o u g h t13 for building a house, given in Table 7.6. (Recall t h a t the relation p r e c e d e s or is t h e s a m e as is a partial order on A). For these tasks to be e n t e r e d in a c o m p u t e r , the e l e m e n t s of t h e poset m u s t be a r r a n g e d in a linear order c o n s i s t e n t with t h e p a r t i a l order. If a _< b, t h e n e n t e r t a s k a before t a s k b in linear order. This t e c h n i q u e is called
topological sorting. To topologically sort a finite n o n e m p t y poset (A,-<) w i t h n elements, proceed as follows. By T h e o r e m 7.13, the poset contains a m i n i m a l elem e n t , say, a l. Exclude it from A. T h e n A - {a l} is also a finite poset. If it is n o n e m p t y , it contains a m i n i m a l e l e m e n t a2. Delete a2 from A - {a 1}. T h e n A - {al, a2} is a finite poset w i t h m i n i m a l e l e m e n t a3. C o n t i n u e this procedure until the poset becomes null. This p r o c e d u r e yields t h e desired linear order, a l -< a2 < a3 -< ... -< an. A simple a l g o r i t h m can h a n d l e this organizing (see A l g o r i t h m 7.4).
501
7.9 Partial and Total Orderings Algorithm Topological Sort (S) (* This algorithm sorts a f i n i t e nonempty poset S into a linear order using topological sorting. *) Begin (* algorithm *) while S ~=~ do begin (* while *) find a minimal element a in S S <-- S - {a} (* delete a from S *) endwhi I e End (* algorithm *) Algorithm 7.4
We can establish the validity of this algorithm using induction and Theorem 7.13. We leave its verification as an exercise. Topologically sort the elements of the poset in Example 7.57. SOLUTION: The poset given by the Hasse diagram in Figure 7.41 has one minimal element, 1. Delete it from the poset and hence from the Hasse diagram. The diagram turns into Figure 7.45 with a poset of two minimal elements, 2 and 3. Delete one of them, say, 3. The resulting poset appears in Figure 7.46; it has two minimal elements, 2 and 6. Delete one of them, say, 2. The new poset in Figure 7.47 also has two minimal elements, 6 and 8. Extract, say, 8. The resulting poset is shown in Figure 7.48. Extract its minimal element, 6; this leaves just one element, 12 (see Figure 7.49). Deleting it yields the empty set, and the procedure terminates. Thus, we can sort the elements of the poset in a linear order compatible with the partial order: 1-<3~<2-<8~<6-<12. F i g u r e 7.45
8
12
F i g u r e 7.46
8
.12
6
502
Chapter 7 Relations
F i g u r e 7.47
o
F i g u r e 7.48
12
F i g u r e 7.49
12
o12
In this example, we could have chosen a minimal element in more t h a n one way on three occasions; in other words, the o u t p u t from the topological sorting need not be unique. We close this section with a n o t h e r sorting example. Topologically sort the elements of the poset in Example 7.59. SOLUTION: Figures 7.50-7.54 track the steps of the sorting algorithm. The resultin~ o u t p u t is a < b < d -< c -< e.
Figure 7.50
e
Extract a. c a
F i g u r e 7.51
e
Extract b. c
d
7.9
F i g u r e 7.52
503
Partial and Total Orderings
e
Extract c.
F i g u r e 7.53 Extract d.
F i g u r e 7.54
e
c~ e
Extract e.
II
Exercises 7.9 Determine if each is a partial order. 1. The relation < on R
2. The relation > on R
3. The relation > on Z
4. The relation i o n Z
Determine if each is a partial order on {a, b, c}. 5. {(a,a), (b,b), (c,c)}
6. {(a,a), (a,b), (b,a), (b,b), (c,c)}
7. {(a,a), (b,b), (b,c), (c,c)}
8. {(a,a), (a,b), (b,b), (b,c), (c,c)}
Determine if each is a partial order. 9.
10.
b
Q 11"
Determine if the given elements are comparable in the poset (A, I), where A - {1, 2, 3, 6, 9, 18} and I denotes the divisibility relation. 12. 2,3
13. 2,6
14. 2,9
15. 3,18
504
Chapter 7 Relations Determine if the given elements are comparable in the poset (A, __), where A denotes the power set of {a, b, c} (see Example 7.58).
16. {a,b}, {b,c}
17. {a,b}, {b}
Arrange the following pairs from the poset N • l~ in lexicographic order.
18. (3, 5), (2, 3)
19. (3, 5), (2, 6)
20. Find three ordered pairs of positive integers that precede the pair (2, 3) in lexicographic order. 21. Find three triplets of positive integers that precede the triplet (2, 3, 5). Arrange the following words over the English alphabet in lexicographic order. 22. mat, rat, bat, cat, eat, fat 23. neighbor, neophyte, neglect, moment, luxury, maximum 24. custom, custody, custard, cushion, curtain, culvert 25. discreet, discrete, discount, discourse, diskette, discretion 26. Arrange all words of length _< 2 over the alphabet {a, b} in lexicographic order. Construct a Hasse diagram for each poset. 27. (A, f), where A - {1, 2, 3, 6, 9, 18} and I denotes the divisibility relation. 28. (A, J), where A = {1, 2, 3, 6, 8, 24} and I is the divisibility relation. 29. (A,R), where A = {a,b,c} and R - {(a,a), (a,b), (b,b), (b,c), (c,c)}. 30. (A, __), where A denotes the power set of the set {a, b }. 31. Let A denote the set of words of length _< 3 over the binary alphabet. The relation R, defined on A by xRy if x is a prefix of y, is a partial order. Draw a Hasse diagram for the poset (A, R). Find the maximal and minimal elements in the poset with each Hasse diagram. 32.
f_
33.
c
s d
34.
dl
a Find the maximal and minimal elements, if they exist, in each poset. 35. (A, _<), where A denotes the set of positive even integers. 36. (A, _<), where A denotes the set of negative even integers.
7.9 Partial and Total Orderings
37. ( A , I ) , w h e r e A - {1,2,3,6,9,18}
505
38. (A,I),whereA = {1,2,3,6,8,24}
39-42. Find the greatest and least elements, if they exist, in the posets of Exercises 35-38. Mark each statement as true or false. 43. Every poset has a maximal element. 44. Every poset has a minimal element. 45. The maximal element in a poset, if it exists, is unique. 46. The minimal element in a poset, if it exists, is unique. 47. Every poser has a greatest element. 48. Every poset has a least element. Give a counterexample to disprove each statement. 49. Every poset has a maximal element. 50. Every poset has a minimal element. 51. Every poset has a greatest element. 52. Every poset has a least element. Topologically sort the elements of each poset. 53. The poset in Figure 7.43.
54. The poset in Figure 7.44.
55. The poset in Exercise 32.
56. The poset in Exercise 33.
57. (A,I),whereA = {1,2,3,6,9,18}
58. (A,I),whereA = {1,2,3,6,8,24}
59. Topologically sort the tasks t l through t13 in building a house, given by Table 7.6. 60. A project contains six subprojects, A through F. Results from some of the subprojects are needed by others, as Table 7.7 shows. Find the ways the subprojects can be sequentially arranged.
T a b l e 7.7 Subproject
A
Requires results from
B,D
B
C
C D E F
None C,E None A
Chapter 7 Relations
506
61. Seven tasks, A t h r o u g h G, comprise a project. Some of t h e m can only be started after others are completed, as indicated by Table 7.8. How m a n y ways can the tasks be arranged sequentially, so the prerequisites of each task will be completed before it is started? List one of them.
T a b l e 7.8
Task A B C D E F G
Requires the completion of B,C G None A,F None B,E None
*62. Let(A, ___1) and (B, <2) be two posets. Define a relation ___3on A x B as follows: ( a , b ) <__3 ( a ' , b ' ) i f a -<1 a I and b _<2 b I" Prove t h a t _<3 is a partial order. Prove each. *63. The greatest element of a poset (A, _<), if it exists, is unique. *64. The least element of a poset (A, _<), if it exists, is unique. *65. Every finite n o n e m p t y poset (A, _<) contains a maximal element. *66. Establish the correctness of Algorithm 7.4.
We studied the fundamentals of the theory of relations and explored how relations on finite sets can be represented by graphs and boolean matrices.
Boolean Matrix 9 A b o o l e a n m a t r i x has bits for entries
(page 438).
9 The j o i n A v B and m e e t A v B of two boolean matrices A and B are obtained by o r i n g and a n d i n g the corresponding bits, respectively (page 439). 9 The b o o l e a n p r o d u c t A | B of two boolean matrices A = (aij)m x p and B = (bjk)pxn is the matrix C - (cij)m• where cij = (all A b V) v (ai2 A b2j) v . . . v (alp A bpj) (page 439).
ChapterSummary
507
9 The complement A' of a boolean m a t r i x A r e s u l t s from s w a p p i n g O's and l ' s (page 442).
Binary Relation 9 A b i n a r y r e l a t i o n R from A to B is a subset o f A x B. If (a, b) ~ R, we write aRb; otherwise, we write ab (page 443). 9 A relation R from a finite set to a finite set can be r e p r e s e n t e d by its a d j a c e n c y m a t r i x , MR (page 444). 9 A relation on a finite set can be r e p r e s e n t e d by a d i g r a p h
(page 445).
9 E v e r y function f :A -~ B is a b i n a r y relation from A to B such t h a t (1) d o m ( f ) = A; and (2) if (a, b) E f and (a, c) ~ f, t h e n b = c (page 448).
Properties of Relations 9 A relation R on A is r e f l e x i v e if a R a for every a e A
(page 455).
9 A relation R on A is s y m m e t r i c if a R b implies b R a
(page 456).
9 A relation R on A is a n t i s y m m e t r i c
if a R b A b R a implies a - b (page 456).
9 A relation R on A is t r a n s i t i v e if a R b A bRc implies a R c
(page 459).
Constructing New Relations 9 The u n i o n and intersection of two relations R a n d S from A to B are R U S - {(a, b)laRb v a S b }; R A S - {(a, b)[aRb v a S b } (page 462). 9 If R and S are relations on a finite set, M R u s -- M R v M S and M R n S -MR A MS (page 463). 9 Let R be a relation from A to B and S a relation from B to C. T h e i r composition is R | S - {(a, c) ~ A x C l a R b A b R c for some b in B} (page 463). 9 In particular, if A, B, and C are finite sets, t h e n M R o S -- M R Q M S (page 466). 9 For a relation R on a finite set, MR,, -- (MR)[hi
(page 467).
9 For a t r a n s i t i v e relation R, R n c_ R for every n >_ 1
(page 468).
9 The c o n n e c t i v i t y r e l a t i o n R ~ is the u n i o n of all powers of R" cx~
R~ -
U Rn; M R ~ = M R V MR2 V MR3 v . . . n-1
(page 471).
Chapter 7 Relations
508
9 In particular, let R be a relation on a set with size n. T h e n n
R ~ = O R i and M R -- M R v MR2 v . . . i=l
v MRn
(page 473).
Transitive Closure 9 The transitive closure R* of a relation R is the smallest t r a n s i t i v e relation containing it (page 475). 9 R* - R ~
(page 477).
9 W a r s h a l l ' s a l g o r i t h m systematically finds M R .
(page 477).
Equivalence Relations and Partitions 9 An e q u i v a l e n c e relation is reflexive, symmetric,
and t r a n s i t i v e (page 483).
9 An equivalence relation on a set induces a partition of the set a n d vice versa (page 488).
Partial and Total Orders 9 A partial order • is reflexive, a n t i s y m m e t r i c , and transitive. A set t o g e t h e r with a partial order is a p o s e t (page 494). 9 Two elements, x and y, in a poset are c o m p a r a b l e y • x
if either x _< y or (page 495).
9 If any two elements in a poset are comparable, the partial order is a t o t a l o r d e r or linear order (page 495). 9 The l e x i c o g r a p h i c order is an extension of the alphabetical o r d e r to posets (page 495). 9 The Hasse diagram of a finite poset contains no loops, edges implied by transitivity, or arrows; its edges are d r a w n u p w a r d (page 496). 9 The elements of a finite n o n e m p t y poset can be s o r t e d t o p o l o g i c a l l y (page 500).
Review Exercises D e t e r m i n e if each relation on {a, b, c} is reflexive, symmetric, a n t i s y m m e t ric, or transitive. 1. {(a,a), (b,c), (c,b), (c,c)}
2. {(a,b), (b,a), (b,c), (c,b)}
Chapter Summary
509
Using the relations R = {(1, 1), (1, 2), (2, 2), (3, 2) } and S (2,3), (3,2)} on {1,2,3}, find each. 3. (R u S)'
4. R' n S'
5. (R N S)'
7. ( R U S ) -1
8. R - l u S -1
9. ( R N S ) -1
11. R G S
12. R 2
{(1, 1), (2, 2),
6. R' u S' 10. R - 1 A S -1 14. R ~
13. R 3
With the adjacency matrices of the relations R -- {(1, 1), (1,2), (2,2), (3,2)} and S - {(1, 1), (2, 2), (2, 3), (3, 2)} on {1, 2, 3}, find each. 15. (MR)'
16. (MR) T
17. MRoS
19. R Q S
20. R 2
21.
18. MR2
MR,
22. R*
Find the transitive closure of the relation on A = {a,b,c} with each adjacency matrix. 0
23.
0
1
0 1
0 1
[0 J
24.
1
0
0 1
1 0
[
0
Since 1972 every book published commercially has a 10-digit identification number, its International Standard Book Number (ISBN). The ISBN consists of four parts: a group code (one digit), a publisher code (two digits), a book code (six digits), and a check digit. For instance, the ISBN of an earlier text by this author is 0-12-421171-2. The group code 0 indicates that the book was published in an English-speaking country. The publisher code (12) identifies the publisher, Academic Press, and the book code (421171) is assigned by the publisher to the book. The check digit d, where 0 _< d _< 10 and 10 is denoted by X, is used to detect errors and is computed as follows" Let x l , x 2 , . . . ,x9 denote the first nine digits in the ISBN. Let s denote the dot product of the 9-tuples (Xl,X2,xa,x4,xs,x6,x7,xa,x9) and (10,9,8,7,6,5,4,3,2). Then d - - s (mod 11). Compute the check digit if the first 9 digits of the ISBN are: 25. 0-12-421171
26. 0-87-620321
Determine if each is an equivalence relation on {a, b, c}. 27. {(a,a), (a,b), (b,a), (c,c)}
28. {(a,a), (a,c), (b, b), (c,a), (c,c)}
Using the equivalence relation {(a, a), (a, c), (b, b), (b, d), (c, a), (c, c), (d, b), (d, d) } on A = {a, b, c, d}, find each equivalence class. 29. [a]
30. [b]
31.
[c]
32. [d]
33. Find the partition of A induced by the above relation.
Find the equivalence relation corresponding to each partition of the set {2,3,4,7}. 34. {{2,4, 7}, {3}}
35. {{2, 4}, {3}, {7}}
510
Chapter 7 Relations Find the n u m b e r of partitions of a set with the given size. 36. Two
37. Seven
M a r k each s t a t e m e n t as true or false, where A is an a r b i t r a r y set, R an a r b i t r a r y relation, and A the equality relation. 38. The null relation is reflexive. 39. The null relation is symmetric. 40. The null relation is transitive. 41. A relation R on A is reflexive if and only if A c_ R. 42. The less-than relation on R is irreflexive. 43. The less-than relation on R is antisymmetric. 44. If R is transitive, R* - R. 45. If R* - R, R is transitive. 46. The less-than relation on R is a partial order. 47. The less-than relation on R is a total order. 48. Arrange all binary words of length 3 in lexicographic order, w h e r e 0-<1. 49. Arrange all binary words of length _< 3 in lexicographic order, w h e r e 0-<1. The relation _<_on the set A of required courses given in Table 7.1 by x _<_y ifx is a prerequisite of or the same as y is a partial order on A. 50. Draw the Hasse diagram for the poset. 51. Topologically sort the required computer science courses. Use the poset in Figure 7.55 to find the following.
F i g u r e 7.55
d
e
//
a
52. The maximal and minimal elements, if they exist. 53. The greatest and least elements, if they exist. 54. Topologically sort the elements in the poset.
Chapter Summary
511
Let R and S be any two relations on a set A. Prove each. 55. (R n S ) 2 C__R 2 n S 2
56. (R n S ) n C R n n S n, n > 1
57. R is antisymmetric if and only if R N R -1 __c A.
58. The intersection of two equivalence relations is an equivalence relation. Supplementary Exercises
Let D denote any day of the week, where 0 < D _< 6 and D - 0 denotes Sunday. The day of the week corresponding to any day ( m / d / y ) in the Gregorian calendar is given by
23m
- 1
-
if m < 3
D--
L
otherwise
k-5-o
(M. Keith and T. Carver, 1990) Compute the day of each date. 1. July 4, 1776
2. December 25, 2076
Prove each. 3. Let p be a prime. Then PI(~) for 0 < k < p. 4. ( F e r m a t ' s t h e o r e m ) Let a e N and p a prime. Then ( H i n t : Use induction.) Let a,b e I~ a n d p a prime. Prove t h a t
(a + b) p - a
p + bp
ap -
a
(modp).
( m o d p ) using:
5. The binomial theorem and Exercise 3. 6. F e r m a t ' s theorem. Evaluate each. 7. 51~176176 (mod 7)
8. 124000 (mod 5)
9. Prove that the product of any three consecutive integers is divisible by 3. 10. Let n e W. Prove t h a t the n u m b e r formed by concatenating the decimal values of 2 n and 2 n+l is divisible by 3. (For example, when n - 5, both 3264 and 6432 are divisible by 3.) (D. Burns, 1977)
Chapter 7 Relations
512
11. Around 1760, J o h n Wilson (1741-1793), an English m a t h e m a t i c i a n , proved t h a t (p - 1)! _= - 1 ( m o d p ; t h a t is, the quotient
(p- i)! + W(p)
1
-
is an integer. This is known as W i l s o n ' s t h e o r e m . ) p is a W i l s o n p r i m e if W(p) -= 0 (mod p); t h a t is, if ( p - 1)! -- - 1 (mod p2). F i n d the two Wilson's primes < 20. (The third and largest k n o w n Wilson prime is 563. It is not known w h e t h e r or not there are infinitely m a n y Wilson primes.) 12. ( L u c a s ' T h e o r e m ) Let p be a prime, n = ( a t a t - 1 . . . ao)p and k (btbt-1 . . . bo)p. Then (nk ) - (~i) [at-l~ ao ~,bt_l]... (b0)(mod p). Using Lucas' theorem, find the r e m a i n d e r s when the binomial coefficients C(234,19) and C(3456,297) are divided by 5. "13. Let a and b be relatively prime integers. Prove t h a t a ~(b) 4- b v~(a) =- 1 (mod ab ). (Hint: Let n c N and a an integer relatively prime to n. T h e n a ~(n) =_ 1 (mod fi). This is E u l e r ' s t h e o r e m . ) (M. Charosh, 1983) "14. Show t h a t a set with n elements m u s t have at least 2 rZ relations with the same reflexive closure. (Hint: Use the pigeonhole principle.) "15. Show t h a t a set with size n m u s t have at least 2 n(n-l//2 relations with the same symmetric closure. (Hint: Use the pigeonhole principle.)
Computer Exercises Write a p r o g r a m to perform each task, where n denotes a positive integer < 20 a n d A - { 1 , 2 , . . . , n } . 1. Read in two boolean matrices. P r i n t their join, meet, complement, and boolean product, if defined. 2. Read in the elements of a relation R on A. P r i n t its adjacency m a t r i x MR. Use MR to e n u m e r a t e the elements in the relation. 3. Read in the adjacency m a t r i x of a relation on A. Determine if the relation is reflexive, symmetric, antisymmetric, or transitive. 4. Read in the adjacency matrices of two relations on A. P r i n t the adjacency matrices of their union, intersection, complements, and inverses. 5. Read in the adjacency m a t r i x of a relation R from A to B and t h a t of a relation S from B to C. P r i n t MRoS.
Chapter Summary
513
6. Read in the adjacency matrix of a relation R on A. Print MR., using the connectivity relation algorithm and Warshall's algorithm, and compare the number of bit operations required by them. 7. Read in the adjacency matrix of a relation on A. Determine if the relation is an equivalence relation. 8. Read in two positive integers r and n, where r < n < 10. Pri nt the number of equivalence relations that can be defined on a set of size n, using Stirling numbers of the second kind and Bell numbers. 9. Read in the adjacency matrix of a partial order on a poset A. 9 Determine if it is a partial order. 9 Print the boolean matrix corresponding to its Hasse diagram. 9 Topologically sort the elements of the poset. 10. Determine the most likely day on which the 13th of a month will fall in the Gregorian calendar. Since the Gregorian calendar repeats every 400 years, you need only consider a period of 400 years. 11. Read in a positive integer n < 1000 and print all Wilson primes < n.
Exploratory Writing Projects Using library and Internet resources, write a team report on each of the following in your own words. Provide a well-documented bibliography. 1. Explain and illustrate the various relational operations in the theory of databases. 2. Describe the algorithm employed by the United States Postal Service to encode the nine-digit zip code into barcodes, and decode the barcodes (62 bars) into zip codes. 3. Describe how modular arithmetic can be used to construct m-pointed stars. 4. Explain the coding scheme for creating European Article Numbering (EAN) barcodes to uniquely identify books. Extend it to include the five-digit add-on code to provide price information. 5. Describe the origins of the Julian and Gregorian calendars. 6. Develop a formula to determine the day d of the week for the rth day in a given month m of any given year y in the Gregorian calendar, where y > 1600. 7. Study the algorithms of assigning driver's license numbers in various states.
Chapter 7 Relations
514
8. State and prove the Chinese Remainder Theorem. Illustrate it using ancient examples from China and India. 9. Write an essay on the various cryptosystems. Enrichment Readings 0
0
0
A. V. Aho et al., Data Structures and Algorithms, Addison-Wesley, Reading, MA, 1983. W. T. Bailey, "Friday-the-Thirteenth,"Mathematics Teacher, Vol. 62 (May 1969), pp. 363-364. J. A. Gallian, "Assigning Driver's License Numbers," Mathematics
Magazine, Vol. 64 (Feb. 1991), pp. 13-22. 0
0
0
0
Q
0
J. A. Gallian, "The Mathematics of Identification Numbers," The College Mathematics Journal, Vol. 22 (May 1991), pp. 194-202. J. A. Gallian and S. Winters, "Modular Arithmetic in the Marketplace," The American Mathematical Monthly, Vol. 95 (June--July 1988), pp. 548-551. D. W. Hardy and C. L. Walker, Applied Algebra: Codes, Ciphers, and Discrete Algorithms, Prentice-Hall, Upper Saddle River, NJ, 2003. T. Koshy, Elementary Number Theory with Applications, Harcourt/ Academic Press, Boston, MA, 2002, pp. 210-436. P. Lefton, "Number Theory and Public-Key Cryptology," Mathematics Teacher, Vol. 84 (Jan. 1991), pp. 54-62. R. E. Lewand, Cryptological Mathematics, Math. Association of America, Washington, D.C., 2000.
10. J. E. Shockley, Introduction to Number Theory, Holt, Rinehart and Winston, New York, 1967, pp. 36-69. 11. J. R. Snow, "An Application of Number Theory to Cryptology," Mathematics Teacher, Vol. 82 (Jan. 1989), pp. 18-26. 12. P. M. Tuchinsky, "International Standard Book Number, " The UMAP Journal, Vol. 5 (1985), pp. 41-54.
Chapter 8
Graphs E u l e r c a l c u l a t e d w i t h o u t effort, as m e n breathe, or as eagles s u s t a i n t h e m s e l v e s in the w i n d . -- FRAN(~OIS
ARAGO
G
raph theory, a fascinating branch of mathematics, has n u m e r o u s applications to such diverse areas as computer science, engineering, linguistics, and m a n a g e m e n t science, as well as the n a t u r a l and social sciences. Like many i m p o r t a n t discoveries, graph theory grew out of an interesting physical problem, the celebrated KSnigsberg Bridge Puzzle (see Section 8.1). The o u t s t a n d i n g Swiss m a t h e m a t i c i a n Leonhard Euler solved the puzzle in 1736, thus laying the foundation for graph theory and earning his title as the father of graph theory. This chapter presents the fundamentals of the field he created, with its a s s o r t m e n t of new terms. Since graph terminology is not yet standard, definitions of basic terms can vary from book to book, an i m p o r t a n t fact to remember. We will study the following interesting problems as well as others: 9 The City of KSnigsberg (see Figure 8.1) comprises the river banks A and C and the islands B and D. These four land areas are connected by seven bridges. Could a KSnigsbergian take a walk t h r o u g h his beloved city, passing over each bridge exactly once? Could he take a walk t h r o u g h the city passing over each bridge exactly once and r e t u r n home? 9 At a sesquicentennial ball, there are n guests and each person shakes hands with everybody else exactly once. How would you represent the handshakes pictorially? How many handshakes are made? 9 Three married couples want to cross a river in a rowboat which can carry only two people at a time. No h u s b a n d will allow his wife to be in the boat or on the shore in the presence of another m a n unless he is also present. The women can, of course, row well. How can they all cross? (S. Gudder, 1976) 515
Chapter 8 Graphs
516
l::
.... r
L e o n h a r d E u l e r (1707-1783) was born in Basel, Switzerland. His father, a mathematician and a Calvinistpastor, wanted him also to become apastor. Although Euler had different ideas, he followed his father's wishes, entering the University of Basel to study Hebrew and theology. His hard work at the University and remarkable ability brought him to the attention of the wellknown mathematician Johann Bernoulli (1667-1748). Recognizing young Euler's talents, Bernoulli persuaded the boy's father to change his mind, and Euler was allowed to pursue his studies in mathematics. At age 19 Euler brought out his first paper. Although it failed to win the Paris Academy Prize in 1727, he eventually won the prize 12 times. Euler was the most prolific mathematician, significantly contributing to every branch of mathematics. With his phenomenal memory, he had perfect recall for every formula. A genius, he could work anywhere and under any conditions. Euler belongs in a class by himself.
9 A developer is building three new houses on one side of a street. If she would like to connect three utilities to each of them from the other side, can she lay the utility lines without any crossings?
The Prussian city of KSnigsberg (called Kaliningrad during the era of the Soviet Union) lies on the Pregel river (see Figure 8.1). It consists of the two river banks A and C, and the two islands B and D. Seven bridges connect the four land areas of the city.
F i g u r e 8.1
A
The City of K6nigsberg.
Residents of the city used to take evening walks from one part of the city to another. This, naturally, suggested the following question: Is it possible to walk through the city, traversing each bridge exactly once?
The problem sounds simple, and you might want to try a few possible paths before going any further. After all, by the multiplication principle, the maximum number of possible paths is 7! = 5040. In 1736, Euler, while at St. Petersburg Academy, published a solution to the problem: No such walk is possible. In fact, he proved a far more
8.1 Graphs
517
general result, of which the KSnigsberg bridge puzzle is a special case. Euler constructed a mathematical model like Figure 8.2 for the problem in which points A and C represent the two river banks; B and D the two islands. The arcs or line segments joining them represent the seven bridges.
Figure 8.2
A
A mathematical model for the KSnigsberg bridge puzzle.
The KSnigsberg bridge problem can now be stated in layman's language as follows: B e g i n n i n g at one of the points A, B, C, or D, is it possible to trace the figure without lifting your pencil or traversing the same edge twice? Section 8.5 will explore this further. The KSnigsberg bridge model in Figure 8.2 consists of four p o i n t s - - A , B, C, and D m and the arcs or line segments joining them. Such a figure is called a graph.
Graph A graph (or undirected graph) G consists of a nonempty finite set V of points (called v e r t i c e s or n o d e s ) and a set E ofunordered pairs of elements in V (called edges). The graph G is the ordered pair ( V , E ) : G - (V,E). An edge connecting the vertices u and v is denoted by {u, v}, u-v, or some label. Geometrically, edges are denoted by arcs or line segments. The next example uses these terms to apply graphs to the theory of communications. ~ ~ ~ l
A taxpayer files his federal tax return at an Internal Revenue Service (IRS) center located in the region in which he lives. Six of the IRS centers in the continental United States are (1) Atlanta, (2) Holtsville, (3) Philadelphia, (4) Cincinnati, (5) Austin, and (6) Fresno. A computer at each center can communicate with a computer at any other center over a telephone line. This network of computers can be modeled by a graph, as in Figure 8.3.
Figure 8.3
el
4
2
5
1
6
Chapter 8 Graphs
518
The graph has six vertices: 1, 2, 3, 4, 5, and 6. Each vertex represents a computer and each edge a telephone link. Since each computer can communicate with every other computer, an edge runs between any two vertices; el denotes edge {3, 4}. m Figure 8.4 displays more graphs. The one in Figure 8.4a contains three v e r t i c e s m a , b, and c: V - {a, b, c}. Its three edges are el - {a, a}, e 2 - {a,b}, and e3 = {b,c} : E - { e l , e 2 , e 3 } - - { { a , a } , {a,b}, {b,c}}. c
Figure 8.4 b e
e
~
3
U
e2 be~te5
1
\c (a)
e2(
e3
c
u
(b)
(c)
Airline route maps provide a fine paradigm of a graph, with each vertex representing a city and every edge a direct flight from one city to another. We now introduce several special classes of graphs: simple, complete, bipartite, complete bipartite, and weighted graphs.
Simple Graph An edge {a, a} emanating from and terminating at the same vertex a is a loop.* P a r a l l e l e d g e s have the same vertices. A simple graph contains no loops or parallel edges. For example, the graphs in Figures 8.4a and b display a loop at a, while the ones in Figures 8.5 and 8.6 have two parallel edges, e2 and e3, connecting vertices a and b. Figure 8.3 is a simple graph, unlike the graphs in Figure 8.4 (why?). By means of graphs, modular arithmetic can construct aesthetically pleasing designs, as the next example demonstrates. Choose V - {0, 1, 2, 3, 4}, the set of integers modulo 5.
Figure 8.5
2
A pentagram. 1
3
*Although {a,a} = {a} as sets, the loop at a is denoted by {a,a} or a-a.
8.1 Graphs
519
F i g u r e 8.6
1
3
(a)
(b)
Mark the vertices at equal intervals on a circle. An edge exists between the vertices x and y ify - x + 2 (mod 5). For instance, 1 - 4 + 2 (mod 5); so an edge runs between the vertices 4 and 1. A simple graph, called a p e n t a g r a m , materializes in Figure 8.5. Coloring the various wedge-shaped regions creates the pleasing design in Figure 8.6a. The pentagram reminds us of the point-to-point communication system in Figure 8.6b. m Graphs can also facilitate the study of hydrocarbons. Arthur Cayley used graphs in studying isomers of hydrocarbons. A hydrocarbon molecule consists of carbon and hydrogen atoms. Each hydrogen atom (H) is bonded to a single carbon atom (C), whereas a carbon atom bonds with two, three, or four atoms which can be carbon or hydrogen.
F i g u r e 8.7
H
H
H
H
F i g u r e 8.8
H
H
Cyclobutane, C4H8.
I
!
ic
ic
H
H
Ethane, C2H6.
Ho
=H =H
An ethane molecule, for instance, consists of two carbon atoms and six hydrogen atoms. Its s t r u c t u r a l f o r m u l a appears as the graph in Figure 8.7, representing the m o l e c u l a r f o r m u l a C2H6. Figures 8.8 and 8.9
Chapter 8 Graphs
520 Figure 8.9
H H
Cyclopentane, C5Hi0. H
H
H
H
show the molecules,
structural
formulas
of
cyclobutane
and
cyclopentane m
It is not necessary to have edges between a n y two vertices in a graph, so we m a k e the following definition.
Adjacency and Incidence Two vertices v and w in a g r a p h are a d j a c e n t if an edge r u n s b e t w e e n them; if a loop occurs at v, v is adjacent to itself. An isolated vertex is not adjacent to any vertex. Adjacent edges have a c o m m o n vertex. An edge is i n c i d e n t with a vertex v if v is an endpoint of the edge. For example, in the graph in Figure 8.4a, vertices a and b are adjacent, but a and c are not. Edges {a, b } and {b, c } are adjacent. Edge e2 is incident with vertices a and b. The g r a p h contains no isolated vertices. The concept of the degree of a vertex is i m p o r t a n t in the s t u d y of graphs, as will be seen later.
Degree of a Vertex The degree of a vertex v in a graph is the n u m b e r of edges m e e t i n g at v; it is denoted by deg (v). Clearly, a vertex v is isolated if deg (v) contributes two to its degree.
0. In addition, a loop at v
For example, in Figure 8.4b, deg(a) - 5, deg (b) = 3, and deg (c) = 2. In Figure 8.4c, deg (a) = 3, deg (b) - 2, and deg (c) - 1. We have seen t h a t digraphs can arise from matrices; g r a p h s also can arise from them.
Adjacency Matrix The adjacency matrix of a g r a p h with n vertices vi, V 2 , . 9 9 , Vn is an n z n m a t r i x A = ( a i j ) , where aij - n u m b e r of edges from vi to v j . Because every edge in a g r a p h is undirected, aij - aji for every i and j , so the adjacency m a t r i x of every graph is symmetric. If the g r a p h is simple, A is a boolean matrix.
8.1 Graphs
521
For example, the adjacency m a t r i x of the KSnigsberg bridge model in Figure 8.2 is A B C D
A
m
A B C D
0 2 1
2 0 2 1
0 2 0 1
row sum
1 1 1 0
3 5 3 3
deg (B)
The sum of the n u m b e r s along each row gives the degree of the corresponding vertex. For instance, deg (A) - 3 and deg (B) - 5. Theorem 8.1 shows a close relationship between the sum of the degrees of the vertices of a graph and the n u m b e r of edges in it. [ ~ ~ ~ ~ ~
Let e denote the n u m b e r of edges of a graph G with n vertices Vl,
V2,
. . .
Un.
n
Then ~ deg ( v i ) - 2e. i-i
PROOF: Every nonloop edge is incident with exactly two (distinct) vertices. On the other hand, every loop edge is incident with the vertex twice. T h u s every edge, w h e t h e r it is a loop or not, contributes a two to the sum of the degrees n
of the vertices; so ~ deg
(vi) -
2e.
m
i=l
According to T h e o r e m 8.1, the sum of the degrees in a graph is always an even integer. This fact can determine if a given n u m b e r of edges and vertices with known degrees can g e n e r a t e a graph (and hence a hydrocarbon). The next two examples employ this test. Is a graph with four vertices a, b, c, and d with deg (a) - 4, deg (b) - 5 deg (d), and deg (c) - 2 possible? SOLUTION" Sum of the degrees - 4 + 5 + 2 + 5 - 16. Since the sum is even, there might be such a graph with 16/2 - 8 edges. In fact, Figure 8.10 d e m o n s t r a t e s one (see Exercise 65).
F i g u r e 8.10
b
a
c
d
m
Chapter 8 Graphs
522
Example 8.5 applies T h e o r e m 8.1 to hydrocarbon molecules. (optional) In a hydrocarbon molecule, a hydrogen atom is bonded to exactly one carbon atom. If a carbon atom bonds to four atoms, carbon or hydrogen, can a hydrocarbon molecule with three carbon atoms and five h y d r o g e n atoms exist? SOLUTION: Suppose there is such a molecule. Its vertices representing atoms and edges degrees of the vertices of the graph is n o t an even integer, such a graph and cannot exist,
structural formula is a g r a p h with r e p r e s e n t i n g bonds. The sum of the 3 94 + 5 9 1 = 17. Since this s u m is hence such a hydrocarbon molecule m
Another useful consequence of T h e o r e m 8.1 lies below. The n u m b e r of odd degree vertices in a graph is an even integer.
PROOF: Let G be a graph with e edges. Let x denote the sum of the degrees of even degree vertices and y the sum of the degrees of odd degree vertices. By Theorem 8.1, x + y = 2e. Since x is the sum of even integers, x is even, so y = 2 e - x is also an even integer. But y is the sum of odd integers, so for y to be even, the n u m b e r of addends in the sum m u s t be even. In other words, the n u m b e r of odd degree vertices m u s t be even. m For example, the KSnigsberg model in Figure 8.2 contains four vertices of odd degree. J u s t as a set can have subsets, a graph can have subgraphs.
Subgraph of a Graph A subgraph of a graph G = ( V , E ) is a graph G1 = (V1,E1) where V1 C V a n d E 1 c_ E. The graphs G1 and G2 in Figure 8.12 are subgraphs of the graph G in Figure 8.11 (Why?).
Figure 8.11 b-
a
//~
-d
e
Graph G (Star of David)
8.1
Graphs
523
Figure 8.12
b
a-
ve
Graph G1
m
Graph G2
Next we present two fascinating occurrences of Fibonacci and Lucas numbers in the study of hydrocarbons.*
Fibonacci and Paraffins Delete the hydrogen atoms from the structural formulas of saturated hydrocarbon molecules CnH2n+2. This yields graphs consisting of only carbon atoms and edges between adjacent vertices. The topological index of such a graph G with n vertices is the total number of different ways the graph can be partitioned into disjoint subgraphs containing all vertices and exactly k edges, where k > 0. For example, Figure 8.13a shows the carbon atom skeleton for the paraffin, pentane C5H12, and Figure 8.13b shows its various possible partitionings. Consequently, the topological index of pentane is 1 + 4 + 3 - 8.
Figure 8.13
9
:
:
=
:
9
.
o
k=0
(a)
9
9
9
.
.
k=l
:
:
9
:
=
=
:
k=2
(b)
Table 8.1 shows the carbon atom graphs Gn and their topological indices of 10 paraffins CnH2n+2, n >_ 1. For a graph consisting of a single vertex, the index is defined as one. It appears from the table that the index of Gn is Fn+ l. To confirm this observation, let tn denote the topological index of the carbon atom graph Gn of a paraffin with n vertices, as Figure 8.14 shows. C a s e 1 Suppose the edge V n _ I - V n is not included. Then the edge V n - 2 Vn-1 may or may not be included. Consequently, the topological index of the remaining graph Gn- 1 is tn- 1. *T. Koshy, Fibonacci and Lucas Numbers with Applications, Wiley, New York, 2001.
Chapter 8 Graphs
524 Table 8.1
Paraffin
n
Graph
k
Topological indices of paraffins CnH2n+2.
0 1 2 Methane Ethane Propane Butane Pentane Hexane Heptane Octane Nonane Decane
1 2 3. 4 5 6 7 8 9 10
9 : . . . . . . .
= = = . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
.
1 1 1 1 1 1 1 1 1 1
Total 3
4 5
1 2 3 1 4\3 ~ 1~0 1 4 7 15 10 1 8 21 20 5 9 28 35 15 1
1 2 3 5 8 13 21 34 55 89 t
Fn+l
Figure 8.14
gl
72
73
gn-2 gn-1
gn
C a s e 2 Suppose the edge Vn-l-Vn is included. T h e n the edge Vn-2-Vn-1 is not included. This yields the g r a p h Gn-2 and its index is tn-2. Thus, the addition principle, tn - tn-1 + tn-2. But tl - 1 a n d t2 - 2, so, tn -- Fn+l.
Lucas and Cycloparaffins Table 8.2 shows the carbon a t o m skeleton Gn of 10 cycloparaffins CnH2n and the corresponding indices. A similar a r g u m e n t shows t h a t t h e index of Gn - index of Gn + index of Vn-2 - Fn+l + Fn-1 -- Ln, w h e r e n > 3. Five i m p o r t a n t classes of simple g r a p h s receive a t t e n t i o n below: complete, cycle, wheel, bipartite, and weighted.
Complete Graph A simple g r a p h with an edge b e t w e e n every two distinct vertices is a c o m p l e t e graph. A complete g r a p h with n vertices is denoted by Kn. The complete graphs K1 t h r o u g h K5 appear in Figure 8.15. Notice t h a t F i g u r e 8.3 displays K6. The complete g r a p h Kn has C(n, 2) edges a n d each vertex has degree n - 1 (Why?). The next example revisits the h a n d s h a k e problem from C h a p t e r 5.
~
(The h a n d s h a k e problem) At a sesquicentennial ball, each of n guests shakes h a n d s with everybody else exactly once. Find the n u m b e r of h a n d s h a k e s hn made.
8.1
Graphs
525
T a b l e 8.2 Cycloparaffin
n
Graph
Topological indices of cycloparaffins CnH2n.
k 0
1
9
2
9
Cyclopropane
3
_~_
Cyclobutane
4
_i
Cyclopentane
5
Cyclohexane
6
Cycloheptane
1
2
Total 3
4
5
1 9
1
2
1
3
1
4
-~-
1
5~5
_ _
1
6
9
2
18
7
1
7
14
7
29
Cyclooctane
8
1
8
20
16
2
47
Cyclononane
9
1
9
27
30
9
76
Cyclodecane
10
1
10
35
50
25
123
i_
2
7
11
Ln
Figure 8.15
The complete graphs K1 through K5.
%4/ K1
K2
K3
K4
K5
SOLUTION:
Represent each guest by a vertex of a graph and each handshake by an edge. Since each person shakes hands with everyone else exactly once, the complete graph Kn is generated. Therefore, hn - number of handshakes made
= number of edges in Kn = C ( n , 2)
m
526
Chapter 8 Graphs Complete graphs are also useful in modeling round-robin tournaments, where every team plays every other team exactly once. With n teams entering the tournament, Kn provides the model.
Cycle and Wheel Graphs The c y c l e g r a p h Cn of length n(>3) consists of n vertices Vl,..., Vn and edges {vi,vi+l}, where 1 < i < n and Vn+l = vl. Figure 8.16 displays cycle graphs C3, C4, and C5.
Figure 8.16
~v
v
_
C3
i C4
C5
The wheel graph Wn(n >__3) is obtained from Cn by adding a vertex v inside C, and connecting it to every vertex in Cn. Figure 8.17 shows the wheel graphs W3, W4, and W5.
Figure 8.17
v W3
v W4
Next we present another type of simple graph.
Bipartite Graph If the vertex set V of a simple graph G = (V, E) can be partitioned into two disjoint (nonempty) sets V1 and V2, so every edge in G is incident with a vertex in V1 and a vertex V2, then G is bipartite. The graph in Figure 8.18 is bipartite, since the vertex set V = {a, b, c, d, e, f} unites the disjoint sets V1 = {a, b, c} and V2 = {d, e, f}, and every edge has one vertex in 111 and the other in V2. But the graph in Figure 8.19 is not bipartite (Why?).
Figure 8.18
a
b
c
A bipartite graph.
d
e
f
527
8.1 Graphs Figure 8.19
a
b
a
c
Not bipartite.
Complete Bipartite Graph Let G be a bipartite graph with IV]l = m and IV2i = n. If an edge r u n s between every vertex in V1 and V2, G is a complete bipartite graph, denoted by Km,n. The complete bipartite graph K2,3 is shown in Figure 8.20. An interesting application of K3,3 will be made in Example 8.36.
Figure 8.20
a
b
The complete bipartite graph g2, 3.
c
d
e
The last important class of simple graphs handled in this section follows.
Weighted Graph A simple graph in which each edge e is assigned a positive real n u m b e r w is a weighted graph. The number w is the weight of edge e. Thus a weighted graph may be considered an ordered triplet (V, E, f), where f : E ~ It~ is a function. Route maps often provide examples of weighted graphs, as the following example shows. Figure 8.21 presents a weighted graph, where the weights represent distances in miles between the cities.
Figure 8.21 A weighted graph.
Buffalo
445
Chicago
Boston
215
350 1080
~
525
90
Philadelphia 140
Houston ~
1410
New York 230 Washington, D.C.
i
528
Chapter 8 Graphs The weights in a weighted graph may represent distances, travel times, fares, transportation costs, etc. Every entry aij of the adjacency matrix A of a weighted graph denotes the weight of the edge {i, j}. Accordingly, A is the w e i g h t e d a d j a c e n c y m a t r i x of the graph. Graphs have interesting and useful applications in communications.
Graphs and Telecommunications Suppose, for example, there are n telephones in a city and there is a dedicated line between every two telephones. Such an arrangement of communication lines, called a n e t w o r k , can be modeled by the complete graph Kn. Such a telephone network is inefficient and expensive. (How many cables are needed to link n customers? What if a new subscriber needs to be added to the network?) So the local telephone company uses a network, called s t a r topology, which links each subscriber to a central office switch (or exchange). It can be represented by the bipartite graph Kl,n, as in Figure 8.22, where the symbol D indicates a central office switch. The star topology takes just n cables to connect n phones, much less than the C(n, 2) cables needed for Kn. To accommodate a large number of customers, two or more star topologies are linked by trunks in cities and large towns. Figure 8.23, for example, shows a network with two exchanges, 863 and 891. F i g u r e 8.22
2001
2003
A star topology. 2000
2004
F i g u r e 8.23 1001
The star topologies linked by a trunk. 1000
1003
1002 1005 trunk
1001
1003 1004
8.1 Graphs
529
Graphs and Local Area Networks Star topology is also used in the design of local a r e a n e t w o r k s (LANs), which are arrangements of personal computers and peripheral devices such as printers and plotters in a building or on a campus. See Figure 8.24. All devices in the network are connected to a host computer at the center of the network, which directs the flow of communications between devices.
F i g u r e 8.24 A local area network.
Scanner Printer Printer
Router
Router
Router
Scanner
Scanner
B u s t o p o l o g y , illustrated in Figure 8.25, links devices in the network via a single trunk. This topology is simple and takes the least amount of cable to install. Furthermore, it is easy to add a device to the network by simply tapping into the trunk.
F i g u r e 8.25 A bus topology.
Dot-matrix printer
Letter-quality printer
PC 4[
PC 6
PC 1
PC 31
PC 2
PC 5
R i n g t o p o l o g y , no longer in use, connects computers in a circle, so each computer is linked to exactly two others. Such a LAN can be represented by the cycle graph Cn. See Figure 8.26. Some LANs employ a s t a r - r i n g t o p o l o g y , a hybrid of star and ring topologies, as in Figure 8.27. A star-ring topology can be modeled by the
530
Chapter 8 Graphs
F i g u r e 8.26 A ring topology. PC 3
PC 2
Hard disk drive
,
PC 1
PC 4
Letter-quality printer
wheel graph Wn. In such a network, messages are sent around a circle or thorough a central host device.
F i g u r e 8.27 A star-ring topology.
Among the sundry places graphs crop up are in games. Two such games follow. (optional) The game of Y a s h i m a * is played on the Yashima board (see Figure 8.28) by two players using two tokens, one red and the other white. (The graph is called the P e t e r s e n g r a p h , after the Danish m a t h e m a t i c i a n Julius Petersen, who developed it in 1891.) Initially, the tokens are placed *Proposed by F. H. Kierstead, Jr., and solved by B. J. Schwartz, J. Recreational Mathematics. Vol. 14, 1981-1982, p. 309.
8.1 Graphs
531
at two vertices of the graph. The players alternately move their tokens from one vertex to an unoccupied adjacent vertex, erasing the edge traversed. The game ends when a player lands at an isolated vertex. Find the maximum number of moves each player can make. F i g u r e 8.28 Petersen graph (the Yashima board).
. ite
SOLUTION: Notice that the degree of each vertex is three. Two edges are deleted at each vertex along the path taken by each player except at the initial and terminal vertices, where only one edge disappears. Thus a maximum of four vertices (two for each player) lose an odd number of edges, and when the game ends, at most four vertices can remain isolated; in other words, at most 12 of the 15 edges can be deleted. So each player can last six moves. To achieve this maximum number, one player must travel along the pentagon and the other along the star. (Try this with a friend.) m The next example is related to Example 3.29, so review it before going any further. The graph-theoretic game of SIM, invented by Gustavus J. Simmons of Sandia Corporation in 1969, is played by two players using the complete graph K6. Player R has a red pencil and player B a blue one. They alternately color the edges of the graph. The first player to complete a monochromatic triangle loses the game. Three nontrivial ways of playing the game are given in Figure 8.29, where solid edges indicate red edges and broken ones, blue. How long can a game of SIM go on? Suppose player R uses his first three moves to color the edges of a triangle. By then player B will have made two moves, so player R can color a monochromatic triangle in five moves and the game ends. Such a sequence is clearly suicidal for R. Can the game end in a draw? Since the edges form at least one monochromatic triangle, by Example 3.29, the game cannot end in a draw. In at most 15 moves, one player will lose by completing a monochromatic triangle, m This example has an intriguing application, shows.
as the next example
532
Chapter 8 Graphs
.,,~.'~::
. :~'~
. . . .
..: . . . . ,, -.~:~,..... '.~,, ~
:~.~ ...:?.
-
.
,,~
-:' 4,
,
~.~
_,~, -
,
J u l i u s P e t e r s e n (1839-1910) was born in Soro, Denmark. He graduated from Copenhagen University in 1866 and 5 years later received his Ph.D. from Copenhagen. In 1887, he became a professor at the university, a position he held until 1909. An author of several textbooks translated into several languages, Petersen strongly influenced mathematics education in Denmark. Although he is best known for his work in graph theory, he worked in algebra, analysis, geometry, mechanics, and number theory.
Figure 8.29
,#.--.%, Player B losses in 13 moves
Player R losses in 14 moves
,
Player B losses in 15 moves
Show that any group of six people contains three mutual friends mutual strangers.
or
three
PROOF: Represent each person in the group by a vertex of a graph. Draw a red edge between two vertices if the corresponding persons are friends; otherwise draw a blue edge. When all edges are drawn, we get the complete graph K6. By Example 8.10, the edges form a monochromatic triangle, so the group contains three mutual friends or three mutual strangers. E We close this section with a technique of combining two graphs and an interesting application to the modified handshake problem.
Union of Simple Graphs The union of two simple graphs, G1 : (V1,E1) and G2 : (V2,E2), is the simple graph G = ( V , E ) , where V = V1 u V2 and E = E1 U E2; it is denoted by G1 u G2. For example, the S t a r o f D a v i d in Figure 8.11 is the union of the graphs G1 and G2 in Figure 8.12.
8.1 Graphs
533
We now present an application of this operation. To this end, we return to the handshake problem in Example 5.3. Recall from Example 5.10 that the number of handshakes made by n people is given by h ( n ) - n ( n - 1)/2 - C ( n , 2), where n > 1. Geometrically, h ( n ) denotes the number of edges in the complete graph Kn.
A Generalized Handshake Problem
More generally, suppose a group ofr (>0) people hosts a party and there are n guests at the party. Everyone shakes hands with everybody else exactly once, except that no host shakes hands with any other host. Then
//number of handshakes~ [ n u m b e r of handshakes~ J + r ~made by a host H J
h ( n ) - ~made by the n guests = c(n, 2) + rn
See Figure 8.30.
F i g u r e 8.30
e-- r hosts
The formula h ( n ) -- C(n, 2 ) + r n has an interesting graph-theoretic interpretation. As in the original simple version, the handshakes made among the guests can be represented by the edges in Kn. Likewise, rn handshakes between the guests and the hosts can be represented by the edges in the complete bipartite graph Kr,n. Thus h ( n ) denotes the number of edges in the union Kn U Kr,n of the two graphs (see Figure 8.31), where n = 4 and r = 3. Consequently, h ( n ) e ( g n ) + e(gr,n) = e ( g n U gr,n), where e(G) denotes the number of edges in a graph G. Exercises 8.1
Determine if each graph is simple.
534
Chapter 8 Graphs
F i g u r e 8.31
guests ~ Four guests shaking hands with every other guest
hosts g3, 4
K4
e (K3, 4)-- 12
e (K4) =6
~-- guests
~-- hosts K3 U K3,4
e (K3 U K3, 4) = 18
1. a
~
b
0
C
b
c
a
c
f
d
0 0
5-6. Find the n u m b e r of vertices and edges of the graphs in Exercises 1-2. 7-8. Find the degrees of the vertices of the graphs in Exercises 3-4. 9-10. Find the adjacency matrix of the graphs in Exercises 1 and 2. Draw the graph with the given adjacency matrix. 11. a c d
a 0
b c 0 1
d 1
iOl i 1 1
0 0
12. a
a 1
b c 1 1
d 0
bil~ i c d
0 1
1 1
8.1 Graphs
535
13. The adjacency matrix of a simple graph has the form
A~ What can you say about the graph? 14-15. Verify Theorem 8.1 for each graph in Exercises 1 and 2. Find the number of edges of a graph that has: 16. Exactly three vertices with degrees 1, 3, and 2. 17. Exactly five vertices with degrees 1, 1, 1, 1, and 4. Could there could be a graph that has: 18. Three vertices with degrees 2, 3, and 4? 19. Four vertices with degrees 2, 2, 2, and 2? Find the number of bonds in each hydrocarbon molecule. (Assume each carbon atom is bonded to four atoms.) 20. A propane molecule C3Hs
21. A butane molecule C4H10
22. An ethylene molecule C2H4
23. A cyclobutane molecule C4Hs
24. Find the number of subgraphs of the graph in Exercise 3. Compute the number of edges in each complete graph. 25. K6
26. K7
28. Kll
27. K10
29. Characterize the adjacency matrix of the complete graph Kn. Is each graph bipartite? If so, identify the vertex sets V1 and V2. 30.
b
31.
a
c
f
d e
b
a
c e
32. Find the number of vertices in the bipartite graph Km,n. 33. Find the number of edges in the bipartite graph Km,n. 34. Identify the general form of the adjacency matrix for Km,n. 35. Let G be a graph with n vertices and e edges. Let M and m denote the maximum and minimum of the degrees of vertices in G, respectively. Prove that m < 2e/n < M.
536
Chapter 8 Graphs
A simple graph G is r e g u l a r if every vertex has the same degree. If every vertex has degree r, G is r - r e g u l a r with r the d e g r e e of the graph. Draw a regular graph with the given properties. 36. r = i and two vertices.
37. r - 2 and three vertices.
38. r - 2 and four vertices.
39. r - 3 and four vertices.
40. r - 1 and not complete.
41. r - 2 and not complete.
42. Is the Petersen graph in Figure 8.28 r-regular? If yes, find the value ofr. 43. Is the complete graph Kn regular? If so, find its degree. 44. How m a n y edges does an r-regular graph with n vertices have? (Hint: Use Exercise 35.) 45. Let G be an r-regular graph with n vertices. Prove t h a t nr is even. (Hint: Use Exercise 44.) 46. Can there be a 1-regular graph with three vertices? 47. Can there be a 3-regular graph with five vertices? The c o m p l e m e n t of simple graph G is a simple graph G' containing all vertices in G; two vertices are adjacent in G' if they are not adjacent in G. For example, the graphs in Figures 8.32 and 8.33 are complements of each other. Find the complements of the graphs in Exercises 48-50.
F i g u r e 8.32
b
a
c
F i g u r e 8.33
a:
48.
:c
a
~
b
49.
b
50.
c b
9
12
a
12
51. How are the adjacency matrices of G and G' related?
d e
8.1 Graphs
537
Characterize the complement of each graph. 52. Kn
53. Km,n
54. Let n and e denote the n u m b e r s of vertices and edges in a simple graph G and e' the n u m b e r of edges in G'. How are e and e' related? Find the union of each pair of graphs. 55.
yc /:
"e
56.
b
a
c
L/ d
Characterize each graph. 57. K2,3 U K~,3
!
58. K2,4 U K2, 4
59. K3,3 U K~, 3
60. Km,n UK~, n
61. Let G be a simple graph with n vertices. What can you say about
GuG'? 62. A company wishes to schedule 1-hour meetings beginning at 7 A.M. between every two of its six regional m a n a g e r s - - A , B, C, D, E, and F - - s o each can spend an hour with each of the other five for better acquaintance. Find the various possible schedule pairings. (This is a round-robin t o u r n a m e n t in disguise.) (S. W. Golomb, 1993) 63. Five basketball teams, a t h r o u g h e, enter a round-robin t o u r n a m e n t . Create a schedule so t h a t every team plays every other team exactly once. (Hint: Since the n u m b e r of teams is odd, add a d u m m y team x. If a team is paired with x, the team draws a bye in t h a t round.) 64. Show t h a t any simple graph with two or more vertices has at least two vertices of the same degree. (Hint: Use the pigeonhole principle.)
538
Chapter 8 Graphs *65. Let Vl,... ,Vn be n vertices with degrees d e g ( v l ) , . . . , deg (Vn), respecn
tively, such that ~ deg (vi) is even. Prove that there exists a graph i=l
satisfying these conditions. n
[Hint: Let ~ deg (vi) - 2e. Use induction on e.] i=l
Like relations and digraphs, graphs can be computer-implemented by arrays and linked lists. A graph with n vertices can materialize by means of its adjacency matrix A. Since many of the n 2 elements in A are frequently zero, a more efficient way to implement a graph is by linked lists. For each node, create a linked list of all nodes adjacent to it and store their header nodes in an array of pointers. The result is the a d j a c e n c y list r e p r e s e n t a t i o n of the graph. For example, the KSnigsberg bridge model in Figure 8.34, with the vertices labeled 1 through 4, has two edges from vertex 1 to vertex 2 and one to vertex 4. So the linked list headed by 1 contains three nodes and the lists headed by 2, 3, and 4 contain five, three, and three nodes, respectively. Figure 8.35 shows the adjacency list representation of the graph.
F i g u r e 8.34
1
3
F i g u r e 8.35 Adjacency list representation.
-. 121/~ 121/~ 14~ -- Ili ~ !11 +- 131 ~ 131 ~ 14L~ ~I2[~i2[~I4L~ -- Ill ~ 121/~ 13L~
( Vertices
8.2 ComputerRepresentations of Graphs (optional)
539
In the linked list representation of a weighted graph, each node contains three fields, as shown in Figure 8.36. For example, the weighted graph in Figure 8.37 yields the adjacency list representation in Figure 8.38. F i g u r e 8.36
weight
vertex
pointer
A typical node in a weighted graph. F i g u r e 8.37
1.
3
4-
-2
-3
7
F i g u r e 8.38
Exercises 8.2 Find the adjacency list representation of each graph. 2
0
2.
3 3.
1
3
4.
2
1
3
540
Chapter 8 Graphs 5o
6~
1
3
2
4
5
Find the adjacency list representation of each graph. 7. K3
8. K4
9. g~
10. K2,3,
11-16. Find the adjacency matrices of the graphs in Exercises 1-6. Draw the graph with the given list representation. 17.
18.
121+. 3L4 I11+- 3L4 v I11+- 2L4 1
lil-b 1,1-~ 14H
2 3
4
I11 +- I11 +- I~H
Find the adjacency list representation of the given weighted graph. 19.
2
13 20.
2
v
5 21.
2
4
1
3
2
4
5
8.3 IsomorphicGraphs
541
Two simple graphs can have a closer relationship than just being complements. Isomorphic graphs, which we will study in this section, share identical properties. Some graphs may seem to differ, but have essentially the same properties. Graphs G1 and G2 in Figure 8.39, for example, although they look different, have the same properties: both contain the same number of vertices and edges. Two vertices of degree two and two of degree three appear in both. Besides, we can redraw G2 in such a way that it will look exactly like G1. Where you place the vertices and how you draw the edges do not affect the structure of a graph and do not produce a different graph.
F i g u r e 8.39
v
a
d u
Graph G]
x
Graph G 2
|somorphic Graphs Two simple graphs, G1 = (V],E1) and G2 = (V2,E2), are i s o m o r p h i c if a bijection f : V] -+ V2 exists such that {a, b} is an edge in E1 if and only if {f(a),f(b)} is an edge in E2, for any two elements a and b in V1. The function f is an i s o m o r p h i s m * between GI and G2. For two graphs G1 and G2 to be isomorphic, the following conditions must be satisfied: 9 IV~i = IV21
9 levi
= IE21
9 A bijection f 9111 --+ V2 should preserve the adjacency relationship: if {a, b } is an edge in E 1 then {f (a), f (b) } must be an edge in E2, and vice versa. Consequently, the corresponding vertices in G1 and G2 will have the same degree. The graphs G1 - (V1,E1) and G2 - (V2,E2) in Figure 8.39 clearly satisfy conditions 1 and 2. Define a function f : V 1 --+ V2 as follows: f(a) = u, f(b) = v, f(c) = w, and f(d) = x. Clearly, f is bijective. Does f preserve the *The word
isomorphism
comes from t h e G r e e k w o r d s
iso
(the s a m e as) a n d
morphe
(form).
Chapter 8 Graphs
542
adjacency relationship? {a, b} is an edge in E l , so is {f(a), f(b)} = {u, v} an edge in E2? Yes. Similarly, Table 8.3 verifies the o t h e r c o r r e s p o n d e n c e s of edges. T h u s G1 and G2 are isomorphic.
T a b l e 8.3
Edge {x,y} in E1
Is { f ( x ) , f ( y ) } an edge in E 2 ?
{f(x),f(y)}
{a,b} {a,c} {b,c} {b,d} {c, d}
{f(a),f(b)} {f(a),f(c)} {f(b),f(c)} {f(b),f(d)} {f(c),f(d)}
= = = = =
{u,v} {u,w} {v,w} {v,x} {w,x}
Yes Yes Yes Yes Yes
m If two graphs are isomorphic, one can be obtained from the o t h e r by r e n a m i n g its vertices (and edges) and r e d r a w i n g it if necessary. In a n y case, t h e y share exactly the same s t r u c t u r e and hence the s a m e properties. For instance, both have the same n u m b e r of vertices and edges. Besides, deg(v) = d e g ( f ( v ) ) for every v ~ V1. For the isomorphic g r a p h s in Figure 8.39, d e g ( a ) = 2 = d e g ( f ( a ) ) , d e g ( b ) = 3 = d e g ( f ( b ) ) , d e g ( c ) = 3 = deg (f(c)), and deg (d) = 2 = deg (f(d)). Such a c o m m o n p r o p e r t y is an isomorphism invariant.
I s o m o r p h i s m Invariant A p r o p e r t y shared by isomorphic g r a p h s is called an i s o m o r p h i s m invariant. ~ ~ ~ ~ ~
Are the p e n t a g o n G 1 Figure 8.40 isomorphic?
F i g u r e 8.40
d
(V1, E l ) and the p e n t a g r a m G 2 -
v 1
e
(V2, E2) in
v2
c
v~ \ / a-
-b
Pentagon G1
" v3
v4 Pentagon G2
SOLUTION: First IV1[ : 5 : IV2[ and [Eli = 5 = [E2[. Define a function f : V 1 ---> V2 as f(a) = vl, f(b) = v3, f(c) = vs, f(d) = v2, and f(e) = v4. It is c e r t a i n l y a bijection. To d e t e r m i n e if f preserves the adjacency relationship, c o n s t r u c t Table 8.4. The table shows t h a t f p r e s e r v e s the adjacency relationship; so G1 and G2 are isomorphic.
8.3 IsomorphicGraphs
T a b l e 8.4
Edge {x, y} in E 1
543
{f(x),f(y)}
{a,b} {b,c} {c,d} {d,e} {e,a}
{f(a),f(b)} {f(b),f(c)} {f(c),f(d)} {f(d),f(e)} {f(e),f(a)}
-= = = =
Is {f(x),f(y)} an edge in E2?
{Vl,V3} {v3, v5} {v5, v2} {v2, v4} {v4, vl}
Yes Yes Yes Yes Yes
I
Isomorphism invariants can detect if two graphs G1 = (V1,E1) and G2 - (V2,E2) are not isomorphic. If iVli r IV2] or ]Ell ~= ]E2[, then G1 and G2 are not isomorphic. For example, the graphs in Figure 8.41 are not isomorphic (Why?). F i g u r e 8.41
b
V- 2
~
Vl
-V3
V4
On the other hand, suppose two graphs share the same invariants. Unfortunately, this does not guarantee isomorphism, as the next example demonstrates. Determine if graphs G1 and G2 in Figure 8.42 are isomorphic. F i g u r e 8.42
w3 v2
v3
Vl
v4 Graph G1
w2
Wl
w4
w5 Graph G2
SOLUTION: Both graphs have five vertices and five edges. Each contains one vertex of degree one, three vertices of degree two, and one vertex of degree three. Nonetheless, they are not isomorphic. Let us see why. Suppose they are isomorphic. Since there is exactly one vertex of degree one in G1 and G2, namely, vl and w5, v] must match w5. Now Vl is adjacent to v2 and degree (v2) - 2, so the vertex Wl adjacent to w5 must correspond
Chapter8 Graphs
544
to v2. But deg (wl) = 3 r deg (V2), which is a contradiction. Thus, G1 and G2 are not isomorphic, m Conclusion? If the invariants of two graphs do not agree, they cannot be isomorphic. If they do agree, however, the graphs need not be isomorphic. Unfortunately, no simple tests exist for determining graph isomorphism.
Exercises 8.3
In Exercises 1-14, determine if the simple graphs are isomorphic. When they are, determine an isomorphism f. d
/%
0
a
e
c
f
2. b
j
e
0
a:
~
d
_b
* a~
c
e
c
:d :h
e
o
aA
_b
I v
C
e..
Af
g
r......, o
~
I
1
T
t...., 9jJ.
~..... o
('I:)
~ ~
~
~.-.
~"
mm
Chapter 8 Graphs
546
13.
b a.
14.
e
I I
:i
cI d
g
b
e
a. ci d
g
h
iI j
j--
k
o
I
I
m
q
:r
m
I
o
p
r_- s
I
:V
:t
u
15. Show t h a t isomorphism of simple graphs with n vertices is an equivalence relation.
Reexamine the network of computers in Figure 8.3. The c o m p u t e r in Atlanta can communicate with t h a t in Holtsville, and the c o m p u t e r in Holtsville can communicate with t h a t in Philadelphia, so the c o m p u t e r in Atlanta can communicate with t h a t in Philadelphia: in the graph model, a path runs from vertex 1 to vertex 3. Paths, with their subclasses of cycles and circuits, carry great importance in graph theory since they can answer m a n y questions about models of real-world situations, so we begin this section with the definition of a path.
Path Let v0 and Vn be two vertices in a graph. A p a t h o f l e n g t h n from v0 to Vn is a sequence of vertices vi and edges ei of the form v o - e l - v l - e 2 . . . . . en-Vn where each edge ei is incident with the vertices v i - 1 and vi, 1 < i < n . T h e vertices v0 and Vn are the e n d p o i n t s of the path. If the graph is simple, the path is unique and is denoted by just listing the vertices along the path: v o - v l . . . . . Vn. A s i m p l e path from v0 to Vn contains no repeated vertices, with one possible exception" its endpoints could be the same. The next example illustrates these definitions. In the graph in Figure 8.43, the sequence a - e l - b - e 4 - c - e 5 - b - e 3 - d is a p a t h of length 4 from a to d; so is the sequence a - e l - b - e 5 - c - e 4 - b - e 3 - d . T h u s the p a t h from a to d is not unique. The path a - e l - b - e 3 - d is even shorter, with a l e n g t h of only two. (However, it is not the shortest path.) The path a - e 7 - d - e 3 - b is simple, because no one vertex reappears.
8.4 Paths,Cycles, and Circuits F i g u r e 8.43
547
b e5 el a
e8
c
I
In Figure 8.44, the sequence a-el-b-e3-c-e4-d is a p a t h of length t h r e e from a to d. Since the g r a p h is simple, it can also be given by the
F i g u r e 8.44
b
a
e6
c
sequence a-b-c-d. (Notice that, in Figure 8.43, the sequence a-b-c-d does not define a u n i q u e path.) m Before we p r e s e n t yet a n o t h e r delightful occurrence of Fibonacci n u m bers, we m a k e a simple definition.
Independent Subset of the Vertex Set Let V denote the set of vertices of a graph. A subset S of V is i n d e p e n d e n t if no two vertices in S are adjacent. Thus, S is i n d e p e n d e n t if x , y ~ S, b u t the edge x-y does not exist, w h e r e x r y. For example, consider the p e n t a g o n G1 in Figure 8.40. T h e n S - {a, c} is an i n d e p e n d e n t subset of the vertex set V - {a, b, c, d, e}; so is {a, d}, b u t not {a, c, e}. We are now ready to p r e s e n t the application.* Let Pn denote the p a t h vo-vl-v 2 . . . . . Vn of length n connecting the vertices vo, vl, v 2 , . . . , and v,~ in a simple graph, w h e r e n >__ 0. Let An denote the n u m b e r of i n d e p e n d e n t subsets of vertices in the path. W h e n n = 0, the p a t h Po consists of a single point vo, so t h e r e are two possible i n d e p e n d e n t subsets: O, {vo}. W h e n n = 1, the p a t h is vo-vl. T h e n t h e r e are t h r e e i n d e p e n d e n t subsets of {vo, Vl }, namely, O, {vo}, and {Vl}. W h e n n - 2, the p a t h P2 contains t h r e e vertices" vo, vl, and v2. So, t h e r e are five i n d e p e n d e n t subsets: O, {vo}, {Vl}, {v2}, and {vo, v2}. *T. Koshy, Fibonacci and Lucas Numbers with Applications, Wiley, New York, 2001.
Chapter 8 Graphs
548
T h e s e d a t a are s u m m a r i z e d in Table 8.5. Clearly, a p a t t e r n e m e r g e s . It seems safe to conjecture t h a t A n - F n + 3 , w h e r e n > 0. We invite y o u to confirm this. T a b l e 8.5
P a t h Pn
Independent subsets
9 v0 : : v0 Vl
0,
{v0}
2
O,
{v0},{Vl}
3
O,
{ v o } , { V l } , { v 2 } , { v o , v2}
5
O,
{v0}, {v1}, {v2}, {v3}
8
: vo
: Vl
: v2
. . . . v0 Vl v2
v3
An
{v0,v2}, {v0, v3}, {Vl, v3} r~+3
m
A simple p a t h m a y r e p e a t vertices if t h e y be its endpoints. S u c h a p h e n o m e n o n carries a special label.
Cycle and Circuit A p a t h with e n d p o i n t s v0 and vn is c l o s e d if v0 - v,z; otherwise, it is o p e n . A simple closed p a t h is a c y c l e ; a closed p a t h with no r e p e a t e d edges is a circuit. Table 8.6 s u m m a r i z e s and illustrates the basic t e r m s i n t r o d u c e d t h u s far in this section. Refer to it as often as needed.
T a b l e 8.6
Term
Meaning
E x a m p l e from Figure 8.43
Path
Sequence v o - e l - v 1 . . . . . e n - v n , ei={vi_l,vi} ,l
Simple path
a-e7-d-e6-c-e4-b
Closed path
All vertices are distinct; endpoints could be the same Endpoints are the same
Open path
Endpoints are not the same
a-e8-c-e4-b-e5-c
Cycle
Simple closed path
a-e l -b-e 4-c-e 8-a
Circuit
Closed path; no repeated edges
a-e l -b-e 4 -c-e 3 -b-e 3 -d-e 7 -a
where
a-e7-d-e6-c-e4-b-e5-c
a - e 2 -b -e 4 -c - e 5 -b -d -e 7 -a
In a n e t w o r k of c o m p u t e r s , every c o m p u t e r could c o m m u n i c a t e w i t h every o t h e r c o m p u t e r e i t h e r directly or indirectly. If a p a t h r u n s from every vertex (computer) to every other vertex (computer), such a g r a p h is said to be connected, as defined below.
8.4 Paths,Cycles, and Circuits
549
Connected Graph A graph is c o n n e c t e d if there is a path between every two distinct vertices of the graph; otherwise, it is d i s c o n n e c t e d . ~
The KSnigsberg bridge model in Figure 8.2 is a connected graph, as are the graphs in Figures 8.43 and 8.44; b u t the S t a r o f D a v i d in Figure 8.11 is not (Why?). m The next theorem shows a simple path exists between every two vertices in a connected graph.
~
There is a simple path between any two distinct vertices in a connected graph.
PROOF: Let u and v be any two vertices in a connected graph G. Since G is connected, a path x o - e l - x l - e 2 . . . . . X n - 1-en-Xn runs between x0 - u and Xn - v. If the path is not simple, some of the vertices x0, x l , . . . ,Xn m u s t be the same, say, for example, xi = xj, where i < j. Consequently, there m u s t be a cycle x i - e i + l Xi+l . . . . . ej-xj, as in Figure 8.45. Eliminate this cycle to yield a shorter path.
F i g u r e 8.45
xi+2 ~ ~ ~
Xj_2
Xl
/
e
U=Xo
~
2
~: X2
:
.
I
l+l
.
V
.
Xi--Xj
ej .
1 . xi +1
.
en Xn =V
Similarly, eliminating all cycles in the path yields a shorter path from u to v. It contains no repeated vertices and therefore is simple. This completes the proof, m How long can a simple path between any two distinct vertices of a connected graph be? The next t h e o r e m provides a partial answer. ~
The length of a simple path between any two distinct vertices of a connected graph with n vertices is at most n - 1. m How can we compute the n u m b e r of paths between any two vertices vi and vj in a connected graph? Theorem 8.5 answers this.
~
Let A be the adjacency matrix of a connected graph with n vertices vl, v 2 , . . . , Vn and k a positive integer < n - 1. The i j t h entry of the matrix A k gives the n u m b e r of paths of length k from vi to vj.
550
Chapter 8 Graphs
PROOF (by induction): Basis step By definition, the i j t h entry in A is the n u m b e r of edges from vi to vj. But an edge from vi to vj is a path of length one. Consequently, the i j t h entry in A equals the number of paths of length 1 from vi to vj. Thus the result holds when k = 1. I n d u c t i o n step Assume that the n u m b e r of paths of length k from vi to vj equals the i j t h entry in A k (inductive hypothesis). We have A k+ 1 __ A k . A . n
Let A k+l -
~ bipapj. By the p=l inductive hypothesis, bip paths of length k run from vi to vp; but there are apj paths of length 1 from Vp to vj. Therefore, by the multiplication principle, bipapj paths of length k + 1 from vi to vj pass through Vp. Now Vp (cij),A k -
(bij), and A -
(aij). Then cij -
can be any one of the n vertices. Thus, by the addition principle, the total number of paths of length k § 1 from vi to vj (passing through vl, v 2 , . . . , n
or Vn) is ~ bipapj, which equals cij. Thus, by induction, the result holds for p=l
I1
every positive integer < ( n - 1). The following example demonstrates this theorem.
Figure 8.46 shows the direct telephone lines connecting cities a, b, c, and d. Each edge in the graph represents a direct telephone link.
Figure 8.46 A communication model.
The adjacency matrix of the graph is
a A ~
c d
a
b c
d
0
1
1
0
2 0
0 1
No direct lines run between a and d. However, a can communicate with d via c. This communication line, called a 2-stage c o m m u n i c a t i o n link, is the path a-e4-c-eD-d, a link between a and d passing through exactly one city,
8.4 Paths, Cycles, and Circuits
551
namely, c. Likewise, two 2-stage communication links r u n between b and d" b-e2-c-e5-d and b-e3-c-e5-d. By T h e o r e m 8.5, the n u m b e r of 2-stage links, lines passing t h r o u g h exactly one city, are the various entries in A2:
a A2 _ b c d
a
b c
d
2 2
2 5
2 1
1 2
1
1 2
6 0
0 1
There are five 2-stage links between city b and itself: b-el-a-el-b, b-e2-c-e2-b, b-e2-c-e3-b, b-e3-c-e2-b, and b-e3-c-e3-b. No 2-stage links connect c and d. n Theorems 8.4 and 8.5 lead us to the next result. Let A be the adjacency matrix of a connected graph with n vertices and k a positive integer < n - 1. The ijth e n t r y of the matrix A + A 2 + . . . + A k gives the n u m b e r of paths of length < k from vertex vi to vertex Vj. m As an example, for the communication graph in Figure 8.46,
a A+A 2- b c d
a
b c
d
2 3 3
3 5 3 2
1 2 1 1
3 3 6 1
The entries of this matrix give the n u m b e r of 1- or 2-stage communication links between two cities, links passing t h r o u g h at most one city. For instance, three links between cities b and c go t h r o u g h at most one city: b-e2-c, b-e3-c, and b-e 1-a-e4-c. m The next example relates graph theory to combinatorics. (optional*) A p r i m e c i r c l e o f o r d e r n is a cyclic p e r m u t a t i o n of the integers i t h r o u g h n such t h a t the sum of any two adjacent integers is a prime number. For instance, 143256 is a prime circle of order 6. Find all prime circles of order n < 10. m
SOLUTION: Since the sum of any two even or odd integers is even, the n u m b e r s in prime circles m u s t alternate between odd and even. Consequently, there are no prime circles of odd order. To find all prime circles of (even) order n _< 10, draw a graph G with 10 vertices, labeled 1 t h r o u g h 10. Two vertices v and w in G are adjacent if *Proposed by A. Filz and solved by B. Barwell, J. Recreational Mathematics, Vol. 15, 1982-1983, pp. 70-71.
552
Chapter 8 Graphs v + w is a prime. Such a graph is shown in Figure 8.47. To find the various prime circles of order n from the graph, delete vertices n + 1, n + 2 , . . . , 10 and edges incident with them. Now look for all distinct cycles that pass through the integers 1 through n in the resulting subgraph; the vertices along them form prime circles.
Figure 8.47
6
5
10
9
For example, to find the prime circles of order 8, delete vertices 9 and 10, and edges incident with them. The resulting subgraph in Figure 8.48 shows two distinct prime circles of order 8, namely, 12385674 and 12583476. (Without loss of generality, we list the permutations beginning with 1.)
Figure 8.48
6
5
4
3
You may verify that there is exactly one prime circle of order two, one of order four, and one of order six. They are 12, 1234, and 143256, respectively. There are 48 prime circles of order 10. Four of them are listed below, where X denotes 10: 123456789X
12347X9856
Can you find the others?
123498567X
123856749X m
We conclude this section with two examples illustrating how useful graphs and their paths can be in solving familiar and interesting puzzles.
~
(The cabbage-goat-wolf puzzle) A farmer with a rowboat needs to transport a cabbage, a goat, and a wolf across a river. The rowboat has just enough room for him and either the cabbage, the goat, or the wolf. Since the wolf can eat the goat, they cannot be left alone in the absence of the farmer. Likewise, the goat and the cabbage also cannot be left alone. How can he transfer them across the river? SOLUTION: We shall represent the progress of a solution in a graph and update it at every step until a solution emerges. An edge indicates a transfer across the river.
8.4 Paths,Cycles, and Circuits
553
Initially the cabbage (C) and the goat (G) or the goat and the wolf (W) cannot be left unattended by the farmer (F). The cabbage and the wolf, however, can be left alone. So the first step is to transfer the goat across the river. We represent this by an edge connecting the vertices "start" (S) and FG, meaning both the farmer and the goat must go across the river (see Figure 8.49). Now the man must return to the original side (see Figure 8.50) and has then two choices: transport the cabbage or the wolf to the other side (see Figure 8.51).
Figure 8.49
S~FG
Figure 8.50
S~FG--F
Figure 8.51
FC ~ F G ~ FW Case 1 Suppose the farmer moves the cabbage across the river. Then he cannot leave the cabbage and the goat on the same side, so he must return with the goat (see Figure 8.52). Continuing like this yields the graph in Figure 8.53.
Figure 8.52
FC S
FG
FG-FW
Figure 8.53
FC ~FG~
FG~
FW ~
F --FG
F~ FW
Case 2 Suppose the man transfers the wolf across the river. Continuing as in case 1 produces the graph in Figure 8.54.
Figure 8.54
FG~
FW~FG~
FW~
F --FG
FC
F --FG
Chapter 8 Graphs
554
It follows from this graph t h a t the puzzle has exactly two solutions, given by the two paths beginning at S. m Three m a r r i e d couples w a n t to cross a river in a rowboat which can carry only two people at a time. No h u s b a n d will allow his wife to be in the boat or stay ashore in the presence of a n o t h e r m a n unless he is also present. The women can, of course, row well. How can they cross the river?* SOLUTION: Let A, B, and C be the t h r e e husbands, and a, b, and c their wives, respectively. We shall denote the development of a solution by a graph in which each edge represents a strategy and each vertex indicates the person(s) crossing the river. Since there are six people and only two can be in the boat at a time, there are C(6, 2) - 15 possibilities for the first move. Nine of them, however, are unacceptable: Ab, Ac, Ba, Bc, Ca, Cb, AB, AC, and BC. So the first acceptable strategy is Aa, Bb, Cc, ab, ac, or bc. Figure 8.55 shows six of 12 possible solutions with ab first crossing the river. (Note: The path S-ab-a, for instance, indicates both a and b cross the F i g u r e 8.55
s --
ab
a
aA
A
AB--
--A-aA--AC ~C
cC
C
BC--
--A--aA--B bB--AB ~B bB - - A
ac
c
cC
aA - - C - - cC cC - - A - - a A
C --AB--
c
cC
~BC
a
aA
bB aA
river, b gets off the boat, and a r e t u r n s to the original side.) With ac or bc m a k i n g the first move, 24 additional solutions can be obtained. (Does a solution exist if initially a h u s b a n d takes his wife across the river? See Exercise 36.) m Exercises 8.4
Find the length of each p a t h in the graph in Figure 8.43. 1. b-e 4 -c-e 8-a
2. b-e 4-c-e 6-d-e 7-a
3.
4.
d - e 7 - a - e 2 -b-e 1 - a - e s -c
d - e 7 - a - e 2 -b-e 5 -c-e 6 - d
Use the graph in Figure 8.43 to find each. 5. The n u m b e r of paths of length three from a to d. *Based on S. Gudder, A Mathematical Journey, McGraw-Hill, New York, 1976, pp. 12,205.
8.4 Paths, Cycles, and Circuits
555
6. All simple paths of length three from a to d. 7. The length of the shortest path from a to d. 8. All distinct cycles of length three beginning at a. 9. All distinct cycles of length three beginning at b. 10. All distinct circuits in the graph. Determine if each is a connected graph. 11.
14.
I
=i
y
12.
[
1 5 . / ~
16.
i = I I
Use Figure 8.56 to answer Exercises 17 and 18. F i g u r e 8.56
b
f
Y c
g
17. Find the length n of a longest open simple path. 18. Find all open simple paths of length n. Find the number of distinct simple paths of length n in K5, where n is: 19. 1
20. 2
21. 3
22. 4
23-26. Find the number of distinct cycles of length n in K5 for each value in Exercises 19-22. 27-30. Find the number of distinct circuits of length n in K5 for the values in Exercises 19-22. The direct communication links between cities a, b, c, and d are represented in Figure 8.57. Find the number of communication links between a and d passing through: F i g u r e 8.57
a
b
d
c
556
Chapter 8 Graphs 31. Exactly one city.
32. At most one city.
3 3 - 3 4 . Redo Exercises 31 and 32 for cities b and d. 35. Find two solutions to the puzzle in Example 8.22 if both a and b cross the river first. 36. Redo Exercise 35 if both A and a cross the river first. 37. A farmer has 2n + 1 animals, a l , a 2 , . . . ,a2n+l, and wishes to get t h e m across a river in a boat t h a t can hold only n animals at a time. Animals ai and aj cannot be left alone whenever ]i - j ] - 1. How can she accomplish this task? (G. Gannon and M. Martelli, 1993) *38. Prove t h a t a connected graph with n vertices has at least n - i edges. (Hint: Use induction.) 39. Using the adjacency matrix of a graph, determine if it is connected.
write an algorithm to
The KSnigsberg bridge problem, considered earlier, raises two interesting questions: 9 Can one walk t h r o u g h the city crossing each bridge exactly once? 9 Can one walk t h r o u g h the city using each bridge exactly once and r e t u r n home? These two questions can be stated in terms of a connected graph: 9 Does the KSnigsberg bridge model contain an open path t h a t includes every edge exactly once? 9 Does it contain a circuit t h a t includes every edge? We shall answer these questions a bit later, but first a few definitions.
Eulerian Graph A path in a connected graph is an E u l e r i a n p a t h if it contains every edge exactly once. A circuit in a connected graph is an E u l e r i a n c i r c u i t if it contains every edge of the graph. A connected graph with an Eulerian circuit is an E u l e r i a n g r a p h . ~
Study the graphs G1, G2, and 63 in Figure 8.58. G1 is Eulerian since it contains an Eulerian circuit, for example, a-b-c-e-f-g-c-d-a; in fact, it contains several Eulerian circuits. (Can you find another one?) G2 has an Eulerian
8.5 Eulerianand Hamiltonian Graphs F i g u r e 8.58
b a
~
e f
d G1
c
c ~
g
557
b ~ e
a
fd
d G2
g G3
path, namely, a - b - c - e - d - b , but no Eulerian circuits. G3 has no Eulerian paths or circuits, m Theorem 8.7 provides a necessary and sufficient condition for characterizing Eulerian graphs. ~
A connected graph G is Eulerian if and only if every vertex of G has even degree. PROOF:
Suppose G is Eulerian. Then G contains an Eulerian circuit, say, from Vn-l-en-VO. Both edges el and e n contribute a 1 to the degree of vo; so deg(vo) is at least two. Each time the circuit passes through a vertex (including v0), the degree of the vertex is increased by 2. Consequently, the degree of every vertex, including vo, is an even integer. Conversely, suppose every vertex of G has even degree. Actually constructing an Eulerian circuit will prove G Eulerian. Let v0 be an arbitrary vertex in G. Beginning with vo, form a circuit C1 = v o - v l - v 2 . . . . . V n - l - v o . (The longer the circuit, the smaller the number of steps involved.) This is possible since every vertex has even degree and a vertex (r vo) can be left by an edge not used to enter it. If C1 is Eulerian, G is too. If C1 is not Eulerian, consider the subgraph H obtained by deleting all the edges in C1 and vertices n o t incident with the remaining edges. Note that all vertices of H have even degree. Since G is connected, H and C1 must have a common vertex b. Beginning with b, construct a circuit C2 forH. Now combine C1 and C2 to form a larger circuit C. If it is Eulerian, then G is. If it is not, continue this procedure to form an Eulerian circuit. This procedure must terminate since the number of edges in G is finite. Thus G contains an Eulerian circuit and hence is Eulerian. m v0 to v0:vo-el-vl-e2 . . . . .
The next two examples illustrate this powerful theorem. Recall that in Figure 8.58, G1 is Eulerian. By Theorem 8.7, every vertex must have even degree: deg(a) = deg(b) = deg(d) = deg(e) = deg(g) deg(f) = 2 and deg(c) - 4. Not every vertex in G2 has even degree, so G2, as expected, is not Eulerian. m
558
Chapter 8 Graphs
In the KSnigsberg bridge puzzle, the degree of every vertex in Figure 8.2 is odd, so the graph is n o t Eulerian. Consequently, it is impossible to walk t h r o u g h the city crossing each bridge exactly once and r e t u r n home. m Next we present a graph-theoretic solution to an ancient chess problem. The solution is ascribed to Dudeney, who knew little about graph theory and who called it the "buttons and string method." It exemplifies how valuable a tool a graph is in solving seemingly difficult problems. We find both beauty and elegance in the solution.* Two white knights occupy the upper corner squares and two black knights occupy the lower corner squares of a 3 • 3 chessboard (see Figure 8.59). How can the white knights swap their places with the black knights in the smallest n u m b e r of moves? (Try this yourself before studying the solution.)
Figure 8.59
SOLUTION: Knights move in an L-shaped p a t t e r n [a knight on a chessboard can move either two squares horizontally and one square vertically, or two squares vertically and one square horizontally, so a knight at position (i, j) has eight possible moves: (i + 1, j + 2) and (i + 2, j + 1). See Figure 8.60.
Figure 8.60 \
,
/
So n o knight can move into the central square, and therefore we are interested only in the eight outside squares. N u m b e r them I t h r o u g h 8, represent each by a vertex (button) and every possible move from square u to square v by an edge (string) from vertex u to vertex v. For example, the knight in square i can move to squares 5 and 7, so draw edges from vertex i to vertices 5 and 7; similarly, draw all other possible edges. Figure 8.61 shows the resulting graph. Notice that every vertex has even degree, so the graph is Eulerian and 1-5-6-2-8-4-3-7-1 is an Eulerian circuit. As a result, the graph can be redrawn as (that is, it is isomorphic to) the one in Figure 8.62 t h a t shows the puzzle has a solution (Why?). *M. Gardner, Mathematical Puzzles and Diversions, University of Chicago Press, Chicago, 1987.
8.5 Eulerianand Hamiltonlan Graphs
559
F i g u r e 8.61
F i g u r e 8.62
tb tb To find a solution, all you have to do now is move the knights to adjacent vertices cyclically (in either clockwise or counterclockwise direction) along the circuit until the black and white knights are swapped. (Try this, list all moves, and convince yourself.) m Using the adjacency matrix of a connected graph, Theorem 8.7 can produce an algorithm to determine whether or not the graph is Eulerian. It is given in Algorithm 8.1. Algorithm Eulerian Graph(G,A) (* Let G be a connected graph G with n vertices and adjacency matrix A = ( a i j ) n x n . This algorithm, using Theorem 8.7, determines i f G is Eulerian. Odd is a counter that keeps a count of the number of odd vertices in G.*) Begin (* algorithm *) odd <-- 0 (* i n i t i a l i z e the counter *) for i = I to n do (* find each row sum *) begin (* for *) sum <-- 0
for j : 1 to n do (* compute deg(vi) *) sum <-- sum + aij i f sum is odd then (* update the counter *) odd ~- odd + 1
endfor
Chapter 8 Graphs
560
i f odd = 0 then graph is Eulerian else graph is not Eulerian End (* algorithm *)
Algorithm 8.1
The next example shows how an E u l e r i a n circuit can be c o n s t r u c t e d in an E u l e r i a n graph.
~
The vertices of the graph in Figure 8.63 r e p r e s e n t the various cities a salesperson m u s t visit, and the edges r e p r e s e n t the various airline routes. Based at a, she would like to fly each route exactly once and r e t u r n home. Find a sequence of routes she could take for the round trip. In other words, find an Eulerian circuit for the graph.
F i g u r e 8.63
d
e
c
f b a
SOLUTION: First, notice t h a t the graph is Eulerian. To find an Eulerian circuit, use the construction method in the proof of T h e o r e m 8.7.
Step 1 Find a circuit C1 beginning with a, such as edges in Figure 8.64. C1 is not Eulerian.
F i g u r e 8.64
a-d-g-a,
indicated by b r o k e n
d C
\ \
~ f
b a
Step 2 Look for a vertex t h a t lies on both Ci and a solid edge. Vertices a and g are two such vertices. Beginning with one of them, say, g, build up a circuit C2
8.5 Eulerian and Hamlltonlan Graphs
561
using only solid edges: g-e-a-b-f-c-g. Indicate this also using broken edges, as in Figure 8.65. F i g u r e 8.65
d
e
9, I
/? \
/
I co.-
\
_
I
/ \
I
b.,-- 9.--I-" ~ / ~ I
\
/
",S a
F i g u r e 8.66
~
\ ~\\
I
"%' g
substitute here
/ Since no more solid edges remain, the procedure stops here, with two circuits C1 and C2. Since C2 begins with g, combine them as shown in Figure 8.66. The resulting is an Eulerian circuit, a-d-g-e-a-b-f-c-g-a, that the salesperson can fly and return home. m From Example 8.27 and the second half of the proof of Theorem 8.7, a simple algorithm evolves for finding an Eulerian circuit in an Eulerian graph. It is given in Algorithm 8.2. Algorithm Eulerian Circuit (G,a) (* Using Theorem 8.7, t h i s algorithm finds an Eulerian c i r c u i t C in an Eulerian graph G, beginning with vertex o. *) Begin (* algorithm *) find a c i r c u i t C beginning with vertex o. from G delete all edges in C and vertices incident only with edges in C. Call the r e s u l t i n g graph H. while there are edges in H do
begin (* while *) select find a update update
a vertex v that is common to C and H. c i r c u i t CH in H beginning with vertex v. the subgraph H the c i r c u i t C using CH.
endwhi I e End (* algorithm *) Algorithm 8.2
For a non-Eulerian connected graph, the next theorem can be used to determine if it contains an Eulerian path. A connected graph contains an Eulerian path, but not an Eulerian circuit, if and only if it has exactly two vertices of odd degree.
562
Chapter 8 Graphs
PROOF: Let G be a connected graph. Suppose it contains an Eulerian path from v0 t o Vn, s a y , v o - e l - v l - e 2 . . . . . V n - l - e n - V n . Edges e l and en contribute a 1 to the degrees of v0 and Vn, respectively. Every time the path passes through a vertex, it contributes a 2 to its degree. So every time the path passes through v0, its degree is increased by 2; similarly for Vn. Consequently, the degrees of v0 and Vn are odd. The degree of each internal vertex v l, v2,..., Vn-1 remains even. Thus the graph contains exactly two vertices of odd degree. Conversely, suppose G contains exactly two vertices of odd degree, say, v0 and Vn. Adding a new edge {v0, Vn } to G results in a graph G1 with all even degree vertices. Therefore, by Theorem 8.7, G1 is Eulerian. Removing edge {v0, Vn} from G1 shows that G contains an Eulerian path from v0 to Vn. 9
A useful observation: The proof of Theorem 8.8 implies that an Eulerian
path in a connected graph must begin and end at a vertex of odd degree. The following two examples illustrate Theorem 8.8. The KSnigsberg bridge model in Figure 8.2 contains four vertices, all odd degree. Therefore, by Theorem 8.8, no Eulerian path exists. In other words, no walk through the city, traversing each bridge exactly once, is possible, m Determine if each graph in Figure 8.67 has an Eulerian path. If so, find it.
F i g u r e 8.67
a
b a:
b~
d
e
G1
a
c e
c G2
G3
SOLUTION: Both G1 and G2 contain exactly two vertices of odd degree, namely, a and b. Therefore, by Theorem 8.8, both contain Eulerian paths. For example, a-b-c-d-e-b is an Eulerian path in G1 and a-d-b-c-a-b is an Eulerian path in G2. G3 contains four vertices of odd degree, So G3 does not contain an Eulerian path. m The next example, although quite simple and straightforward, is a nice application of Eulerian paths.
8.5
563
Eulerian and Hamiltonian Graphs
Figure 8.68 shows the floor plan of a haunted house. Jeff enters it through the front door and the door locks behind him. In fact, every time he passes through a door, it locks behind him. Is it possible for him to visit every room exactly once and exit through the back door?*
Figure 8.68
front door
----1
-1-I
n
I back door
SOLUTION: (The answer is obvious by inspection.) First, we construct a graph model, as in Figure 8.69, where F denotes the front yard, B the back yard, and every edge a door. Thus the problem can be restated as: Does the graph in Figure 8.69 contain an Eulerian path ?
Figure 8.69 1..
a 2 ~[~8~....
~
Since the graph has exactly two odd vertices, F and B, by Theorem 8.8, it contains an Eulerian path; one such path is F-l-2-4-1-3-e-5-f-3-6-5-7-g8-a-2-b-8-h-7-6-B. (Can you find all Eulerian paths in the graph?) m
*Based on "Calendar Problems," Mathematics Teacher, Vol. 85 (Dec. 1992), p. 736.
564
Chapter 8 Graphs With the above set of necessary and sufficient conditions for a connected graph to have an Eulerian circuit and an Eulerian path, we examine two strikingly similar questions: 9 Under what conditions will a connected graph have a cycle that includes every vertex of the graph? 9 Under what conditions will it have a simple path that includes every vertex? Before exploring answers, let us study the following puzzle. ( A r o u n d t h e W o r l d P u z z l e ) In 1857, the Irish mathematician Sir William Rowan Hamilton invented a puzzle. It consisted of a wooden regular dodecahedron (a polyhedron with 12 regular pentagonal faces), a peg at each of the 20 vertices of the dodecahedron, and a string (see Figure 8.70). Each peg represented a major city in the world and each edge of the decahedron a route between two cities. The problem was: B e g i n n i n g at an arbitrary city, find a route for a round trip that would take a person to every other city exactly once. The route was identified using the pegs and the string.
Figure 8.70 Around the world puzzle.
The same problem can be expressed as: Does the graph model in Figure 8. 71 have a cycle containing every vertex? (Try to find such a cycle.) Hamilton's puzzle has a solution, indicated by the solid edges in Figure 8.72.
Figure 8.71 A graph model of Hamilton's puzzle.
Figure 8.72 A solution to Hamilton's puzzle.
m
565
8.5 Eulerianand Hamiltonian Graphs
i
S i r W i l l i a m R o w a n H a m i l t o n (1805-1865) was born in Dublin, Ireland. By the age of 3 he had mastered Greek, Hebrew, and Latin, and by 10 he had also learned Arabic, Persian, Bengali, Chaldee, Hindustani, Malay, Marathi, and Sanskrit. By 17 he had mastered calculus and astronomy without any formal training. At 18 he entered Trinity College, Dublin, where he excelled, winning extraordinary honors in classics and science. At 22 he was appointed the Astronomer Royal of Ireland, a position he held until his death. At age 30, he was knighted. Hamilton made significant contributions to abstract algebra, dynamics, and optics. He is well known for his development of the noncommutative system of quarternions (or Icosian calculus as he called it). In 1875 Hamilton invented The Icosian Game, based on his work on quarternions. He sold the idea to a dealer of games and puzzles for 25 pounds, but it was a bad investment for the dealer. The Around the World Puzzle is a variant of this game.
This example and the two questions posed above naturally lead to the next definitions named in honor of Hamilton for obvious reasons.
Hamiltonian Graph
A simple path in a connected graph is H a m i l t o n i a n if it contains every vertex. A cycle in a connected graph that contains every vertex is H a m i l t o n i a n . A connected graph that contains a Hamiltonian cycle is a H a m i l t o n i a n graph. The following example illuminates these definitions. Are the graphs in Figure 8.73 Hamiltonian? If a graph is not Hamiltonian, does it contain a Hamiltonian path? F i g u r e 8.73
c ~
a b
f Graph G1
~
~
Graph G2
f
e
Graph G3
SOLUTION: Graph G1 contains a Hamiltonian cycle, for example, a-c-d-g-h-f-e-b-a, so it is Hamiltonian.
566
Chapter 8 Graphs In G2, suppose we start at a, b, or c. Then we have to pass t h r o u g h d to visit vertices e, f, and g. So, to r e t u r n to the home vertex, we have to pass t h r o u g h d again. Thus G2 contains no H a m i l t o n i a n cycles t h a t begin at a, b, or c. Suppose we start at d. Then again after visiting a, b, and c, we have to pass t h r o u g h d to visit e, f, or g before r e t u r n i n g to d. Consequently, G2 contains no Hamiltonian cycles t h a t begin at d either. Suppose we s t a r t at e, f, or g. This also yields no Hamiltonian cycles. Thus G2 is not H a m i l t o n i a n . Nonetheless, it does contain a Hamiltonian path, a-b-c-d-e-f-g. In G3, to visit a, c, d, or f, we m u s t enter and leave both b and c at least twice, so it is not Hamiltonian. By a similar argument, it has no Hamiltonian paths. B Example 8.33 uses Gray codes introduced in Chapter 7. Let E n denote the set of n-bit words. The graph with each vertex representing one of the n-bit words is called the n - c u b e , denoted by Qn. Two edges in Qn are adjacent if the H a m m i n g distance between t h e m is one. Figure 8.74 shows the n-cube for n - 1, 2, and 3.
Figure 8.74
011 11
~i O:
:
00-
1
Q1
- 10
Q2
001
000
111
illO 100
Q3
Is the n-cube Hamiltonian? By Example 7.10, a Gray code exists for every En; t h a t is, a cycle with every vertex of the n-cube does exist, so Qn is Hamiltonian. For instance, Figure 8.75 shows a Hamiltonian cycle for Q3.
Figure 8.75
011
111
~
001 A
/~oio ~
000
110 100
567
8.5 Eulerian and Hamiltonian Graphs
Using matrices, a Hamiltonian cycle Hn for Qn can be defined recursively, where each element in Hn represents a vertex:
I-E 0]
Hn = L1HnR1
,
n>_2
where Hn-1 R denotes the list Hn-1 in the reversed order. For example,
H2-
00 01 11 10
H3-
DO0 001 011 010 110 111 101 100
Then
This clearly agrees with the Hamiltonian cycle in Figure 8.75. (Can you find such a cycle for Q4 using recursion? See Exercise 60.) m
Qn serves as a fine model of parallel computation, where each vertex represents a processor. Since Qn is Hamiltonian, it follows that every processor can communicate with every other processor, either directly or indirectly. Hamiltonian cycles are a misnomer because Hamilton was certainly not the first person to look for them. One earlier reference to them can be found in the famous K n i g h t ' s t o u r p r o b l e m stated below. Knight's Tour Problem
Is it possible for a knight to visit each square on a chessboard exactly once and return to the home square? To see how this problem is related to finding Hamiltonian cycles in a graph, represent each square by a vertex and the two squares connecting a knight's move by an edge. Then a knight's tour is possible if and only if the corresponding graph is Hamiltonian.
568
Chapter 8 Graphs
Figure 8.76
Figure 8.77
For example, Figure 8.76 shows a 4 x 4 chessboard and Figure 8.77 a graph representing a set of legal moves by a knight; u n f o r t u n a t e l y , it lands at some squares more t h a n once; therefore, the graph is not Hamiltonian. With a bit of patience, we will find t h a t a k n i g h t ' s tour is impossible on a 4 x 4 board. F u r t h e r m o r e , no solution exists on an n x n board if n is odd. In 1759, Euler published an algorithm for finding a tour on an 8 z 8 chessboard, and 12 years later Alexandre-Th~ophile V a n d e r m o n d e presented another one. Figure 8.78 shows a solution. (Finding a k n i g h t ' s tour is a good exercise in "backtracking"; see Section 9.2.)
Figure 8.78
An interesting observation: Using the t o u r in Figure 8.78, suppose we n u m b e r the squares 1 t h r o u g h 64 in the order they are visited. The resulting square (see Figure 8.79) is a pseudo-magic square: the row sums and column sums are equal, each being 260, but the diagonal sums are different.
8.5
Eulerian and Hamiltonian Graphs
569
A l e x a n d r e - T h d o p h i l e V a n d e r m o n d e (1735-1796) was born in Paris. Music was his first love and he developed an interest in mathematics later in life. His entire mathematical contribution consists of four papers published in the Histoires of the Academy of Sciences during 1771-1772. They are concerned with the theory of equations, theory of determinants, factorials, and the knight's tour. Vandermonde died in Paris.
Figure 8.79
35 26 37
14 63
38 15 34 25 27 36
12
13 40 21
16 39 28 33 52
24 11 50 51 62 23 64 49 9
10
22 61
29 54 41 20
1
60
7
48
42 17 32
8
45
4
59
19 44 57
2
47
6
18 43 56 31 46
5
58
3
55 30
53
Hamiltonian paths have interesting applications to combinatorics, as the next example shows. (optional) A p o w e r c h a i n o f o r d e r n is a p e r m u t a t i o n of the first n (>_ 2) natural n u m b e r s such that the sum of every pair of adjacent elements is a power. For example, 81726354 is a power chain of order 8. Find all power chains of order 7.*
SOLUTION: A systematic procedure for finding all power chains of order n follows. Draw a graph with n vertices, labeled 1 t h r o u g h n. Two vertices i and j in the graph are adjacent if i + j is a power. Each Hamiltonian path yields a power chain. In particular, consider the graph in Figure 8.80 with n = 7. Since the degree of vertex 4 is 1, it is easier to list all Hamiltonian paths beginning with 4. For convenience, redraw the graph as in Figure 8.81. It follows from this graph t h a t there are exactly two power chains of order 7:4531726 and 4536271.
*Proposed by H. L. Nelson and solved by B. Barwell, J. Recreational Mathematics, Vol. 12:1, 1979-1980, pp. 67-68.
570
Chapter 8 Graphs
F i g u r e 8.80
3
2=,
4
~
6
6
5
F i g u r e 8.81
1 4o
s
7
3_7
-
~
Ha
Although a simple test will determine whether or not a connected graph has an Eulerian circuit or an Eulerian path, nothing similar exists for determining if it contains a Hamiltonian cycle or path. Finding such a test, without an exhaustive search of all n! possible paths, remains a major unsolved problem in graph theory. A host of sufficient conditions exist, however, for a connected graph to be Hamiltonian. Two lie below, without proofs, but illustrated. ( D i r a c ' s T h e o r e m ) A simple connected graph G with n > 3 vertices is n
Hamiltonian if deg (v) > ~ for every vertex v in G.
m
Notice that the condition in Theorem 8.9 does not apply to the graph G1 in Figure 8.73 and the 3-cube in Figure 8.75. Nonetheless, both are Hamiltonian. So even if the condition is not satisfied, the graph may be Hamiltonian. The next theorem provides another sufficient criterion for a graph to be Hamiltonian. (Ore's T h e o r e m ) Let G be a simple connected graph with n > 3 vertices. If deg (u) + deg (v) > n for every pair of nonadjacent vertices u and v, then G is Hamiltonian. m You may verify that deg (u) + deg (v) > 5 for every pair of nonadjacent vertices u and v of the graph G3 in Figure 8.67. Consequently, by Theorem 8.10, G3 is Hamiltonian, as expected. The condition in the theorem is not satisfied by the 3-cube in Figure 8.75; nonetheless, Q3 is Hamiltonian. Next we present the well-known traveling salesperson problem, which employs Hamiltonian cycles and has interesting applications to the theory of communications.
8.5 Eulerianand HamiltonianGraphs
571
Gabriel A n d r e w D i r a c (1925-1984), a pioneer in graph theory, was born in Budapest. He moved to England in 1937 when his mother married Paul Adrien Maurice Dirac, a Nobel Laureate in physics. In 1942, he began his studies at Cambridge University. After a two-year interruption by the war, he continued his studies at Cambridge and London, receiving his Ph.D. in mathematics from the University of London (1951). That same year he was awarded the Rayleigh Prize by Cambridge University. Dirac taught at the universities of London, Toronto, Hamburg, Wales, and Aarhus. He was a member of the editorial board of the Journal of Graph Theory and the European Journal of Combinatorics. Besides his work with graph theory, he made outstanding contributions to number theory and geometry. He was also a passionate art connoisseur.
Oystein Ore (1899-1968), a Norwegian mathematician, was born in Oslo. He received his Ph.D. from Oslo University in 1924 and taught there for 2 years. He joined Yale University in 1927 and taught there until his retirement in 1967, holding the chail ,:,fthe mathematics department from 1936 to 1945. Ore served on the board of American Relief for Norway from 1942 to 1947 and chaired the Relief Mission in 1945-1946. Recognizing his contributions to Norway, King Haakon VII decorated him Knight of St. Olaf in 1947. As an author of numerous articles and several books, Ore made outstanding contributions to graph theory, abstract algebra, number theory, and probability.
Traveling Salesperson Problem Study the weighted graph in Figure 8.82. The vertices represent cities and the weights represent the distances between them. A salesperson assigned to city a would like to visit every other city exactly once and return to the home city so that the total distance traveled is a minimum. In other words, beginning at a, he would like to find a Hamiltonian cycle, so the sum of the weights along the cycle is a minimum. This is the celebrated t r a v e l i n g salesperson problem.
Figure 8.82
C
b , ~ ~ 1 0~ - d a-
9
-e
572
Chapter 8 Graphs When the graph contains only a few vertices, you can list all possible cycles, compute the sum of the weights along each, and find the shortest Hamiltonian cycle. For example, the graph in Figure 8.82, by the multiplication principle, has 4!/2 = 12 distinct Hamiltonian cycles, each containing five edges. You may verify that the cycle with least weight is a-d-b-c-e-a; so the total distance traveled is 60 miles. Finding a Hamiltonian cycle in a complete graph Kn without searching through all distinct (n - 1)!/2 Hamiltonian cycles remains an unsolved problem. We close this section with another graph-theoretic game. (optional) The game of H a m (for H a m p t o n Court) is a graph-theoretic game quite similar to SIM, invented by B. Recaman in 1977. Like SIM, Ham is also a two-person game. Two players, R (for red) and B (for blue), take turns coloring an edge of the complete graph Kn. (A game on Kn is a game of o r d e r n.) Player R's objective is to obtain a Hamiltonian cycle made up entirely of red edges while B's goal is to prevent R from doing it. Whoever achieves his\her goal wins the game. The game of order 3 has a trivial winning strategy for player B. She can always block R from completing a Hamiltonian cycle. (So B wins.) See Figure 8.83, where solid edges indicate red edges and broken edges, blue.
Figure 8.83 iI
Player B wins.
Figure 8.84
J ~_
.
~
I
.
~k
.
.
.
Player B wins.
Figure 8.85 Player B wins. Player B can always win games of orders 4 and 5, as in Figures 8.84 and 8.85. The game of order 6, although a bit more complicated, can also be won by player B. After R has colored the first edge {x, y}, B colors an edge {u, v} not incident with x or y. Thereafter, B colors four more edges incident with x or y. At this stage, if R has at least two edges incident with both u and v, she can win (see Figure 8.86). But B can avoid this by coloring one of the two edges missing in the Hamiltonian cycle (see Figure 8.87). Is player B favored to win if the game is of order 7 or more? It is conjectured so.
573
8.5 Eulerianand Hamiltonian Graphs
F i g u r e 8.86
u
U
Player R wins. ", "b.~
~-~/
',,V.:x.~
Figure 8.87 Player B wins. t
x
3'
u
U
,," J.-~{ z - . k \ -"
I
\
i
x
I ".
\
3'
I
Exercises 8.5
Determine if each graph is Eulerian.
2.fi
3.
5./%
7,,
0
'V"
-
Construct an Eulerian circuit for each Eulerian graph. 7.
b a ~ c e5
8.
b a ~ c e8x x ~ / e5 d
9.
b ae
~ e~
c
574
Chapter 8 Graphs a
10.
e2
b
11.
/
~e 4 X x ~ e 6
e
d
e7
-d
C
12. e2
'Je4~ //~ 6= e8 d
13. Is the Petersen graph in Figure 8.28 Eulerian? 14-19. Do the non-Eulerian graphs in Exercises 1-6 have an Eulerian path? Find an Eulerian path in each graph, if possible. 20.
el e
21. e4
c
22.
a
e
b
a
e
12
d
d
Under what conditions will each graph be Eulerian? 23.
Kn
24.
Km,n
2 5 - 2 6 . Under what conditions will each graph in Exercises 23 and 24 contain an Eulerian path, but not an Eulerian circuit? 27. If a connected r-regular graph is Eulerian, what can you say about r? 2 8 - 4 2 . Are the graphs in Exercises 1-12 and 20-22 Hamiltonian? If one is not Hamiltonian, determine if it has a H a m i l t o n i a n path; if so, find it. 43. Under what conditions will the complete graph K,~ be Hamiltonian? 44. If G is a connected graph containing a vertex with degree 1, can it be Hamiltonian? Determine if each complete bipartite graph Km,n is Hamiltonian. If a graph is not Hamiltonian, does it contain a Hamiltonian path? 45. K2,3
46. K3,3
49. For what values of m and n will
47. K2,4
Km,n be
48. K3,4
Hamiltonian?
50. Is the Petersen graph in Figure 8.28 Hamiltonian?
8.,5 Eulerianand Hamiltonian Graphs
Consider the t r i a n g l e Figure 8.88.*
graph
575
Tn, where T1, T2, T3 are shown in
F i g u r e 8.88
A
A
/%
w
T1
T2
T3
51. When will Tn be Eulerian? Consider the s q u a r e Figure 8.89.
graph
52. When will Tn be Hamiltonian? Sn,
where $1, $2, $3 are pictured in
F i g u r e 8.89 v
_
S1
$2
$3
53. When will S,, be Eulerian?
54. When will Sn be Hamiltonian?
Give an example of a graph that is: 55. Both Eulerian and Hamiltonian. 56. Eulerian, but not Hamiltonian. 57. Hamiltonian, but not Eulerian. 58. Neither Eulerian nor Hamiltonian. 59. Figure 8.90 shows five cities, a t h r o u g h e, and the distances between them. A salesperson based at a would like to visit each city exactly once and r e t u r n to a, covering the fewest miles. Find the route she should take and the m i n i m u m distance she would travel. 60. Display a Hamiltonian cycle for the 4-cube. Find all power chains of order n, if they exist, for each value of n. 61. 6
62. 8
63. 9
64. 15
*Exercises 51-54 are based on A. Guckin et al., The Euler Circuit Project, COMAP, Inc., Lexington, MA, 1989.
576
Chapter 8 Graphs
Figure 8.90
c
1
3
~
a-
5
6 -e
*65. A power cycle of order n is a cyclic permutation of the first n (> 2) positive integers such that the sum of every pair of adjacent elements is a power. Find a power cycle of order 17. 66. Write an algorithm to determine if a connected graph is Eulerian, using its adjacency list representation. 67. Write an algorithm to determine if a connected graph contains an Eulerian path, using its adjacency matrix.
Take a good look at every graph presented so far. In some cases, the edges meet only at the vertices, whereas in the other cases the edges meet at nonvertices. For example, the edges of the K6nigsberg bridge model (Figure 8.2) meet only at its vertices, whereas the edges of the pentagram in Figure 8.5 intersect at points that are not necessarily vertices. However, the confusion can be resolved. The pentagram can be redrawn in such a way that its edges intersect only at its vertices, as Figure 8.91 shows. The graphs in Figures 8.5 and 8.91 are clearly isomorphic. You are invited to verify this.
Figure 8.91
0
3
2
w
From these observations arises the following definition.
Planar Graph A graph is p l a n a r if it can be drawn in the plane, so its edges meet only at the vertices. Such a drawing is a p l a n a r r e p r e s e n t a t i o n of the graph.
8.6 Planar Graphs
577
The previous discussion indicates the pentagram is planar. The graph in Figure 8.92 is planar since it can transform to Figure 8.93; they are isomorphic graphs. The graph in Figure 8.94 is also planar; Figure 8.95 shows its planar representation. F i g u r e 8.92
F i g u r e 8.93
a
d-
-c
a
b
C v
F i g u r e 8.94
b
wd
b c
d
F i g u r e 8.95
c) Planarity is an important concept with fine, real-world applications. For example, it figures prominently in designing circuit boards. The following example answers a problem posed at the beginning of the chapter.
~
(The T h r e e H o u s e s - U t i l i t i e s P u z z l e ) A developer is building three new houses m A , B, and C r o o n one side of a street. She would like to connect three utilities m electricity (E), telephone (T), and water ( W ) - to each house. This situation can be modeled by the complete bipartite graph K3,3 in Figure 8.96. Can the developer lay the utility lines without any crossings? To answer this, try to make a planar representation of K3,3. Draw eight of the nine edges in K3,3 (see the solid edges in Figure 8.97). How can we draw the edge from W to A? Notice that W lies on the circuits W-C-T-B-W and W-C-E-B-W. Consider the regions bounded by them. Since A lies outside both, any edge
578
Chapter 8 Graphs
F i g u r e 8.96
A
B
C
E
T
W
from W to A m u s t cross a b o u n d a r y (see the broken edges in the figure). T h u s K3,3 is n o n p l a n a r and the puzzle has no solution. The utility lines will cross. (Example 8.41 will prove this algebraically.)
F i g u r e 8.97
"
B
RI", ,,,~_~ 1 , C
m An a r g u m e n t like this geometric proof can show t h a t the complete graph /(,5 is also nonplanar. Notice t h a t any planar r e p r e s e n t a t i o n of a connected graph divides the plane into regions, including the u n b o u n d e d region. For instance, the planar graph in Figure 8.98 divides the plane into five regions, m a r k e d 1 t h r o u g h 5. The graph has six edges and and three vertices. Let r denote the n u m b e r of regions formed by e edges and v vertices. T h e n r - e - v + 2. In fact, this relationship is not a coincidence, but is always true.
F i g u r e 8.98 5
( E u l e r ' s f o r m u l a ) Let G be a connected planar graph with e edges and v vertices. Let r be the n u m b e r of regions formed by a planar r e p r e s e n t a t i o n of G. T h e n r - e - v + 2.
8.6 PlanarGraphs
579
P R O O F (by i n d u c t i o n on e)" Let P(n)" E u l e r ' s f o r m u l a holds for every c o n n e c t e d p l a n a r g r a p h w i t h n edges. B a s i s s t e p Clearly, P(0) is t r u e . S u p p o s e t h e g r a p h c o n t a i n s one edge. T h e n t h e r e are two possibilities: T h e edge m a y or m a y not be a loop (see F i g u r e 8.99). In t h e first case, e - 1, v - 1, a n d r - 2. In t h e second case, e - 1, v - 2, a n d r - 1. In b o t h cases, r - e - v + 2. C o n s e q u e n t l y , P(1) is also true.
F i g u r e 8.99
I n d u c t i o n s t e p A s s u m e P(k) is t r u e for some k > 0; t h a t is, a s s u m e t h e f o r m u l a holds for every c o n n e c t e d p l a n a r g r a p h w i t h k edges. C o n s i d e r a c o n n e c t e d p l a n a r g r a p h G w i t h k + 1 edges, v vertices, a n d r regions. G e i t h e r has a cycle or does not. C a s e 1 Suppose G does not c o n t a i n a cycle. T h e n G m u s t c o n t a i n a v e r t e x u of degree 1. To find such a vertex, build a p a t h from a n y v e r t e x u n t i l you c a n n o t go a n y f u r t h e r . The last v e r t e x visited is such a v e r t e x u. (See F i g u r e 8.100.) Let a be t h e edge i n c i d e n t w i t h u. Let H be t h e g r a p h o b t a i n e d by deleting v e r t e x u a n d edge a from G. H c o n t a i n s e' - k edges a n d v' = v - 1 vertices. Since G is connected, so is H. Therefore, by t h e i n d u c t i v e hypothesis, the f o r m u l a holds for H ; t h e n u m b e r of regions r' f o r m e d by H satisfies t h e f o r m u l a r' = e' - v' + 2. B u t r' = r. So r'-
( e - 1) - (v - 1) + 2
T h a t is,
r-e-v+2 F i g u r e 8.100
/a C a s e 2 Suppose G c o n t a i n s a cycle. Let a be an edge in the cycle (see F i g u r e 8.101). Let L be t h e s u b g r a p h o b t a i n e d by d e l e t i n g edge a from G. (Note: Deleting edge a m e r g e s regions R1 a n d R2.) This s u b g r a p h c o n t a i n s e' = k edges a n d v' - v vertices; t h e r e f o r e , by t h e i n d u c t i o n hypothesis, t h e n u m b e r of regions r' f o r m e d by L is given by r' = e' - v' + 2. B u t r' - r - 1, e' = e - 1, a n d v' = v. So r-
1-(e-
1)- v+2
Chapter 8 Graphs
580
That is, r-e-v+2
F i g u r e 8.101
By cases 1 and 2, P(k + 1) is true. Therefore, by PMI, the formula holds for every connected planar graph, n The next two examples illustrate Euler's formula. ~
Verify Euler's formula for the connected planar graph in Figure 8.102.
F i g u r e 8.102
SOLUTION: The graph contains 22 edges and 13 vertices, which form 11 regions. So e - v + 2 - 2 2 - 1 3 + 2 - 11 - r. m ~
A connected planar graph has 17 edges, dividing the plane into nine regions. How many vertices does the graph have?
SOLUTION: Here e - 17 and r - 9. By Euler's formula, v--e-r+2-
17-9+2-
10
m
Euler's formula can generate simple relationships in special cases. One such formula is given in the following theorem. If G is a simple, connected, planar graph t h a t contains e (>2) edges and v vertices, then e < 3v - 6.
PROOF: Suppose the plane is divided into r regions by a planar r e p r e s e n t a t i o n of the graph. First, we shall show t h a t 2e > 3r. If e - 2, then r - 1. So 2e > 3r.
8.6 PlanarGraphs
581
Suppose e > 2. Let s be the total n u m b e r of edges along the boundaries of the various regions. Every edge appears on the b o u n d a r y of two regions, so every edge is counted twice in this sum and s - 2e. Now every region, including the u n b o u n d e d region, is bounded by at least t h r e e edges. Therefore, s > 3r and 2e > 3r. By Euler's formula, r+v-2-e
Then 3r + 3v - 6
-
3e
3 r + 3v - 6 - e
-
2e
3r + 3v - 6 - e
> 3r
So
T h a t is, e<3v-6
m
This t h e o r e m can prove t h a t K5 is nonplanar. Prove t h a t the complete graph K5 is nonplanar. P R O O F (by contradiction)" Recall t h a t K5 contains 5 vertices and 10 edges. It is a simple connected graph. If it is planar, e < 3v - 6, by T h e o r e m 8.12. But 3v - 6 - 3(5) - 6 9 < e, which is a contradiction; so K5 is not planar, m Is the converse of T h e o r e m 8.12 true? T h a t is, if e < 3v - 6 in a simple connected graph, is it planar? To answer this, recall t h a t in K3,3, v - 6 and e - 9, so e < 3v - 6. Nonetheless, Example 8.36 showed K3,3 is nonplanar; so the converse is false. In the analysis of planar graphs, the degree of a region becomes useful. Degree of a Region For a region R formed by a p l a n a r r e p r e s e n t a t i o n of a connected graph, the d e g r e e of a region R, denoted by deg (R), is the n u m b e r of edges in a closed path bordering R. Find the degree of each region formed by the graphs in Figures 8.103 and 8.104.
F i g u r e 8.103
a
c-
-d
582
Chapter 8 Graphs
F i g u r e 8.104
a
c-
-d
SOLUTION: 9 In Figure 8.103, each region is bounded by three edges. So deg (R1) deg (R2) - deg (R3) - deg (R4) = 3. 9 In Figure 8.104, R2 is bounded by three edges, so, deg(R2) - 3. R1 is bounded by the closed path a-c-d-a-b-a which contains edge {a, b } twice. So deg (R 1) - 5. m The next theorem establishes a straightforward relationship between the sum of the degrees of the regions and e. The sum of the degrees formed by a planar representation of a connected graph G with e edges equals 2e; that is, ~ deg ( R i ) - 2e. i
PROOF: Every edge in a planar representation of G either bounds two regions (see Figure 8.103) or lies within a region (see Figure 8.104), so it is counted twice in computing the degree of the region. So ~ deg(R/) - 2e. m i
Through Euler's formula and Theorem 8.13, the proof that g 3 , 3 is nonplanar emerges algebraically. Prove that g 3 , 3 is nonplanar.
P R O O F (by contradiction)" Assume g 3 , 3 is planar. Since g 3 , 3 has six vertices and nine edges, a planar representation must yield r = e - v + 2 - 9 - 6 + 2 - 5 regions, by Euler's formula. If K3,3 were planar, each region R i would be bounded by at least four edges. Then the sum of the degrees of the regions in a planar representation would be at least 5 . 4 = 20; that is, ~ d e g ( R i ) > 20. i
By Theorem 8.13, 2e -
~ deg(R/). This yields 18 > 20, which is a i
contradiction, so K3,3 is not planar, Thus both K5 and g 3 , 3 a r e nonplanar, and any graph containing one of them as a subgraph is also nonplanar. In fact, every nonplanar graph must contain a subgraph derived from K5 or K3,3 through elementary operations defined below.
m
8.6
Planar Graphs
583
H o m e o m o r p h i c Graphs
Let {u, w} be an edge in a graph. Make a vertex v of degree two by deleting the edge {u, w} and adding two edges {u, v} and {v, w} incident with v. Now, delete v and replace the two edges with an edge {u, w}. Such inserting and deleting of vertices of degree two are e l e m e n t a r y o p e r a t i o n s on a graph. Two graphs are h o m e o m o r p h i c if one can be obtained from the other by a sequence of elementary operations. For example, the graphs in Figure 8.105 are homeomorphic. Why?
Figure 8.105
b
b
a
e
a
f
b e
f
a
e
f
Fortunately, the elementary operations do not affect the planarity of a graph. A criterion for planarity was proved by the Polish mathematician Kazimierz Kuratowski in 1930. ( K u r a t o w s k i ' s t h e o r e m ) A graph is planar if and only if it does not contain a subgraph homeomorphic to K5 or K3,3. (Equivalently, a graph is nonplanar if and only if it contains a subgraph homeomorphic to K5 or K3,3.) m We close this section with an example that illustrates this theorem. Is the graph in Figure 8.106 planar? SOLUTION: The graph in Figure 8.106 contains K5 as a subgraph (see Figure 8.107); so it is not planar, m Although Kuratowski's theorem gives a necessary and sufficient condition for a graph to be planar, it does not provide an algorithm to determine if a graph with n vertices is planar. Such algorithms do exist, however, which can be executed using O(n) time. Figure 8.106
C
a
e
584
Chapter 8 Graphs
Kuratowski (1896-1980), a Polish mathematician and son of a well-known lawyer, was born in Warsaw. After completing his secondary ,~: , education, he studied engineering at the University of Glasgow in Scotland in 1913. When he returned home during the summer of 1914, World War I broke ......... out, so he could not return to Glasgow. In 1915, Kuratowski studied mathematics at the University of Warsaw , where he was a student of the Polish logician Jan Lukasiewicz (see Section -MA~! ...." ~ 9.5). He graduated from the University in 1919 and received his Ph.D. in 1921. "":~' "~'~ In 1927, Kuratowski became professor of mathematics at Lvov Technical ~"~ '........:~..... ' University. Six years later, he returned to the University of Warsaw where he had both academic and administrative responsibilities; he worked there until 1966. In 1928, he joined the editorial board of F u n d a m e n t a Mathematicae and became its editor-in-chief in 1952, a position he held until his death. From 1957 to 1968 he was vice president of the Polish Academy of Sciences, as well as founder and later director of the Institute of Mathematics. Kuratowski wrote numerous articles for professional journals, making significant contributions to topology, graph theory, and analysis. 9
Kazimierz
F i g u r e 8.107
h
i
g
J
Exercises 8.6 D r a w a p l a n a r r e p r e s e n t a t i o n of e a c h g r a p h . a
.
b
c 3.
d
e
a
e
2. a
b
d.. 4.
d
5. D r a w a p l a n a r r e p r e s e n t a t i o n of t h e 3-cube.
..c d
8.6 PlanarGraphs
585
Are the following graphs planar? If one is, draw a planar representation.
a ~
e
c
f
a d
8. c
~d
b-~~~ a ~
9. b
c
e f
a-
-d
Verify Euler's formula for each connected planar graph.
/k
10.
11.
v
12-13. Verify Theorem 8.12 for the simple, connected, planar graphs in Exercises 10 and 11. 14. A connected, planar graph contains 10 vertices and divides the plane into seven regions. Compute the number of edges in the graph. 15. A connected, planar graph contains 24 edges. It divides the plane into 13 regions. How many vertices does the graph have? 16. Find the maximum number of edges in a simple, connected, planar graph with six vertices. With seven vertices. 17. Find the minimum number of vertices in a simple, connected, planar graph with 12 edges. With 19 edges. Find the degree of each region formed by these planar graphs. 19.
586
Chapter 8 Graphs Verify that each graph is nonplanar by finding K5 20.
c A
d
21.
a
b
or
g3, 3 as a subgraph. c
d
A
22. For what values of n will the complete graph Kn be planar? 23. For what values of m and n will the complete bipartite graph Km,n be planar? Find the minimum number of edges that must be removed from each complete graph, so the resulting graph is planar.
24. K5
25. K6
*26. Find the minimum number of vertices in a simple, connected, planar graph with e edges. *27. Show that the Petersen graph (Figure 8.28) is nonplanar. (Hint: Find a subgraph homeomorphic to K3,3.)
Have you ever observed the traffic light pattern at intersections and calculated the number of different light patterns? Or have you ever wondered if the final examinations at a college can be scheduled so that no student would have a time conflict? Surprisingly, both problems can be modeled by graphs and solved by a technique called graph coloring. To begin with, take a careful look at any m a p - - f o r example, the map of the continental United States. Have you ever wondered how many different colors are needed to color it, so no two adjacent states are assigned the same color? (Two states that meet at a single point are not considered adjacent.) For instance, consider the map of a portion of the United States in Figure 8.108. Since it contains 11 states, the map can be colored with 11 colors. But this is inefficient. Can we do better? That is, can we color the map with fewer colors? First, you can verify that it can be done with four colors; no fewer than four will work because the five states around Nevada m Idaho, Oregon, California, Arizona, and Utah must have three different colors. So with Nevada, at least four colors are needed. Figure 8.109 shows a possible coloring of the map using exactly four colors.
8.7 GraphColoring
587
Figure 8.108
Figure 8.109
To see how map coloring is a graph-theoretic problem, represent each state by a vertex. Two vertices are adjacent if the states have a common border. Figure 8.110 shows the resulting graph. Thus the map coloring problem is equivalent to assigning a color to each vertex of the graph so that no two adjacent vertices have the same color. Figure 111 shows such a coloring, where "R" represents red; "B", blue; "G", green; and "Y", yellow. (Verify this.) This discussion brings us to the next definition.
Graph Coloring A coloring of a simple graph is an assignment of colors to its vertices, so no two adjacent vertices are assigned the same color. Since a graph with n vertices can be colored with n colors, often we are interested in a coloring that takes the least number of colors. For example, notice that in Figure 8.108 vertices ID, OR, and NV are mutually adjacent; that is, they form a triangular subgraph, so three colors are needed to color them, meaning any coloring of the graph will take at least three colors. Will three colors suffice? No, and let us see why. Notice that the vertices ID, OR, CA, UT, and AZ of the cycle subgraph must be assigned three colors. Since NV is adjacent to each one of them, it must be assigned a different color, meaning at least four colors are needed to color the graph.
588
Chapter8 Graphs
Figure 8.110
MT WA WY OR CO
CA ~
NM AZ
Figure 8.111
MT WA
OR~
CA ~
~
~
l
WY CO
NM AZ
Figure 8.111 shows such a coloring, so the least number of colors needed is four. Accordingly, we make the next definition.
Chromatic Number The chromatic number of a graph is the minimum number of colors needed for a coloring of the graph. Thus the chromatic number of the graph in Figure 8.110 is four.
8.7 GraphColoring
~J
589
Francis Guthrie (1831-1899)was born in London, England. After graduating from University College, London, he pursued law and became a barrister. Around 1850, after coloring the counties of England on a map with four colors, Guthrie conjectured the four-color problem to his younger brother Frederick. At that time Frederick Guthrie (1833-1866) was a student of Augustus De Morgan, and showed the problem to De Morgan, who in turn communicated it to William Hamilton in 1852. Hamilton did not take any interest in the problem. In 1878, however, the problem was popularized by Arthur Cayley with an announcement at a meeting of The London Mathematical Society. In 1861, Guthrie was appointed professor of mathematics at Graaff-Reinet College, Cape Colony, South Africa, and in 1876 he moved to South African University, Cape Town. Besides mathematics, Guthrie was also interested in botany. He is known for his work on the genus Erica. Guthrie died in Cape Town.
The Four-Color Problem
The map coloring problem pursued above is a special case of the celebrated f o u r - c o l o r p r o b l e m , conjectured by Francis Guthrie: Every p l a n a r g r a p h has a coloring u s i n g at most four distinct colors. Its solution eluded the brilliance of mathematicians around the world for over a century. In 1890 the English mathematician Percy John Heawood (1861-1955) of Durham University proved that five colors are sufficient to color any map. In 1968 the problem was solved by O. Ore and J. Stemple, where the number of countries was at most 40. In 1976, two American mathematicians, Kenneth Appel and Wolfang Haken, using an exhaustive computer analysis, answered the problem affirmatively. Thus every planar graph has chromatic number < 4. The next three examples determine the chromatic numbers of Kn, Kin,n, and Cn. ~
Find the chromatic number of the complete graph Kn. SOLUTION: Every vertex in Kn is adjacent to each of the remaining n - 1 vertices, so exactly n distinct colors are needed for a coloring of Kn. Thus the chromatic number of Kn is n. Figure 8.112 shows a coloring of K4 and K5. m According to this example, the chromatic number of K5 is five. Does this contradict the four-color theorem? Certainly not. Since K5 is nonplanar, the theorem does not apply to K5.
590
Chapter 8 Graphs
Figure 8.112
A coloring of K4
A coloring of K5
Find the chromatic n u m b e r of Km,n. SOLUTION: You may recall t h a t the vertex set in Km,n can be p a r t i t i o n e d into two n o n e m p t y disjoint subsets A and B such t h a t every vertex in A is adjacent to every vertex in B and vice versa; also, no vertices in A and in B are adjacent. So every vertex in A can be assigned one color (red), and every vertex in B a second color (blue). Thus the chromatic n u m b e r of Km,n is two. Figure 8.113 shows a coloring of K2,3.
Figure 8.113
A coloring of K2,3 Find the chromatic n u m b e r of the cycle graph
m
Cn.
SOLUTION: Suppose n is even and the vertices are Vl,V2,...,V2n. T h e n the oddn u m b e r e d vertices v1,v3,...,v2,-1 can be assigned red and the evenn u m b e r e d vertices v2, v4,... ,v2n blue (see Figure 8.114). So, if n is even, exactly two colors are needed.
Figure 8.114
A coloring of C6
8.7 GraphColoring
591
Figure 8.115
A coloring of C 7
Suppose n is odd and the vertices are v l, v 2 , . . . , V2n+l. If we assign red to the odd-numbered vertices and blue to the even-numbered ones, t h e n Vl and V2n+l, which are adjacent vertices, would receive the same color. Since this is unacceptable, the chromatic n u m b e r is >3. However, we can assign red to Vl, v 3 , . . . , V2n-1 and blue to v2, v 4 , . . . , v2n. Since V2n+l cannot be red or blue, it must be assigned a third color, green (see Figure 8.115). So exactly three colors are needed. Thus the chromatic n u m b e r of Cn is two if n is even, and three otherwise. I1
A useful observation" Suppose the chromatic n u m b e r of a subgraph H of graph G is h. Then the chromatic n u m b e r of G is >h. For example, the graph in Figure 8.110 contains C3 as a subgraph with vertices WA, OR, and ID; so, by Example 8.45, the chromatic n u m b e r of the graph is >3. The next example shows how graph coloring is useful in scheduling conflict-free final examinations. ~
T a b l e 8.7
Table 8.7 iists the students taking the various courses at KSnigsberg College. The registrar would like to develop a conflict-free final exam schedule using as few time slots as possible. How can we help her?
Course A
Course B
Course C
Course D
Course E
Course F
Course G
Boole Bourbaki Cantor Ford Hamilton Williams
Cantor Euler Newton Pascal Russell
Clinton Euler Gauss Newton Nobel
Boole Ford Hamilton Hardy Pascal
Boole Cantor Cauchy Fibonacci Newton
Abel Ford Gauss Nobel Russell
Abel Boole Cauchy Cayley Hardy
592
Chapter 8 Graphs
SOLUTION: First we construct a graph model for the problem. To this end, represent each course by a vertex. Two vertices are adjacent if the corresponding courses are incompatible, that is, they have a common student. Figure 8.116 shows the ensuing graph. F i g u r e 8.116
G A
'
F
E
B
Figure 8.117
G F A
E
B
Apply coloring to it. Since the graph contains K4 as a subgraph (with vertices A, B, D, and E), its chromatic number is >4. Figure 8.117 shows a coloring with exactly four colors. How do we interpret this result? Since the chromatic number is four, the final exams can be scheduled conflict-free using four time slots, as Table 8.8 shows.
Table 8.8
Block Course(s)
Ibl A,C
234 B,G
D
E,F
We close this section with the next example, which illustrates how graph coloring can be employed to design traffic light patterns at intersections. Figure 8.118 shows the intersection of two divided avenues, California and New York, where all left and right turns are permitted. The arrows indicate
8.7
GraphColoring
593
the traffic flows along each avenue. Assuming they are equally heavy in each direction, design a traffic signal pattern for the intersection.* F i g u r e 8.118 I I i I
li il orniaAve Ca,i I
i
'l
I I
I t
SOLUTION: Since the four right turns do not interfere with the other traffic flows, they can safely be dropped from our discussion. The remaining traffic directions are pictured in Figure 8.119 and are labeled A through H. We need to develop a traffic pattern so that vehicles can pass through the intersection without interfering with other traffic flows. F i g u r e 8.119
>
,H,~
~i~I~
~.I+I I I ~ California Ave. F
k A
iill'i ,, I ICID
*Based on J. Burling et al., "Using Graphs to Solve the Traffic Light Problem," F A I M Module, COMAP, Inc., Lexington, MA, 1989.
594
Chapter 8 Graphs
Figure 8.120
To this end, represent each traffic flow with a vertex. Two vertices are adjacent if the corresponding traffic flows cross each other. For instance, directions C and E intersect, so vertices C and E are adjacent. Figure 8.120 shows the resulting graph. Now color its vertices. Since the graph contains C3 as subgraph (verify), its chromatic number is > 3. Is it in fact three? Let us see.
Figure 8.121 H
A E
Suppose we color A red, C blue, and H yellow (see Figure 8.121). Then B cannot be blue or yellow, but can be red; so color it red. Then E must be yellow; this forces F to be blue. D, being adjacent to B, F, and H can't be red, blue, or yellow, so it must be assigned a new color, say, green. Thus the graph takes at least four colors. Figure 8.121 shows a coloring of the graph with exactly four colors, which depicts an efficient way of designing the traffic signal pattern. It consists of four phases: 9 Vertices B and F are green, so traffic flows B and F proceed, while others are waiting. 9 Vertices D and H are yellow; that is, only traffic directions D and H proceed simultaneously.
8.7 GraphColoring
595
9 Vertices A and E are red; t h a t is, traffic flows A and E continue at the same time, while others are stopped. 9 Vertices C and G are blue, so only traffic directions C and G proceed simultaneously. See Table 8.9 also.
T a b l e 8.9
Traffic light pattern Phase 1
Phase 2
Phase 3
Phase 4
Only B and F proceed.
Only D and H proceed.
Only A and E proceed.
Only C and G proceed.
Exercises 8.7 Find the chromatic n u m b e r of each map or graph. 0
0
3.
~
4.
II
Chapter 8 Graphs
596
.
Figure
8.122
Continental United States.
i
6. Figure 8.5
7. Figure 8.18
8. Figure 8.56
9. Graph G1 in Figure 8.73 10. Figure 8.102 12. Petersen graph
11. Figure 8.106
13. The Star of David 14. Wheel graph
Wn
15. 3-cube Q3 16. Characterize graphs with chromatic number 1. 17. Let G be the union of two simple disconnected subgraphs H1 and H2 with chromatic numbers m and n, respectively. What can you say about the chromatic number c of G? In Exercises 18 and 19, schedule conflict-free committee meetings using the smallest number of blocks. Identify such a schedule. 18.
Committee
Committee
Committee
Committee
Committee
1
2
3
4
5
B
A
C
A
B
D E F
E G H
D F H
C E F
G H I
19.
Committee Committee Committee Committee Committee Committee 1
2
3
4
5
6
B
D
A
B
A
C
D E F
E G H
C D F H
C E H I
E G H
G H I
8.7
Graph Coloring
597
A zoo curator would like to add new open "islands" for seven species of animals to roam about freely. Unfortunately, some species prey on some others, as given by the incompatibility a r r a y in Table 8.10. Table 8.10
Species
1
2
.
3
4
5
6
7
.
.
9
9
9
.
9
.
7
9
.
.
9
9
9
9
.
9
9
9
9
9
9
9
9
20. Determine the m i n i m u m n u m b e r of islands needed to keep them. 21. Find a possible way of accommodating the animals on those islands. A pet shop owner just received a shipment of 10 species of tropical fish. Since some species are incompatible, t h a t is, they fight with some other species, they cannot be kept in the same tank. Table 8.11 s u m m a r i z e s the incompatibility of the various species, where a dot in row i and column j indicates species i and j are incompatible. Table 8.11
Species
1
2
9
9
3
4
9
5
6
9
9
9
9
9
10
9
9
9
9
9
.
.
8
9
9
9
9
7
,
9
.
9
9
9
9
.,
,
.
.,
9
9
9 10
22. Determine the m i n i m u m n u m b e r of t a n k s needed to store the fish. 23. Find a possible way of storing t h e m a m o n g those tanks. Figure 8.123 shows the traffic flows at an exit from a shopping center into a two-way street. (J. Williams, 1992) 24. Represent this information in a graph.
Chapter 8 Graphs
598
25. Develop a traffic light pattern so that traffic will flow smoothly at the exit.
Figure
8.123
Shopping Center
D A
v
I I I I
B
Figure
C
8.124
Shopping Center
C~ ~
-j
F
A
E D
I
Figure 8.124 shows the traffic flows from a two-way street into a shopping center and from the shopping center into the street. 26-27. Redo Exercises 8.24 and 8.25. *28. Let G be a simple graph with n vertices. Let k denote the maximum degree of any vertex in G. Prove that the chromatic number of G is
This chapter presented the rudiments of graph theory, a fast-growing branch of mathematics. The cornerstone of graph theory was laid by Euler when he solved the KSnigsberg bridge puzzle in 1736.
ChapterSummary
599
Graph 9 A graph G consists of a nonempty, finite set V of vertices and a set E of edges connecting them: G = (V, E). An edge connecting vertices u and v is denoted by {u, v} (page 517). 9 A graph with no loops or parallel edges is a
simple graph
(page 518).
Adjacency 9 Two vertices v and w in a graph G are a d j a c e n t if {v, w} is an edge in G (page 520). 9 The
degree of a vertex
v is the n u m b e r of edges meeting at v (page 520).
9 The a d j a c e n c y m a t r i x of G is an n • n m a t r i x A - (aij), where aij = the n u m b e r of edges from vertex vi to vertex vj (page 520). 9 L e t e denote the n u m b e r of edges of a graph with n vertices
V l , V 2 , . 9 9 , Vn.
n
Then ~ deg(vi) - 2e
(page 521).
i=1
Special
Graphs 9 A subgraph of a graph G V1 __ V and E1 c_ E
(V,E) is a graph H
9 A simple graph with n vertices is a complete of distinct vertices is connected by an edge
-
graph
where (page 522).
(V1,E1),
Kn if every pair (page 524).
9 Let G = (V,E) be a simple graph such t h a t V = V1 u V 2 , V1 N V 2 - O , and every edge is incident with a vertex in Vi and a vertex V2. G is a b i p a r t i t e g r a p h . If every vertex in V1 is adjacent to every vertex in V2, G is a c o m p l e t e b i p a r t i t e g r a p h . If IVll = m and IV21 = n, t h e n G is denoted by Km,n (page 527). 9 A w e i g h t e d g r a p h is a simple graph in which every edge is assigned a positive number, called the w e i g h t of the edge (page 527). 9 An r - r e g u l a r g r a p h is a simple graph in which every vertex has the same degree r (page 536). 9 The complement G' = ( V , E ' ) of a simple graph G = ( V , E ) contains all vertices in G. An edge {u, v} e E' if and only if {u, v} r E (page 536).
Isomorphic Graphs 9 Two simple graphs, G1 = (V1,EI) and G 2 - - (V2,E2), are isomorphic if a bijection f 9 V1 ~ V2 exists such t h a t {u, v} ~ E1 if and only if {f(u),f(v)} ~ E2. The function f is an i s o m o r p h i s m between G1 and G2. If G1 and G2 are isomorphic, they have exactly the same properties (page 541).
600
Chapter 8 Graphs 9 An i s o m o r p h i s m i n v a r i a n t is a property shared by isomorphic g r a p h s (page 542).
Paths, Cycles, and Circuits 9 A p a t h o f l e n g t h n from a vertex v0 to a vertex Vn is a sequence of vertices vi and edges ei of the form v o - e l - v l . . . . . en-Vn, where each edge ei is incident with the vertices v i - 1 and vi (1 < i < n). A s i m p l e p a t h contains no repeated vertices, except perhaps the endpoints(page 546). 9 A p a t h from v0 to
Vn
is c l o s e d if vo
-
Vn.
Otherwise, it is open (page 548).
9 A c y c l e is a simple closed path
(page 548).
9 A c i r c u i t is a simple closed path with no repeated edges
(page 548).
Connected Graph 9 A connected graph contains a path between any two distinct vertices (page 549). 9 The length of a simple path between any two vertices of a connected graph is at most n - 1 (page 549). 9 If A is the adjacency matrix of a connected graph, the n u m b e r of p a t h s of length k from a vertex vi to v/is given by the i j t h entry of A s, w h e r e 1< k < n - 1 (page 549).
Eulerian Graphs 9 A path in a connected graph is Eulerian if it contains every edge exactly once (page 556). 9 A circuit in a connected graph is Eulerian if it contains every edge exactly once (page 556). 9 A connected graph is Eulerian if it contains an Eulerian circuit (page 556). 9 A connected graph is Eulerian if and only if every vertex of the g r a p h has even degree (page 557). 9 A connected graph contains an Eulerian path if and only if it has exactly two vertices of odd degree (page 561).
Hamiltonian Graphs 9 A simple path in a connected graph is Hamiltonian if it contains every vertex (page 565).
Chapter Summary
601
9 A cycle in a connected graph is H a m i l t o n i a n
if it contains every vertex (page 565).
9 A connected graph t h a t contains a Hamiltonian cycle is H a m i l t o n i a n (page 565). Planar Graph
9 A graph is p l a n a r if it can be drawn in the plane, so no two edges cross (page 576). 9 g3, 3
(page 578).
and K5 are n o n p l a n a r graphs
9 E u l e r ' s f o r m u l a If a connected planar graph with e edges and v vertices partitions the plane into r regions, then r - e - v + 2 (page 578). 9 K u r a t o w s k i ' s t h e o r e m A graph is planar if and only if it does not contain a subgraph homeomorphic to K5 or K3,3 (page 583). Review Exercises
Find the adjacency matrix of each graph. 1.
2.
c
3.
d
e
c
b v
4. Verify Theorem 8.1 for the Petersen graph in Figure 8.28. Could there be a graph with six vertices of the following degrees? 5. 4 , 4 , 5 , 2 , 3 , 1
6. 4 , 4 , 5 , 2 , 3 , 2
Could a hydrocarbon molecule of the following compositions exist? Assume that a carbon atom has degree four. 7. Six carbon atoms and 19 hydrogen atoms. 8. Six carbon atoms and six hydrogen atoms. 9. Find the n u m b e r of subgraphs of the complete graph K3. 10. Can there be an n-regular graph with n >__i vertices? 11. Let n be a positive integer >_ 2. What can you say about an (n - 1)regular graph with n vertices? 12. Is the complete graph K4 bipartite? Complete bipartite? 13. Under what conditions will the graph 14. Is
Km,n a
complete graph?
Km,nbe
regular?
602
Chapter 8 Graphs 15-17. Find the adjacency list representation of each graph in Exercises 1-3. In Exercises 18 and 19, are the given graphs isomorphic? Find an isomorphism f for any that are. 18.
a
c
b
d
h
J
e
G1
19.
d e[~
G2
i
c ~ ~g
-
j
Irn i
-f
1
G1
-k
G2
Are the following connected graphs? 21. K3,4
Determine if each graph is Eulerian. If yes, find an Eulerian circuit. 22.
b
23.
b
f A
a
a
c e5 ~
v
g
e
e6 d
Does each graph contain an Eulerian path, but not an Eulerian circuit? If a graph contains an Eulerian path, find such a path. 24.
b
a
25.
a
c
e
Chapter Summary
603
Is the graph with each adjacency m a t r i x Eulerian? a
a 0
b 0
c 2
d 2
c 6 e
1 20 1 0
0 1 2
1 0 2
e 0
a c d e
20
a 0
b 0
c 1
d 1
e 1
I
1 1 1
0 0 0
0 0 0
0 ~
28-31. D e t e r m i n e if the graphs in Exercises 24-27 are Hamiltonian. 32. The weights in the graph in Figure 8.125 r e p r e s e n t the distances between cities a t h r o u g h e. A saleswoman based at city a would like to visit every other city exactly once and r e t u r n to the home city, keeping her total travel to a minimum. W h a t route should she take and how far will she travel? Figure 8.125
c
a-
13
-e
Draw a planar r e p r e s e n t a t i o n of each planar graph. 33. c
d
b
e
a-
34.
b
d
f
e
a~
-f
Are the following graphs planar? Draw a planar r e p r e s e n t a t i o n of any t h a t are. 35.
c
36.
e
g a- ~ , . ~
c
e a
b
Verify Euler's formula for each connected, p l a n a r graph.
604
Chapter 8 Graphs 37.
.<
) ~ ~
38.
39. A connected, planar graph has seven vertices, and partitions the plane into eight regions. How many edges does it have? 40. A connected, planar graph has 10 edges. It does not divide the plane into smaller regions. Compute the number of its vertices. Determine if each bipartite graph is planar. 41. K2,2
42. K3,4
Let G be a simple bipartite planar graph with e > 2 edges and v vertices. Then e _< 2v - 4. Using this fact, show that each bipartite graph is nonplanar. 43. K3,3
44. K3,4
45. K3,5
46. K4,5
SupplementaryExercises 1. Find the number of vertices in C,,, W,~, and Qrz. (See Figures 8.16, 8.17, and 8.75.) 2. Find the number of edges in C,, W,~, and Qn. 3. For what value(s) of n is C, a regular graph? *4. Prove that if Wn is regular, then n = 3. A graph G with n vertices and e edges is g r a c e f u l if the vertices can be labeled 1, 2 , . . . , n in such a way that the values li - j ] are different for every pair of adjacent vertices i a n d j . For example, the graph in Figure 8.126 is graceful.
Figure 8.126
1
2
5
3
4
Are the following graphs graceful?
0.:
:
o
]
7]
] w
Chapter Summary
605
8. Prove t h a t every open path with n vertices is graceful. 9. Prove t h a t Kl,n is graceful. A graph G - (V, E) is c o m p l e t e n - p a r t i t e if the following conditions are satisfied: 9 V -- V1 [,-J V2 u . . .
[.J V n , where Vi r
0 for every i and Vi ~ ~ -- ~ for
i ~:j; and 9 If u ~ Vi and v e ~ , then {u, v} e E, where i r 10. What can you say about G if IVil - 1 for every i? 11. Let JViJ - vi, 1 <_ i < n. Find JVJ and JEI. 12. Prove t h a t if the degree of every vertex of a regular graph G - (V, E) is odd, JVI is even. "13. Prove t h a t two simple graphs are isomorphic if and only if their complements are isomorphic. A simple graph G is s e l f - c o m p l e m e n t a r y if G is isomorphic to G'. Figure 8.127 shows a graph G and its complement G'. Verify G and G' are isomorphic; so G is self-complementary. Figure 8.127
di
ic
a
b
G
c'-
-d'
G'
14. Prove t h a t there cannot be a self-complementary graph with three vertices. 15. Draw a self-complementary graph with five vertices. 16. Find the n u m b e r of edges in a self-complementary graph with n vertices. "17. Let n (> 2) denote the n u m b e r of vertices in a self-complementary graph. Show t h a t n _-- 0 (mod 4) or n - 1 (mod 4). 18. Delete any vertex and edges incident with it in the Petersen graph. Show t h a t the resulting subgraph is Hamiltonian. 19. Find the n u m b e r of distinct H a m i l t o n i a n cycles in Kn, where n > 3. "20. Find the n u m b e r of distinct H a m i l t o n i a n cycles in Kn,n, where n > 2. "21. Find the n u m b e r of distinct Hamiltonian paths in Kn+l,n, where n>l. 22. Delete any edge from K5. Show t h a t the resulting subgraph is planar.
Chapter 8 Graphs
606
23. Delete any edge from g3, 3. Show t h a t the resulting subgraph is planar.
Computer Exercises Let G be a graph with n vertices, labeled 1 t h r o u g h n, where 1 _< n < 10. Write a program to do each task. 1. Read in n and the various edges {i, j} of G, where 1 < i, j < n. 9 P r i n t the adjacency matrix. 9 Print the degree of each vertex. 9 Print the linked list representation of G. 9 Determine if G is a simple graph. 9 Determine if G is a complete graph. 2. Let G be a weighted graph. Read in n, the various edges {i, j} of the graph, and their weights w. 9 Print the weighted adjacency matrix. 9 Print the adjacency list representation. 3. Read in the adjacency matrix of G. Print its adjacency list representation. Use the adjacency list representation to print the adjacency matrix of G. 4. Read in the adjacency matrix of a simple graph and determine if it is r-regular. 5. Read in two positive integers m and n, where m, n sets V1 and V2 of a bipartite graph G, where iVll and the edges {i, j} in G, where i, j < 10. Using the and adjacency list representation of G, determine if bipartite graph Km,n.
< 10; the vertex m and IV2i - n; adjacency matrix it is the complete
6. Read in the adjacency matrix of G. Determine if G is connected. Find how many simple paths r u n from vertex i to vertex j, where 1 _< i, j < 10 and i r 7. Read in the adjacency matrix of a graph and determine if the graph is Eulerian. If it is not, see if it contains an Eulerian path. 8. Read in the edges {i, j} of a graph, where 1 < i, j < n. With the linked list representation of the graph, determine if it is Eulerian. If it is not Eulerian, determine if it contains an Eulerian path. 9. Let G be a complete weighted graph whose vertices and weights represent cities and distances between them, respectively. Read in the
Chapter Summary
607
weighted adjacency matrix of G. Find a Hamiltonian cycle so t h a t the sum of the weights along the cycle is a minimum. 10. Solve the knights puzzle in Example 8.26. List all moves. 11. Read in the various class lists in Example 8.46. Find a conflict-free final exam schedule for the courses. 12. Read in the adjacency matrix for the 48 states of the continental United States. Assign a coloring to them in such a way that adjacent states receive different colors.
Exploratory Writing Projects Using library and Internet resources, write a team report on each of the following in your own words. Provide a well-documented bibliography. 1. Explain the applications of graph theory to various disciplines. 2. Describe the history of the traveling salesperson problem. Name a few practical applications. 3. Give a historical background of the four-color problem. Include a biography of K. Appel and W. Haken. 4. Explain the Chinese Postman Problem. 5. Explain how de Bruijn sequences, named after Nicolaas G. de Bruijn, can be generated from Eulerian circuits. 6. Explain the relationship between Hamiltonian cycles and the Tower of Brahma. 7. Example 8.11 is an application of Ramsey's theorem, developed by the English logician Frank P. Ramsey (1903-1930). The theorem laid the foundation for a branch of combinatorics called Ramsey theory. Give a brief introduction to Ramsey theory. 8. Discuss the Instant Insanity Puzzle. 9. Discuss the relationship between n-cubes and parallel computers. How can two (n - 1)-cubes be used to construct an n-cube? Also, discuss the relationship between an n-cube and Gray code. 10. Write an essay on graceful graphs, a term coined by S. W. Golomb of the University of Southern California. 11. Write an essay on the game of SIM. 12. Write an essay on the game DIM, a three-dimensional variation of SIM invented in 1972 by D. Engel. 13. Describe the game of Hackenbush. 14. Write an essay on chromatic polynomials.
Chapter 8 Graphs
608
15. Write an essay on the Petersen graph. 16. Investigate rook polynomials. 17. Write an essay on matching theory. 18. Write an essay on parallel algorithms. Enrichment Readings 0
0
0
0
0
0
Q
0
0
K. Appel and W. Haken, "Every Planar Map is 4-Colorable," Bulletin of the American Mathematical Society, Vol. 82 (1976), pp. 711-712. J. A. Bondy and U. S. R. Murty, Graph Theory with Applications, Elsevier, New York, 1976. R. A. Brualdi, Introductory Combinatorics, 3rd ed., Prentice-Hall, Upper Saddle River, NJ, 1999. N. Cristofides, Graph Theory: An Algorithmic Approach, Academic Press, New York, 1975. B. W. Jackson and D. Thoro, Applied Combinatorics with Problem Solving, Addison-Wesley, Reading, MA, 1990, pp. 134-200. J. A. McHugh, Algorithmic Graph Theory, Prentice-Hall, Englewood Cliffs, NJ, 1990. A. Ralston, "Debruijn Sequences - - A Model Example of the Interaction of Discrete Mathematics and Computer Science," Mathematics Magazine, Vol. 55 (May 1982), pp. 131-143. S. S. Skieno, Implementing Discrete Mathematics, Addison-Wesley, Reading, MA, 1990. K. Thulasiraman and M. N. S. Swamy, Graphs: Theory and Algo-
rithms, Wiley, New York, 1992. 10. A. Tucker, Applied Combinatorics, 2nd ed., Wiley, New York, 1984, pp. 3-79, 389-410. 11. D. West, Introduction to Graph Theory, 2nd ed., Prentice-Hall, Upper Saddle River, NJ, 2001. 12. R. J. Wilson and J. J. Watkins, Graphs: An Introductory Approach, Wiley, New York, 1990.
Chapter 9
Trees A n expert problem solver m u s t be endowed with two incompatible qualities m a restless imagination a n d a pertinent pertinacity. HOWARD W. EVES
T
rees are the most important class of graphs and they make fine modeling tools. In 1847, the German physicist Gustav Robert Kirchoff used them to solve systems of linear equations for electrical networks. Ten years later, A r t hur Cayley studied the isomers of saturated hydrocarbons CnH2n+2 with them. Today trees are widely used in mathematics and computer science, as well as in linguistics and the social sciences. This chapter presents the concept of a tree, and two necessary and sufficient conditions for a graph to be a tree. In addition, it presents the concept of a spanning tree for a connected graph, algorithms for finding it, and the important class of rooted trees. Trees facilitate sorting and searching, representing and computing numeric expressions, and constructing efficient coding schemes and algorithms, as will be seen in Sections 9.5 and 9.6. Some of the interesting problems trees handle well are: 9 Can four queens be placed on a 4 • 4 chessboard, so they are not attacking each other? 9 A utility company would like to lay pipelines for natural gas between five towns, a through e, as in Figure 9.1. The weights of the edges represent the costs of building the various pipelines. How cheaply can the company build them, so natural gas can be sent from any town to any other town? 9 There are 64 entrants in a singles tennis tournament. The winner of each round is advanced to the next round and plays another. Find the number of matches and rounds played to determine the champion. 9 There are eight coins in a collection plate. Although they look identical, one of them is counterfeit and heavier. Identify it, using an equal arm balance and a m i n i m u m number of weighings. 609
(;hapter 9 Trees
610
~ ~ 1 1 ~
9 ~"~ , ",/"
Gustav R o b e r t K i r c h o f f (1824-1887), an outstanding German physicist and son of a lawyer, was born in K6nigsberg, Prussia. After graduating from the local gymnasium, Kirchoff entered the University of K6nigsberg at the age of 18 and received his doctorate 5 years later. In 1848, his teaching career began in Berlin. Two years later he joined the faculty of the University of Breslau, where he met his future research collaborator, the well-known chemist Robert Bunsen. In 1854, they both moved to Heidelberg. While there, with Bunsen's collaboration, Kirchoff made his greatest contributions to science. In 1875, he accepted the chair of theoretical physics at the University of Berlin, a position he held with great distinction until his death. Although Kirchoff made significant contributions to every branch of physics, he is best known for his pioneering work in spectroscopy.
~'., ," ' . ~ ' ' ,,' "~n
F i g u r e 9.1
c
1010
7~~/~,,~/15 v
a
12
e
As in graph theory, tree terminology is not standardized, so be aware of this when you refer to different texts on the topic.
Notice t h a t the graphs in Figures 9.2 and 9.3 are connected; each is a c y c l i c , m e a n i n g it does not contain a cycle. Such a graph is a tree.
Figure 9.2
H
H
H
I I CI I HI HI H
Propane C3H8.
H~C~C
F i g u r e 9.3
H
a
d
e
f
g
9.1 Trees
611
Tree A connected, acyclic graph is a tree. Trees are everywhere. You have seen several examples of trees in earlier chapters. Figure 1.1, Figures 5.16-5.19, and Figures 6.7, 6.8, and 6.14 offer fine cases. The graph in Figure 9.4 is not a tree, since it contains a cycle. The graphs in Figures 9.2 and 9.3 are connected; each is acyclic, so each is a tree. The graph in Figure 9.5 is not a tree, either, because it is not connected. Nonetheless, it is a set of disjoint trees, called a forest.
F i g u r e 9.4
H
H
H
H
Ethylene C2H4.
F i g u r e 9.5 A forest.
Figure 9.6 shows the f a m i l y t r e e of the Bernoullis of Switzerland, the most distinguished family of mathematicians.
F i g u r e 9.6
Nicolaus
The Bernoulli family. Jakob I
Nicolaus Nicolaus
Johann Nicolaus
Daniel
Johann III
Johann II Daniel II
Jakob II
I
Christoph Figure 9.7 depicts a tree of a corporation's top management. The tree in Figure 9.8 shows a partial hierarchical chart for teams in the National Hockey League (NHL) during the 2002-2003 season. To qualify as a tree, a connected graph must fulfill path and edge requirements. First we present the path requirement.
612
Chapter 9 Trees
Figure 9.7
Chief Executive Officer
l [President[
I
I Vice President Finance
Vice President Manufacturing
I Vice President Marketing
Vice President Research and Development
Figure 9.8 NHL
Eastern Conference
Atlantic
Devils
Northeast
Southeast
Western Conference
Central
Northwest
Pacific
San ,Jose
~
A connected graph is a tree if and only if there is a unique, simple path between any two vertices.
PROOF: Let G be a tree, and v and w any two of its vertices. Since G is connected, by Theorem 8.3, a simple path m u s t run between them. If there are two distinct simple paths between them, then one path followed by the other in reverse order would form a cycle. This, however, is impossible since G is a tree; so G contains a unique, simple path between v and w. Conversely, let G be a graph with a unique, simple path between any two vertices. Clearly, G is connected. Suppose G contains a cycle, and v and w are two vertices in it. Then the cycle can be split into two distinct simple paths between v and w, a contradiction, so G is acyclic. Being connected and acyclic, G is a tree. m You may verify t h a t the graph in Figure 9.2 is connected and contains a unique, simple path between any two vertices. Therefore, by Theorem 9.1, it is a tree. The same holds for Figure 9.3. Next we establish the edge r e q u i r e m e n t for a connected graph to be a tree.
9.1 Trees
613
A connected g r a p h w i t h n vertices is a tree if a n d only if it has exactly n - 1 edges.
PROOF: F i r s t we prove by s t r o n g induction t h a t a tree w i t h n vertices has n - 1 edges. Let P(n)" A tree T with n vertices has n - 1 edges. B a s i s s t e p Suppose T contains one vertex. Since T is acyclic, it is loopfree; consequently, T contains no edges and P(1) is true. I n d u c t i o n s t e p Suppose t h e r e s u l t is t r u e for every t r e e with k or fewer vertices. Let T be a tree with k + 1 vertices and e an edge in T. Deleting e from T yields two connected disjoint graphs, T1 a n d T2. E a c h is a tree. Suppose T1 has p vertices; t h e n T2 has q - k + 1 - p vertices. By the inductive hypothesis, T1 contains p - 1 edges and T2 contains q - 1 edges; so T contains (p - 1)+ (q - 1) + 1 - (p - 1) + (k - p ) + 1 - k edges. T h u s by s t r o n g induction, P(n) is t r u e for every n _> 1. Conversely, let G be a connected g r a p h with n vertices a n d n - 1 edges. If it were not a tree, it would have a cycle. Remove an edge from this cycle. The r e s u l t i n g g r a p h is still connected. If it is not acyclic, r e m o v e an edge from a cycle. C o n t i n u e this p r o c e d u r e to get an acyclic g r a p h H. T h u s H is connected and acyclic; it m u s t be a tree with n vertices. So, by the first part, H has n - 1 edges and hence G has more t h a n n - 1 edges, which is a contradiction. T h u s G is connected and acyclic, and hence a tree. m For example, the g r a p h in F i g u r e 9.2 is connected and has 11 vertices, so it m u s t contain 10 edges to be a tree, which is true.
Exercises 9.1 D e t e r m i n e if each g r a p h is a tree.
l.d/~
2.
i -
//x,
"x
7. Is the g r a p h in Figure 8.4b a tree? If not, why? 8. D e t e r m i n e if the P e t e r s e n g r a p h in Figure 8.28 is a tree. If it isn't, explain why.
614
Chapter 9 Trees
Let n denote t h e n u m b e r of vertices of a t r e e a n d e t h e n u m b e r of edges. Verify t h a t e - n - 1 for each tree.
I I -I I-
/A
12. How m a n y bonds does the h y d r o c a r b o n molecule CnH2n+2 have? A s s u m e a carbon molecule has degree four. n
13. Let T be a tree with vertices v l , . . . , Vn. Show t h a t ~ deg ( v i ) - 2 n - 2. i=1
14. For w h a t values of n is K n a tree? D e t e r m i n e if each complete b i p a r t i t e g r a p h is a tree. 15. K1,2
16. K1,3
17. K2,2
18. K2,3
19. For w h a t values of m and n is K m , n a tree? 20. Let G be an r - r e g u l a r tree with n vertices. Prove t h a t n = 1 or n = 2. D r a w all n o n i s o m o r p h i c trees with the given n u m b e r of vertices n.
21. 2
22. 3
23. 4
24. 5
25. The e c c e n t r i c i t y of a vertex v in a tree is the length of the longest simple p a t h from v. Find the eccentricity of each vertex of t h e t r e e in Figure 9.9.
F i g u r e 9.9
e c
a-
h
f
d
i
26. T h e c e n t e r of a tree is a vertex w i t h t h e least eccentricity. F i n d t h e center(s) of the tree in F i g u r e 9.9. 27. U s i n g the adjacency m a t r i x of a connected g r a p h with n vertices, w r i t e an a l g o r i t h m to d e t e r m i n e if it is a tree.
All connected g r a p h s have trees t h a t span t h e m . We will discuss t h r e e ways to find t h e m , as well as solve the 4-queens problem s t a t e d at the
9.2 Spanningtrees
615
beginning of the chapter, but first a more pressing practical job needs to be done. A county's five towns, A through E, are connected by roads (see Figure 9.10), but 2 feet of snow cover them. The county would like to plow as few roads as possible, so one can travel between the towns. Figure 9.11 displays one possible solution.
F i g u r e 9.10 Graph G.
C
B D A
E
F i g u r e 9.11 Graph H.
C
B A
D
You may notice that the graph H in Figure 9.11 is a subgraph of G. In fact, it is a tree containing every vertex of G. It is called a spanning tree of G.
Spanning Tree A subgraph H of a connected graph G is a s p a n n i n g t r e e of G if H is a tree containing every vertex of G. Using this definition, we can solve the snow-plowing problem by finding a spanning tree for the graph G. Two additional spanning trees are given in Figure 9.12, indicating that the spanning tree of a graph need not be unique. C
B
B
F i g u r e 9.12 o
A
E
o
E
Does every connected graph have a spanning tree? Theorem 9.3 affirms that it does.
616
Chapter 9 Trees
J o s e p h B e r n a r d K r u s k a l (1928-) was born in New York City. He graduated from the University of Chicago in 1948 and received his Ph.D. from Princeton in 1954. After being an instructor at Princeton and at the University of Wisconsin, he became an assistant professor at the University of Michigan in 1958. The following year he joined the technical staff at Bell Telephone Labs, a position he still holds. Kruskal has served as visiting professor at Yale, Columbia, and Rutgers.
Every connected graph has a spanning tree.
PROOF: Let G be a connected graph. If G is a tree, we are done. If G is not a tree, it must contain a cycle. Remove an edge from the cycle. The new graph is still connected. If it is acyclic, then it is a tree and hence a spanning tree. Otherwise, it m u s t have a n o t h e r cycle. Remove an edge from this cycle. Continue this procedure until a subgraph H is acyclic. Since H is both connected and acyclic, it is a tree. H also contains every vertex of G, so it is a spanning tree of G. I Three algorithms to find a spanning tree in a connected graph are given below: Kruskal's, the Depth-First Search, and the Breadth-First Search. Kruskal's algorithm represents a special case of an algorithm for a minimal spanning tree that we will examine in the next section. It was developed by the American m a t h e m a t i c i a n Joseph Bernard Kruskal in 1956.
Kruskars Algorithm for a Spanning Tree Although the proof of Theorem 9.3 can find a spanning tree, Kruskal's algorithm takes advantage of Theorem 9.2. It is given in Algorithm 9.1.
Algorithm Spanning Tree (G,T) (* G = (V, E) is a connected graph with n v e r t i c e s and T denotes a spanning t r e e . Numedges denotes the number of edges selected. Begin (* algorithm *) O~ T <-- 0 (* i n i t i a l i z e tree *) 1. numedges ~- 0 (* i n i t i a l i z e numedges *) 2. while numedges < n I do 3. 4. begin (* while *) select an edge e in G 5. E <-- E - {e} 6.
9.2 Spanning trees
617
7. i f e does not create a cycle in T then 8. begin 9. T <-- T U {e} 10. numedges <-- numedges + 1 1i. endi f 12. else 13. discard e 14. endwhi I e 15. End (* algorithm *)
Algorithm
9.1
The next example illuminates this algorithm. ~
find a s p a n n i n g tree for the g r a p h G in
Using K r u s k a l ' s algorithm, Figure 9.13.
Figure 9.13
b a
~
d e
l
o
g
f
SOLUTION: We construct a s p a n n i n g tree for G step-by-step, as in Table 9.1, which shows each step involved. Figure 9.14 depicts the r e s u l t i n g s p a n n i n g tree. T a b l e 9.1
Edge in G
Edges s e l e c t e d form a cycle?
Edges in tree
N u m b e r of e d g e s in tree
Done?
el e2 e3 e4 e5 e6 e7 e8
No No Yes No Yes No No No
el el,e 2 el,e 2 el,e2,e 4 el, e2, e4 el,e2,e4,e6 el, e2, e4, e6, e7 el, e2, e4, e6, e7, e8
1 2 2 3 3 4 6 5
No No No No No No No Yes
Figure 9.14 b
a
e2
g
es ~ . . . . . ~ f
m
Chapter 9 Trees
618
A Big-0h Estimate To find a big-oh estimate of the total n u m b e r of comparisons r e q u i r e d by K r u s k a l ' s algorithm, notice t h a t the while loop takes n iterations and line 7 takes e comparisons in the worst case, where e denotes the n u m b e r of edges in G. So the algorithm takes O ( n e ) comparisons in the worst case, w h e r e 0 < e < n ( n - 1)/2. This is unacceptable. Two simple and elegant methods, called DepthFirst Search (DFS) and B r e a d t h - F i r s t Search (BFS), provide remedies.
The Depth-First Search (DFS) Algorithm For the DFS algorithm, beginning at a vertex u, traverse the graph as far as possible, m a r k i n g each vertex visited. Once you reach a vertex from which no more paths are available, b a c k t r a c k to the last vertex visited; continue traversing in this m a n n e r until all vertices are visited. An outline of this recursive DFS algorithm follows. 9 S t a r t at a vertex u. 9 M a r k it as visited. 9 Pick a vertex v adjacent to u and not yet visited. 9 Call DFS from v. 9 If a vertex w is reached such t h a t all its adjacent vertices have been visited, back up to the last vertex x visited and call DFS from x. 9 Stop when you have visited all vertices. The DFS method, also called b a c k t r a c k i n g ,
is given in Algorithm 9.2.
Algorithm DFS(G,v) (* G is a connected graph with n v e r t i c e s . A is an n x 1 boolean m a t r i x ; Au i n d i c a t e s whether or not vertex u has been v i s i t e d . This a l g o r i t h m v i s i t s a l l v e r t i c e s in G, beginning with v. *) Begin (* a l g o r i t h m *) Av <-- true (* mark vertex v as v i s i t e d *) f o r each vertex w adjacent to v do i f Aw = f a l s e then (* vertex w not yet v i s i t e d *) DFS(G,w) End (* a l g o r i t h m *)
Algorithm 9.2 The following example clarifies this algorithm. ~
Using the DFS method, find a spanning tree for the graph in Figure 9.13, beginning at vertex a. SOLUTION: S t e p 1 T h e r e are two vertices, b and g, adjacent to vertex a, n e i t h e r visited yet.
9.2 Spanningtrees
619
Step 2 Choose b. (We shall follow the alphabetic order when a choice exists.) Look at the vertices adjacent to b: a, c, and g. Only a has been visited. Step 3 Select c. Of the vertices adjacent to c, b has been visited, b u t not d,f, org. Step 4
Choose d. Continuing like this, visit vertices e and f.
Now all vertices adjacent to f have been visited. So backtrack to e. All vertices adjacent to it have been visited. Continue backing up to d and to c. A vertex adjacent to c has not yet been visited, namely g. Visit g. All vertices adjacent to g have been visited. So b a c k t r a c k to c, to b, and finally to a. Now all vertices have been visited, and the algorithm t e r m i n a t e s . Figure 9.15 shows the resulting s p a n n i n g tree.
Figure 9.15
b
d
g
/
a ,,f
(You can verify this using the adjacency list r e p r e s e n t a t i o n of the graph.) Notice t h a t this spanning tree differs from the one in Figure 9.14. m Next we d e m o n s t r a t e how the n-queens problem can be solved using DFS, if a solution exists. ( T h e f o u r - q u e e n s p u z z l e ) Place four queens on a 4 x 4 chessboard so t h a t no two queens attack each other. (A queen attacks a n o t h e r queen if they are in the same row, column, or diagonal.)
SOLUTION: First, place a queen (Q) in row 1 and column 1 (Figure 9.16). The next queen can be placed in row 3 and column 2 (Figure 9.17). Unfortunately, the third queen cannot be placed in column 3, so backtrack to the previous location and move the queen to the next available location, namely,
Figure 9.16
Q
Figure 9.17
Q
620
Chapter 9 Trees row 4 and column 2 (Figure 9.18). Now the third queen can be placed in row 2 and column 3 (Figure 9.19). However, this move does not properly
F i g u r e 9.18
Q Q
F i g u r e 9.19
Q
Q
place the fourth queen in the column 4, so backtrack and try to move the third queen. It has no more legal moves. So backtrack to the second queen, which also t u r n s out to have no f u r t h e r legal moves. Therefore, b a c k t r a c k to the first queen and place it in position (2,1). Continuing as before, we get a solution, as shown in Figure 9.20.
F i g u r e 9.20
Q1
H H
!
Q
IQ I !
i
l ~-Q a solution
I Clearly, the backtracking technique can solve the n-queens puzzle, if a solution exists. For instance, try to solve the e i g h t - q u e e n s p u z z l e : Place eight queens on an 8 x 8 chessboard, so no two queens attack each other. There are 92 solutions. Next we t u r n our attention to analyzing the DFS algorithm.
9.2
Spanning trees
621
An Analysis of the DFS Algorithm Suppose we apply Algorithm 9.2 to a graph G with n vertices and e edges. If G is r e p r e s e n t e d by its adjacency matrix, it takes O(n) time to identify vertices adjacent to a given vertex. Since at most n vertices are visited, the algorithm takes O(n 2) time for this search. On the other hand, if G is i m p l e m e n t e d by adjacency lists (Section 8.2), the DFS examines each vertex at most once. Since there are 2e vertices in the adjacency list representation, the algorithm takes O(e) time for the search.
The Breadth-First Search (BFS) Algorithm The other elegant remedy besides the DFS m e t h o d to find a s p a n n i n g tree is the Breadth-First Search method. In the BFS method, visit the vertices level by level until all are visited. An outline of the BFS algorithm follows. 9 Start at a vertex u. 9 M a r k it as visited. 9 Visit all unvisited vertices adjacent to u. 9 Visit all unvisited vertices adjacent to each of them. 9 Repeat step 4 until all vertices are visited. In step 4, we visit all unvisited vertices adjacent to the unvisited vertices found in step 3. The algorithm is given in Algorithm 9.3. (It uses a data s t r u c t u r e called a q u e u e ; omit it if you are not familiar with queues.) Algorithm BFS (G,v) (* G is a connected graph with n v e r t i c e s . A i~ an n • 1 boolean m a t r i x ; i t is i n i t i a l i z e d to f a l s e f o r every w in G; Aw i n d i c a t e s whether or not vertex w has been v i s i t e d . Q denotes a queue used to store v e r t i c e s adjacent to a given v e r t e x . Beginning with v, the a l g o r i t h m v i s i t s a l l v e r t i c e s of G using the BFS method. *) Begin (* a l g o r i t h m *) Aw K-- true i n s e r t v in Q while Q not empty do begin (* while *) delete a vertex w from Q f o r each vertex x adjacent to w do i f Ax - f a l s e then (* x not yet v i s i t e d *) begin (* i f *) i n s e r t x in Q Ax , - true
endi f endwh i I e End (* a l g o r i t h m *) Algori thm 9.3
Chapter 9 Trees
622
The following example illustrates this algorithm. Using the BFS method, construct a s p a n n i n g tree for the g r a p h in Figure 9.13, beginning at vertex a. SOLUTION: S t e p 1 Beginning at a, there are two vertices adjacent to it, b and g. Visit them. S t e p 2 Visit the unvisited vertices adjacent to b. T h e r e is only one such vertex, c. There are no unvisited vertices adjacent to g. S t e p 3 Visit the unvisited vertices adjacent to c, namely, d, e, and f. T h e r e are no more unvisited vertices; so we are done. The resulting s p a n n i n g tree appears in Figure 9.21.
Figure 9.21
b
g
(Notice t h a t this spanning tree differs from the ones obtained earlier.)
l
Next we present an analysis of the BFS method.
An Analysis of the BFS Algorithm Let G be a graph with n vertices and e edges. If it is r e p r e s e n t e d by its adjacency matrix, the w h i l e loop is executed at most n times. Corresponding to each element in the queue, the f o r loop is executed at most n times, so the total time t a k e n is O(n2). On the other hand, if G is represented by adjacency lists, the algorithm examines each vertex once. Since the list contains a total of 2e vertices, it takes O(e) time for the search. Notice t h a t the BFS method takes as long as the DFS method in the worst case. We close this section with yet a n o t h e r refreshing occurrence of Lucas numbers, but first a definition.
The Complexity of a Graph The complexity* of a graph G, denoted by k(G), is the n u m b e r of distinct spanning trees of G. *See the author's Fibonacci and Lucas Numbers with Applications for a detailed discussion.
9.2 Spanningtrees
623
For instance, the graph G in Figure 9.22 has three spanning trees, as Figure 9.23 shows, so its complexity is 3; t h a t is, k(G) -- 3.
Figure 9.22
/% v
Figure 9.23 Spanning trees of G. An investigation of the complexity of the wheel graph Wn (see Figure 8.17) yields a surprising dividend.
Lucas and the Wheel Graph Recall that Wn has n + 1 vertices; n of t h e m lie on a rim and the r e m a i n i n g vertex (the hub) is connected to every vertex on the rim. In 1969 J. Sedlacek of the University of Calgary, Canada, proved t h a t k(Wn) = L2n - 2, where Lm denotes the ruth Lucas number; two years later, B. R. Myers of the University of Notre Dame rediscovered the formula. For example, k(W3) = L6 - 2 = 18 - 2 = 16; t h a t is, W3 has 16 different spanning trees. See Figure 9.24.
Figure 9.24 Spanning trees of W3.
~v
Chapter 9 Trees
624
E x e r c i s e s 9.2
How many edges does a spanning tree of each graph have?
1. Kn
2. Km,n
3. Figure 9.1
4. The Petersen graph
Using Kruskal's algorithm, construct a spanning tree for each graph, starting at a. 5. a :
8.
:b
a
6.
b
b
9.
7.
a
b
10.
c
11. a-
b
~_~
_~.
12.
a
d a
~',~~~
13. -
-~
b
e
I
I
d
g d
~
J~,',,~
o g
14-22. Using the DFS method, construct a spanning tree for each graph in Exercises 5-13. 23-31. Using the BFS method, construct a spanning tree for each graph in Exercises 5-13. Using the DFS method, construct a spanning tree for each graph with the given adjacency list. 32.
1
~121 I ~14~
9.2 Spanning trees
625
m
33.
1 _~1~1
m
I ~141_~l~
N
-~ 111-~ I~I-~ |~ i-~l ~IA 121-~ I~I+1 ~N
34-35. Using the BFS algorithm, construct a spanning tree for each graph in Exercises 32 and 33. Using backtracking, solve the n-queens puzzle, if a solution exists, for each value of n. 36. 2
37. 3
38. 5
39. 6
Find a spanning tree for each complete graph. 40. K2
42. K4
41. K3
43. K5
How many nonisomorphic spanning trees does each complete graph have? 44. g l
45. K2
46. K 3
47. K4
*48. Using Exercises 40-47, predict the number of nonisomorphic spanning trees for the complete graph Kn. Find a spanning tree for each complete bipartite graph. 49. KI,1
50. K2,2
51. K2,3
52. K3,3
53-56. How many nonisomorphic spanning trees do the complete bipartite graphs in Exercises 49-52 have? Let G be a simple graph with n vertices vl, v2,..., vn and adjacency matrix A = ( a i j ) n x n . Let B = (bij)nxn, where b/j=
-aij deg(vi)
if i g: j ifi = j
Let C be the ( n - 1) x ( n - 1) matrix obtained by deleting row I and column 1 of B. Then the number of nonisomorphic spanning trees of G is the determinant ICI. Using this fact, find the number of nonisomorphic spanning trees for each graph.
Chapter 9 Trees
626
57.
b a
58.
b
59. K5
e ~d
a-
..
d
..e
*60. (Cayley's formula) Using the statement preceding Exercises 5759, prove that the number of nonisomorphic spanning trees for Kn is n n-2.
Finding a minimal spanning tree in a connected weighted graph can frequently be useful. This section presents two such algorithms, but first an example. A utility company would like to lay pipelines for natural gas between five towns, a through e, as in Figure 9.25. The weights (in millions) of the edges represent the cost of building the various pipelines. They must be laid in such a way that natural gas can be sent from any town to any other town, holding construction costs to a minimum. In other words, the company needs to find a spanning tree for the weighted graph with the sum of the weights of the tree's edges at a minimum. Such a tree is a minimal spanning tree.
Figure 9.25
c
7
11
15
12
Minimal Spanning Tree Let G be a connected weighted graph. The weight of a spanning tree of G is the sum of the weights of its edges. A m i n i m a l s p a n n i n g t r e e of G weighs the least. Several algorithms can find a minimal spanning tree T of a connected weighted graph G. Two of them are Kruskal's and Prim's. Kruskal's Algorithm K r u s k a l ' s a l g o r i t h m is an extension of his algorithm presented in the preceding section: 9 Arrange the edges in G in nondecreasing order of their weights.
627
9.3 MinimalSpanning Trees 9 Choose an edge in G with the minimum weight.
9 Add an edge of least weight to T if it does not form a cycle with the edges already selected. 9 Repeat step 3 until the n u m b e r of edges selected is n - 1, where n denotes the n u m b e r of vertices in G. The following example illustrates these steps. Using Kruskal's algorithm, find a minimal spanning tree for the graph in Figure 9.25. SOLUTION: Step 1 Arrange the edges in nondecreasing order of their weights, as in Table 9.2.
Table 9.2
7
Weight
10
10
11
12
12
13
13
15
16
{a,b} {a,d} {b,d} {b,e} {a,e} {c,e} {b,c} {c,d} {d,e} {a,c}
Edge
Step 2
Choose edge {a, b} since it has the smallest weight; include it in T.
Step 3
An edge with the next smallest weight is {a, d}. It does not form a cycle with the edge in T, so include it in T.
Step 4
Edge {b, d} forms a cycle with the edges in T; discard it.
Step 5
Edge {b, e} does not produce a cycle with the edges in T; include it in T.
Step 6
Edge {a, e} creates a cycle; reject it.
Step 7
Edge {c,e} is selected.
Having selected four edges, we are done, by Theorem 9.2. Figure 9.26 shows the resulting spanning tree.
Figure 9.26
c
12 b
d a~
1,,
"Qe
628
Chapter 9
Trees
Table 9.3 summarizes these steps, indicating 40 as the weight of a minimal spanning tree, so it would cost $40 million to build the pipelines.
T a b l e 9.3 Edg(
Weight Decision S p a n n i n g Weight Number of tree T of T edges in T
Done?
{a,b}
7
Select
:I
7
1
No
{a,d]
10
Select
b~j,d
17
2
No
{b,d}
10
Reject
17
2
No
{b,e}
11
Select
28
3
No
m ~
d
~~e
{a,e}
12
Reject
m
28
3
No
{c,e}
12
Select
,. b~_~(l aw" "~e
40
4
Yes
Algorithm 9.4 presents Kruskal's algorithm. Algorithm Kruskal (G,T) (* Using Kruskal's algorithm, this algorithm constructs a minimal spanning tree T for a connected weighted graph G = (V,E) with n vertices and computes the minimum weight. Numedges denotes the number of edges in T. *) Begin (* algorithm *) T <--0 (* i n i t i a l i z e tree *) numedges <-0 (* i n i t i a l i z e numedges in T *) weight <--0 (* i n i t i a l i z e weight of T *) while (numedges < n- I) and (E ~:0) do begin (* while *) select an edge e in E with the smallest weight. E <-- E - {e} (* delete e from E *) i f e does not form a cycle in T then begin (* i f *) T <- T U{e} (* add e to T *) weight <- weight + weight of edge e numedges <- numedges + I endi f else discard i t endwhi I e End (* algorithm *)
Algorithm 9.4
m
9.3 MinimalSpanning Trees
629
Robert Clay P r i m (1921-), an engineer and mathematician, was born in Sweetwater, Texas. He received his B.S. in electrical engineering in 1941 from the University of Texas and his Ph.D. in mathematics from Princeton in 1949. After working for a year at the University of Texas, he has held a variety of positions: engineer at the General Electric Co., engineer and mathematician at the U. S. Naval Ordinance Lab, research associate at Princeton, research mathematician and director of mathematics and mechanics at Bell Telephone Labs, vice president for research at Sandia Corporation, and executive director of research at Bell Labs.
Prim's Algorithm Another method for finding a minimal spanning tree T, P r i m ' s a l g o r i t h m , was discovered by the American engineer Robert Clay Prim in 1957. The following steps outline it. 9 Choose an edge with the least weight. 9 Include it in T. 9 Select an edge of least weight t h a t is incident with a vertex of an edge in T. 9 If it does not create a cycle with the edges in T, then include it in T; otherwise, discard it. 9 Repeat steps 3 and 4 until T contains n - 1 edges. The next example illustrates these steps. Using Prim's algorithm, construct a minimal spanning tree for the graph in Figure 9.25. SOLUTION: Arrange the edges in nondecreasing order of weights, as in Table 9.2. Step 1
Choose an edge with the least weight: {a, b}.
Step 2
Include it in T. See Figure 9.27.
F i g u r e 9.27
a
S t e p 3 Select a lightest edge incident with a or b. Edges {a, d} and {b, d} are two candidates. Neither of t h e m forms a cycle {a, b}, so select one of them, say, {b, d }.
630
Chapter 9 Trees Step 4
Adjoin it to T (see Figure 9.28).
Figure 9.28
10
:d
a
Step 5
Look for a lightest edge incident with a vertex in T: {a, d}.
Step 6
Edge {a, d} creates a cycle in T; reject it.
Step 7
Edge {b, e} is the next candidate.
Step 8
Add it to T (see Figure 9.29).
Figure 9.29
10
A
e a
Step 9
Look for a lightest edge incident with a vertex in T; {a, e} and {c, e } are two possibilities.
Step 10
Edge {a, e } forms a cycle in T, so discard it.
Step 11
{c, e } does not produce a cycle, so include it in T (see Figure 9.30). T now contains 4 edges; so by Theorem 9.2, T is a minimal spanning tree weighing 7 + 10 + 11 + 12 - 40.
Figure 9.30
c
A
e a
Table 9.4 summarizes these steps.
An important observation: Examples 9.5 and 9.6 indicate t h a t a connected weighted graph may have more t h a n one minimal s p a n n i n g tree. Nonetheless, they weigh the same.
631
9.3 Minimal Spanning Trees
T a b l e 9.4 Edge
{a,b}
Weight D e c i s i o n
7
S p a n n i n g Weight tree T of T
Select
bI
N u m b e r of e d g e s in T
Done?
7
1
No
17
2
No
17
2
No
28
3
No
~4~Q
{b,d}
10
Select
bi
=d
L4~
{a,d}
10
Reject
{b,e}
11
Select
{a,e}
12
Reject
--
28
3
No
{c, e}
12
select
b : . . c =d
40
4
Yes
-b-
=d
a~'~e
B
Algorithm 9.5 gives P r i m ' s algorithm. Algorithm Prim (G,T) (* Using Prim's algorithm, t h i s algorithm constructs a minimal spanning tree T for a connected weighted graph G = (V,E) with n vertices and computes the minimum weight. Numedges denotes the number of edges in T. *) Begin (* algorithm *) T ~ - 0 (* i n i t i a l i z e tree *) numedges < - 0 (* i n i t i a l i z e numedges *) weight <--0 (* i n i t i a l i z e weight of T *) while (numedges < n - l ) and (E ~ : 0 ) do begin (* while *) select an edge e that is incident with a vertex in T that has the least weight. E <-- E - {e} (* delete edge e from E *) i f e does not form a cycle in T then begin (* i f *) T <-- T LJ {e} (* adjoin e to T *) weight <-- weight + weight of edge e numedges <- numedges + I endi f else di scard i t endwhi 1e end (* algorithm *) Algorithm 9.5
The time complexity of this version of P r i m ' s a l g o r i t h m is O(n3), with n the n u m b e r of vertices in G. However, it can be i m p l e m e n t e d in O(n 2) time. To prove P r i m ' s algorithm, induction is used twice as well as a loop i n v a r i a n t (Section 4.5). U n f o r t u n a t e l y , the proof, given next, is a bit long.
632
Chapter 9 Trees P r i m ' s a l g o r i t h m produces a m i n i m a l s p a n n i n g tree for a connected weighted graph.
PROOF: Let G be a connected weighted g r a p h with n vertices and Tk its s u b g r a p h after k iterations of the w h i l e loop in Algorithm 9.5. The proof consists of validating three s t a t e m e n t s : (1) Tk is a tree for every k > 1; (2) T n - 1 is a s p a n n i n g tree; and (3) Tk is contained in a minimal s p a n n i n g tree. If the tree Tk is contained in a m i n i m a l s p a n n i n g tree at the end of every iteration, it m u s t be t r u e even w h e n the loop is t e r m i n a t e d . C o n s e q u e n t l y , w h e n we leave the loop, a minimal s p a n n i n g tree m u s t result. So we begin with the proof of p a r t 1. 9 To prove t h a t Tkis a tree for every k >__1 (use induction)"
Basis step tree.
When k -
1, T1 consists of a single vertex. So T1 is a
I n d u c t i o n s t e p A s s u m e Tk is a tree for any k >_ 1. In the (k + 1)st iteration, w h e n a new edge is added to Tk the r e s u l t i n g s u b g r a p h Tk+l is still connected and acyclic, so Tk+l is also a tree. Thus, by induction, Tk is a tree for every k >_ 1. 9 To prove that T,~_ 1is a s p a n n i n g tree: The w h i l e loop is t e r m i n a t e d w h e n k - n - 1. The r e s u l t i n g s u b g r a p h T,,_ 1, by part 1, is a tree with n - 1 edges; so it contains all the vertices of G. Hence T,~_ 1 is a s p a n n i n g tree. 9 To prove that Tk is c o n t a i n e d induction)"
in a m i n i m a l
spanning
tree (use
B a s i s s t e p Since Tx consists of a single vertex, T1 is contained in every minimal s p a n n i n g tree. I n d u c t i o n s t e p A s s u m e Tk is contained in a minimal s p a n n i n g tree T after k iterations of the loop. We would like to show t h a t Th+l is c o n t a i n e d in some minimal s p a n n i n g tree of G. Let V b e the set of vertices in Tk. In the (k + 1)st iteration, the a l g o r i t h m selects an edge e - {u, v} of least weight, where u c V and v r V, and adds it to Tk. This yields the tree Tk+l" Tk+l - Tk U {e}.
Case 1
If e c T, clearly Tk+l is contained in T.
Case 2 If e r T, T u {e} contains a cycle C. Choose an edge e' - {x,y} in C such t h a t x c V , y r V, and e r e'. T h e n w(e) <_ w(e') by the choice of e, where w(e) denotes the weight of edge e and w(e') the weight of e'. Let T' - [T u {e}]- {e'}.T' is a tree with n - 1 edges; so it is a tree, by T h e o r e m 9.2, and hence a s p a n n i n g one. T h e n w ( T ' ) < w(T), w h e r e
9.3
Minimal Spanning Trees
633
w(T') denotes the weight of T' and w(T) the weight of T; so T' is also a minimal spanning tree. Besides, it contains Tk+l. Thus, in both cases, Tk+ 1 is contained in a minimal spanning tree; therefore, by induction, Tk is contained in a minimal spanning tree for every k>l. m Kruskal's and Prim's algorithms present fine paradigms of a greedy algorithm. A g r e e d y a l g o r i t h m makes an optimal choice at every step. For instance, each step in the two algorithms sought an edge with minimum weight. Although greedy algorithms may not always yield optimal solutions, they do in these two cases.
Exercises 9.3
Using Kruskal's algorithm, construct a minimal spanning tree for each connected weighted graph. 1. b
5
2.
2 a~
a-
3
5"
- ~-d
d 4.
0
a
c
~ e 2 f 7
8
7
,d d
0
.
b
eY
c 8
g
6
7-12. Using Prim's algorithm, construct a minimal spanning tree for each graph in Exercises 1-6. Compute the weight of each. Using Kruskal's algorithm, create a minimal spanning tree for the connected weighted graph with each adjacency list.
634
Chapter 9 Trees 13.
4 5 6
12141~1315~ 12r~i ~13171 ~[616H 1516H
14. I
2_ [11~! ~[3[~! ~[417 H 3_ 11131~1218I~14[9[ ~1514H 4 ! ~11161 ~12171 ~13191~1515H 5_- ~11151/*13141 ~1415H _ _ . . .
15-16. Redo Exercises 13 and 14 using Prim's algorithm. Using Kruskal's algorithm, construct a minimal spanning tree for the connected, weighted graph with each modified adjacency matrix. The symbol oc in row i and column j indicates the absence of edge {i, j}; think of it as a number larger than any of the weights in the graph. 17.
18. 1 1 oc 2 i 3 4
2 6 oo 5 7
3 3 5 ~ 6
4 7 7 6 oc
1 1 oc 2 8 3 9 4 5
2 8 oc 11 ~ 3
19-20. Redo Exercises 17 and 18 using Prim's algorithm.
3 9 11 oc 10 c~
4 7 oc 10 oc 5
5 7 3 5
9.4 RootedTrees
635
T a k e a good look at the trees in F i g u r e s 9.6, 9.7, a n d 9.8. E a c h c o n t a i n s a specially d e s i g n a t e d vertex called t h e root: Nicolaus, Chief Executive Officer, and NHL, respectively. A tree w i t h a root is a r o o t e d t r e e . Consider the simple a l g o r i t h m for m a k i n g an overseas t e l e p h o n e call: 9 Dial the i n t e r n a t i o n a l access code (011). 9 Dial the c o u n t r y code. 9 Dial the city code. 9 Dial the local n u m b e r . This a l g o r i t h m can be used to c o n s t r u c t a rooted tree, a portion of which is shown in F i g u r e 9.31. The root of the tree is t h e vertex 011.
F i g u r e 9.31
011
~.
I~
root
A rooted tree. UK 44
London(i)
21 41 232
France 33
1
7
Japan 81
91
93
75
45
11
6
TokyoI3~
Rooted trees are d r a w n with the root at the top, especially in c o m p u t e r science; t h e y grow downward. Every " u n r o o t e d " tree can be r e d r a w n as rooted