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

Slides:



Advertisements
Similar presentations
The Assignment Problem
Advertisements

Assignment Problem: Hungarian Algorithm and Linear Programming collected from the Internet and edited by Longin Jan Latecki.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Transportation Problem (TP) and Assignment Problem (AP)
Transportation and Assignment Models
Assignment Meeting 15 Course: D Deterministic Optimization Year: 2009.
Dragan Jovicic Harvinder Singh
Overview What is Dynamic Programming? A Sequence of 4 Steps
ALGORITHMS THIRD YEAR BANHA UNIVERSITY FACULTY OF COMPUTERS AND INFORMATIC Lecture two Dr. Hamdy M. Mousa.
Operations Research Assignment Problem.
Presenter notes: This Microsoft PowerPoint 2010 Presentation is a prepackaged solution for basic PowerPoint 2010 training. You may use the presentation.
Allocation problems - The Hungarian Algorithm The Hungarian algorithm Step 1Reduce the array by both row and column subtractions Step 2Cover the zero elements.
Using and Creating Automatically Generated PowerPoint Slides to Facilitate Teaching of Data Structures and Algorithms CCSC-E 2011, Oct. 15, 2011 Marymount.
The Transportation and Assignment Problems
Assignment Problem Step by Step illustration automatically generated by a C# application:)
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
UNC Chapel Hill Lin/Manocha/Foskey Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject.
CHAPTER 10 Recursion. 2 Recursive Thinking Recursion is a programming technique in which a method can call itself to solve a problem A recursive definition.
Scientific Communication: Written, Oral, Visual Dr. Rabab Elamawi Mic 490 Prepared by.
Computer Literacy BASICS
MATRICES AND DETERMINANTS
Introduction to Excel, Word and Powerpoint Developing Valuable Technology Skills! Shawn Koppenhoefer Training in Research in Reproductive Health/Sexual.
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
A light-weighted visualization tool for facilitating students’ learning of sorting algorithms Sen Zhang, Hanfu Mi State University of New York College.
Systems of Linear Equations: Matrices Chapter Overview A matrix is simply a rectangular array of numbers. Matrices are used to organize information.
Slide 1 of 27 Assignment Problem: Hungarian Algorithm and Linear Programming collected from the Internet and edited by Longin Jan Latecki.
Assignment Model Lecture 21 By Dr Arshad Zaheer. RECAP  Transportation model (Maximization)  Illustration (Demand > Supply)  Optimal Solution  Modi.
Chapter 7 Transportation, Assignment & Transshipment Problems
Lecture 9: Constraint Relaxation Simplex Method Munkres Assignment Branch-and-Bound Search.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Diagnostic Pathfinder for Instructors. Diagnostic Pathfinder Local File vs. Database Normal operations Expert operations Admin operations.
Advanced Topics- Functions Introduction to MATLAB 7 Engineering 161.
Assignment Models Dr. Kirti Arekar
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Slide Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley A set of equations is called a system of equations. The solution.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 8: Recursion Presentation slides for Java Software Solutions for AP* Computer Science 3rd.
Chapter 3 Automating Your Work. It is frustrating when you have to type the same passage of text repeatedly. For example your name and address. Word includes.
Overview Excel is a spreadsheet, a grid made from columns and rows. It is a software program that can make number manipulation easy and somewhat painless.
Unit #7 Charts Questions? Comments?. MS PPT 2007: Presentations Made Easy; Planning and Preparing PowerPoint allows you to create a professional presentation.
Optimization Problems In which a set of choices must be made in order to arrive at an optimal (min/max) solution, subject to some constraints. (There may.
Computer Sciences Department1.  Property 1: each node can have up to two successor nodes (children)  The predecessor node of a node is called its.
Network Flow Problems – The Assignment Problem
TM 631 Optimization Assignment Problems. Prototype Problem K-Corp has 3 parts, each of which can be assigned to 1 of 3 machines. The problem is to assign.
QUANTITATIVE METHODS FOR MANAGERS ASSIGNMENT MODEL.
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
HTBN Batches These slides are intended as a starting point for further discussion of how eTime might be extended to allow easier processing of HTBN data.
 Problem Analysis  Coding  Debugging  Testing.
Example Program Development
Assignment Problem: Hungarian Algorithm and Linear Programming collected from the Internet and extended by Longin Jan Latecki.
Introduction Acadia Institute for Teaching and Technology
deterministic operations research
Topic: Programming Languages and their Evolution + Intro to Scratch
ENGM 535 Optimization Assignment Problems.
The minimum cost flow problem
Assignment Problem: Hungarian Algorithm and Linear Programming collected from the Internet and extended by Longin Jan Latecki.
Unit# 9: Computer Program Development
Assignment Problem A balanced transportation problem in which
Assignment Problem: Hungarian Algorithm and Linear Programming collected from the Internet and extended by Longin Jan Latecki.
BHP English Fall 2017: Lesson 5
MURI Kickoff Meeting Randolph L. Moses November, 2008
3. Brute Force Selection sort Brute-Force string matching
Transportation Problems
Assignment Problems Guoming Tang CSC Graduate Lecture.
3. Brute Force Selection sort Brute-Force string matching
A Few Sample Reductions
Decision Science Chapter 6 Assignment Models.
Implementation of Learning Systems
Assignment Problem: Hungarian Algorithm and Linear Programming collected from the Internet and extended by Longin Jan Latecki.
3. Brute Force Selection sort Brute-Force string matching
Presentation transcript:

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,

How many instructional support staff members?

How many faculty members?

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

How many teach in the Humanities?

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 The cost for worker3 to do the job2 is 6! Worker 1 Worker 3 Worker 2 job2job1job3

A solution 123* 24*6 3*69

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

A solution 123* 24*6 3*69

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

Primed 0*0'

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!

Step

Step

Step

Step

Step

Step

Step

Step

Step

Step2 0*

Step2 0*

Step3 0*

Step4 0*

Step6 0*1^min

Step6 0*

Step4 0*0'

Step4 0*0'

Step4 0*0'1 0'13 025

Step4 0*0'1 0'13 025

Step5 00*1 0*13 025

Step3 00*1 0*13 025

Step3 00*1 0*13 025

Step4 00*1 0*13 025

Step6 00*1^min 0*13 025

Step6 00*0 0*12 024

Step4 00*0' 0*12 024

Step4 00*0' 0*12 024

Step4 00*0' 0*12 024

Step6 00*0' 0*1^min2 024

Step6 10*0' 0*01 013

Step4 10*0' 0*0'1 013

Step4 10*0' 0*0'1 013

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

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

Step5 100* 00*1 0*13

Step3 100* 00*1 0*13

Step3 100* 00*1 0*13

Step3 100* 00*1 0*13

Step7 100* 00*1 0*13

Solution 123* 24*6 3*69

We have found a solution! The sum should be 10

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!

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.

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

Why?  A program created it for us!

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

A couple of more questions and discussions about disadvantages of …

Advantages of our approach

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