780 likes | 978 Views
An Emerging Technique: Automatic Generation of PowerPoint Presentations. Sen Zhang and Hanfu Mi SUNY at Oneonta Merlot 2007. About the presentation. Sen Zhang and Hanfu Mi. Merlot 2007. SUCO. Aug 7, 2007. New Orleans. {zhangs, mih} @oneonta.edu.
E N D
An Emerging Technique: Automatic Generation of PowerPoint Presentations Sen Zhang and Hanfu Mi SUNY at Oneonta Merlot 2007
About the presentation Sen Zhang and Hanfu Mi Merlot 2007 SUCO Aug 7, 2007 New Orleans {zhangs, mih} @oneonta.edu
How many teach in the computer science, sciences, and related fields?
How many have used PowerPoint Presentation (PPT) in class or at conferences? • We believe that everybody here present must have used PPT in the past for various reasons.
To use vs. to create? • How many of you have created the PPT yourselves? • from the Internet? • from the publishers with the instructional materials? • by yourself?
How much time does one put to create a presentation? • It depends and it varies! • text only (just a set of bulleted slides for straightforward concepts) • text + graphics (static visuals to save thousands of words for more involved concepts) • text + graphics + animations (dynamic visuals of action to facilitate the learning process of more abstract concepts, e.g. an algorithm in computer science)
Dynamic visualization is helpful to use! • The first time learners are unlikely to be able to create the mental images of the algorithm behaviors on their own. • It is the instructor’s responsibility to use the proper visual aids in addition to the descriptive words to facilitate students’ learning.
Dynamic visualization is time-consuming to create! • Time • creating • modifying and changing • redoing with new datasets • … • Consistency in animations • fonts • colors • positions • paths • …
Let us take a look at one actual example from a class of data structures and algorithms
Description of Assignment Problem - a simplified version • There are n workers. • There are n jobs. • There is a certain cost for any worker to do any job. • The assignment problem is about how to assign jobs to workers so that each worker can perform only one job and each job can be assigned to only one worker with the goal to minimize the total cost of the overall assignment.
Model an instance of the assignment problem using a matrix • We use an nxn cost matrix (denoted by C) to represent the costs of each of n workers to perform each of n jobs. • Since each worker can perform only one job and each job can be assigned to only one worker, the assignments constitute an independent set of the matrix C.
Cost Matrix C job1 job2 job3 The cost for worker3 to do the job2 is 6! Worker 1 Worker 2 Worker 3
Algorithms to solve this problem! In computer science, we care about how to systematically solve this problem!
Munkre’s Algorithm (Hungarian Algorithm) • One of classical algorithms solving the assignment problem • Six steps subject to different predefined rules • Multiple passes • Based on the six predefined rules, each pass may be chosen from the six different steps (will be presented in the subsequent slides, can also be found in the handouts) • Some special terms to help reduce the problem to simpler ones step by step and eventually to an obvious one! • starred • primed • covered
Step 1 For each row of the matrix, find the smallest element and subtract it from every element in its row. Go to Step 2.
Step 2 Find a zero (Z) in the resulting matrix. If there is no starred zero in its row or column, star Z. Repeat for each element in the matrix. Go to Step 3.
Step 3 Cover each column containing a starred zero. If N columns are covered, the starred zeros describe a complete set of unique assignments. In this case, Go to DONE, otherwise, Go to Step 4.
Step 4 Find a noncovered zero and prime it. If there is no starred zero in the row containing this primed zero, Go to Step 5. Otherwise, cover this row and uncover the column containing the starred zero. Continue in this manner until there are no uncovered zeros left. Save the smallest uncovered value and Go to Step 6.
Step 5 Construct a series of alternating primed and starred zeros as follows. Let Z0 represent the uncovered primed zero found in Step 4. Let Z1 denote the starred zero in the column of Z0 (if any). Let Z2 denote the primed zero in the row of Z1 (there will always be one). Continue until the series terminates at a primed zero that has no starred zero in its column. Unstar each starred zero of the series, star each primed zero of the series, erase all primes and uncover every line in the matrix. Return to Step 3.
Step 6 Add the value found in Step 4 to every element of each covered row, and subtract it from every element of each uncovered column. Return to Step 4 without altering any stars, primes, or covered lines.
Step 7 Done! Assignment pairs are indicated by the positions of the starred zeros in the cost matrix. If C(i,j) is a starred zero, then the element associated with row i is assigned to the element associated with column j.
Let us visualize a running example • from slides 30 – 70!