Page 529 - Discrete Mathematics and Its Applications
P. 529

508  8 / Advanced Counting Techniques


                                                introduced by the mathematician Richard Bellman in the 1950s. Bellman was working at the
                                                RAND Corporation on projects for the U.S. military, and at that time, the U.S. Secretary of
                                                Defense was hostile to mathematical research. Bellman decided that to ensure funding, he
                                                needed a name not containing the word mathematics for his method for solving scheduling and
                                                planning problems. He decided to use the adjective dynamic because, as he said “it’s impossible
                                                to use the word dynamic in a pejorative sense” and he thought that dynamic programming was
                                                “something not even a Congressman could object to.”
                                                AN EXAMPLE OF DYNAMIC PROGRAMMING The problem we use to illustrate dynamic
                                                programming is related to the problem studied in Example 7 in Section 3.1. In that problem
                                                our goal was to schedule as many talks as possible in a single lecture hall. These talks have
                                                preset start and end times; once a talk starts, it continues until it ends; no two talks can proceed
                                                at the same time; and a talk can begin at the same time another one ends. We developed a
                                                greedy algorithm that always produces an optimal schedule, as we proved in Example 12 in
                                                Section 5.1. Now suppose that our goal is not to schedule the most talks possible, but rather to
                                                have the largest possible combined attendance of the scheduled talks.
                                                    We formalize this problem by supposing that we have n talks, where talk j begins at
                                                time t j , ends at time e j , and will be attended by w j students. We want a schedule that maximizes
                                                the total number of student attendees. That is, we wish to schedule a subset of talks to maximize
                                                the sum of w j over all scheduled talks. (Note that when a student attends more than one talk, this
                                                student is counted according to the number of talks attended.) We denote by T(j) the maximum
                                                number of total attendees for an optimal schedule from the first j talks, so T (n) is the maximal
                                                number of total attendees for an optimal schedule for all n talks.
                                                    We first sort the talks in order of increasing end time. After doing this, we renumber the
                                                talks so that e 1 ≤ e 2 ≤ ··· ≤ e n . We say that two talks are compatible if they can be part of the
                                                same schedule, that is, if the times they are scheduled do not overlap (other than the possibility
                                                one ends and the other starts at the same time). We define p(j) to be largest integer i, i< j,
                                                for which e i ≤ s j , if such an integer exists, and p(j) = 0 otherwise. That is, talk p(j) is the
                                                talk ending latest among talks compatible with talk j that end before talk j ends, if such a talk
                                                exists, and p(j) = 0 if there are no such talks.




                                                RICHARD BELLMAN (1920–1984)   Richard Bellman, born in Brooklyn, where his father was a grocer,
                                                spent many hours in the museums and libraries of New York as a child. After graduating high school, he
                                                studied mathematics at Brooklyn College and graduated in 1941. He began postgraduate work at Johns Hopkins
                                                University, but because of the war, left to teach electronics at the University ofWisconsin. He was able to continue
                                                his mathematics studies at Wisconsin, and in 1943 he received his masters degree there. Later, Bellman entered
                                                Princeton University, teaching in a special U.S. Army program. In late 1944, he was drafted into the army. He
                                                was assigned to the Manhattan Project at Los Alamos where he worked in theoretical physics. After the war, he
                                                returned to Princeton and received his Ph.D. in 1946.
                                                    After briefly teaching at Princeton, he moved to Stanford University, where he attained tenure. At
                                 Stanford he pursued his fascination with number theory. However, Bellman decided to focus on mathematical questions arising from
                                 real-world problems. In 1952, he joined the RAND Corporation, working on multistage decision processes, operations research
                                 problems, and applications to the social sciences and medicine. He worked on many military projects while at RAND. In 1965 he
                                 left RAND to become professor of mathematics, electrical and biomedical engineering and medicine at the University of Southern
                                 California.
                                     In the 1950s Bellman pioneered the use of dynamic programming, a technique invented earlier, in a wide range of settings. He
                                 is also known for his work on stochastic control processes, in which he introduced what is now called the Bellman equation. He
                                 coined the term curse of dimensionality to describe problems caused by the exponential increase in volume associated with adding
                                 extra dimensions to a space. He wrote an amazing number of books and research papers with many coauthors, including many on
                                 industrial production and economic systems. His work led to the application of computing techniques in a wide variety of areas
                                 ranging from the design of guidance systems for space vehicles, to network optimization, and even to pest control.
                                     Tragically, in 1973 Bellman was diagnosed with a brain tumor. Although it was removed successfully, complications left him
                                 severely disabled. Fortunately, he managed to continue his research and writing during his remaining ten years of life. Bellman
                                 received many prizes and awards, including the first Norbert Wiener Prize in Applied Mathematics and the IEEE Gold Medal of
                                 Honor. He was elected to the NationalAcademy of Sciences. He was held in high regard for his achievements, courage, and admirable
                                 qualities. Bellman was the father of two children.
   524   525   526   527   528   529   530   531   532   533   534