Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Emerging Technique: Automatic Generation of PowerPoint Presentations Sen Zhang and Hanfu Mi SUNY at Oneonta Merlot 2007.

Similar presentations


Presentation on theme: "An Emerging Technique: Automatic Generation of PowerPoint Presentations Sen Zhang and Hanfu Mi SUNY at Oneonta Merlot 2007."— Presentation transcript:

1 An Emerging Technique: Automatic Generation of PowerPoint Presentations Sen Zhang and Hanfu Mi SUNY at Oneonta Merlot 2007

2 About the presentation Sen Zhang and Hanfu Mi Merlot 2007 SUCO Aug 7, 2007 New Orleans {zhangs, mih} @oneonta.edu

3 How many instructional support staff members?

4 How many faculty members?

5 How many teach in the computer science, sciences, and related fields?

6 How many teach in the Humanities?

7 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.

8 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?

9 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)

10 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.

11 Dynamic visualization is time-consuming to create!  Time  creating  modifying and changing  redoing with new datasets  …  Consistency in animations  fonts  colors  positions  paths  …

12 Let us take a look at one actual example from a class of data structures and algorithms

13 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.

14 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.

15 Cost Matrix C 123 246 369 The cost for worker3 to do the job2 is 6! Worker 1 Worker 3 Worker 2 job2job1job3

16 A solution 123* 24*6 3*69

17 Algorithms to solve this problem! In computer science, we care about how to systematically solve this problem!

18 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

19 A solution 123* 24*6 3*69

20 An equivalent problem! 100* 00*1 0*13

21 Primed 0*0'1 013 025

22 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.

23 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.

24 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.

25 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.

26 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.

27 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.

28 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.

29 Let us visualize a running example  from slides 30 – 70!

30 Step0 123 246 369

31 Step1 123 246 369

32 Step1 123 246 369

33 Step1 012 246 369

34 Step1 012 246 369

35 Step1 012 024 369

36 Step1 012 024 369

37 Step1 012 024 036

38 Step1 012 024 036

39 Step2 0*12 024 036

40 Step2 0*12 024 036

41 Step3 0*12 024 036

42 Step4 0*12 024 036

43 Step6 0*1^min2 024 036

44 Step6 0*01 013 025

45 Step4 0*0'1 013 025

46 Step4 0*0'1 013 025

47 Step4 0*0'1 0'13 025

48 Step4 0*0'1 0'13 025

49 Step5 00*1 0*13 025

50 Step3 00*1 0*13 025

51 Step3 00*1 0*13 025

52 Step4 00*1 0*13 025

53 Step6 00*1^min 0*13 025

54 Step6 00*0 0*12 024

55 Step4 00*0' 0*12 024

56 Step4 00*0' 0*12 024

57 Step4 00*0' 0*12 024

58 Step6 00*0' 0*1^min2 024

59 Step6 10*0' 0*01 013

60 Step4 10*0' 0*0'1 013

61 Step4 10*0' 0*0'1 013

62 Step4 10*0' 0*0'1 0'13

63 Step4 10*0' 0*0'1 0'13

64 Step5 100* 00*1 0*13

65 Step3 100* 00*1 0*13

66 Step3 100* 00*1 0*13

67 Step3 100* 00*1 0*13

68 Step7 100* 00*1 0*13

69 Solution 123* 24*6 3*69

70 We have found a solution! The sum should be 10

71 Helpful!   Here, the step by step changes of the status of the data structure, the cost matrix in this case, have been presented slide by slide. These visualized changes can vividly illustrate the operations of the algorithm, making the algorithm easier to comprehend.   Doubtlessly, we should use this kind of visualization to facilitate the learning of this kind of highly process-oriented algorithm, where purely verbal descriptions of the algorithm is inadequate!

72 Time-consuming!   How many hours do you think it requires to prepare this PPT?   10 hours, actually, it can be even more, if you do it manually.

73 Guess how much time we used to create these slides?  A few minutes or less!

74 Why?  A program created it for us!

75 How much time is required to create the program?  It depends on the difficulty level of the algorithm that you want to present.

76 A couple of more questions and discussions about disadvantages of …

77 Advantages of our approach

78 Thank you, enjoy the rest of the conference!:) Let us do the dirty work once and for all...


Download ppt "An Emerging Technique: Automatic Generation of PowerPoint Presentations Sen Zhang and Hanfu Mi SUNY at Oneonta Merlot 2007."

Similar presentations


Ads by Google