: Analysis of Algorithms - PowerPoint PPT Presentation


PPT – : Analysis of Algorithms PowerPoint presentation | free to download - id: 7adc24-MTFhM


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

: Analysis of Algorithms


Title: CSE 373: Analysis of Algorithms Author: Piyush Kumar Last modified by: SONY Created Date: 9/2/2003 12:40:02 PM Document presentation format – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 42
Provided by: Piyu2
Learn more at: http://compgeom.com


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: : Analysis of Algorithms

Analysis of Algorithms
Welcome to
COP4531 CGS5427
  • Course Webpage
  • http//www.compgeom.com/piyush/teach/4531/
  • And Blackboard

The Course
  • Instructor Piyush Kumar (piyush_at_acm.org)
  • Office Love 105B Phone
  • Office Hours Tuesday 500pm - 600 pm
  • Thursday 400pm 500pm
  • Or by appointment
    (use email)
  • Teaching Assistant TBA (prob. None)

The Course
  • Grading Policy
  • Homework Programming Assignment Quiz 30
    h score
  • Mid Terms Finals 70 f score
  • To Pass h gt 16 and f gt 40
  • Letter Grades based on sorted (hf) scores
    provided you pass.

The Course
  • Prerequisites
  • COP 4530 w/ grade of C- or better
  • STA 4442 w/ grade of C- or better
  • Either MAD 3107 or MAD 3105

The Course
  • Format
  • Two lectures/week
  • Homework mostly biweekly
  • Problem sets
  • One programming assignment
  • 3 Surprise Short Quizzes
  • (Mostly will depend on what I did in the past
  • ( One extra credit programming assignment )
  • Two MidTerms (Sep 28th, Nov 4th)
  • FINAL EXAM is on DEC 10th,
  • 300pm to 500pm. Venue In Class, Love 301

  • Write problems beginning with a new page.
  • Only hard-copy (paper) submissions are allowed.
  • No late assignments
  • Look at the Course Information pages for more

Homework Policy
  • If you ask to re-grade your homework please write
    out the basis of your request.
  • If the grader finds no basis for your complaint,
    then 10 points will be deducted from your
    original grade unless the grade is changed.
  • Note This is not to discourage you from
    disputing your grade, but rather we encourage you
    to read and understand the posted solutions on
    the web before you ask your solutions to be

Homework Policy
  • Under no circumstances should you be copying
    others or modifying other peoples work.
  • It is fine to discuss problems with others, but
    all of the writing should be done without any
    collaboration. Make sure you read the Course
    Information webpage.

Homework Policy
  • You can work in a pair or alone
  • If you work in a pair, You are both supposed to
    write the solutions independently and staple
    before you submit.
  • Only one solution from a pair will be graded (The
    one on top).

Exam Policy
  • If you say I dont know in any question in the
    exam/hw, you get 25 marks for that
  • In case you dont know the answer its better to
    leave it than filling the answer sheet with
    crap because you might even loose that 25

How to do well in this class?
  • Think
  • Keep a few minutes everyday for thinking about
    homework problems
  • Do all homework yourself, even if you have a
    partner. If you did not think on homework, be
    prepared to get burnt on exams.

How to do well in this class?
  • Attend Class Regularly. Be There or you will miss
  • The explanations
  • The demos
  • In-Class Quizzes
  • Announcements
  • Hints on homework and exams
  • Its not the same to have notes from the web or
    friends. Nothing can replace the experience of
    being there.
  • Read Before Class.

How to do well in Class?
  • Plan to spend a few hours every week for Reading
    Assignments and doing homework. ( 3 hours per
    class? )
  • Check web-pages/blackboard frequently.

How to do well in Class?
  • Dont be afraid of me!
  • Ask Questions in Class.
  • Attend office hours.
  • Feel free to visit me anytime (105b).
  • Feel free to email me. piyush_at_acm.org
  • Feel free to call me. 850-645-2355
  • Again Ask Questions in Class
  • (Dont wait for others to ask them for you).

Web Pages
  • http//www.compgeom.com/piyush/teach/4531/
    Course Calendar, Instructor Information, Scribing
    Material, Course Information, Grades.
  • Blackboard Announcements, Homework, Discussion,
    Reading Assignments, Programming Projects.
  • Make Sure you check both these pages frequently.
  • Make Sure you check the email that is listed on
    the blackboard.
  • My email address for the course is piyush_at_acm.org

Algorithm What is it?
  • An Algorithm is a well-defined computational
    procedure that transforms inputs into outputs,
    achieving the desired input-output relationship.

Course Objectives
  • design new algorithms.
  • analyze a given algorithm.
  • read and understand algorithms published in
  • develop writing skills to present your own
  • collaborate and work together with other people
    to design new algorithms.
  • Crack job interviews.

Algorithm Characteristics
  • Finiteness
  • Input
  • Output
  • Rigorous, Unambiguous and Sufficiently Basic at
    each step

A Cookbook Recipe
  • Add a dash of salt?
  • (Where? How much exactly?)
  • Toss lightly till the mixture is crumbly?
  • Wait till the water starts to boil?
  • (Remember A watched pot never boils)
  • Resemblances Input, Output, Finiteness.

What we want?
  • A good Algorithm
  • In some loosely defined aesthetic sense
  • Time Faster
  • Space Smaller
  • Portability/Adaptability to different machines.
  • Simplicity and Elegance

  • WWW and the Internet
  • Computational Biology
  • Scientific Simulation
  • VLSI Design
  • Security
  • Automated Vision/Image Processing
  • Compression of Data
  • Databases
  • Mathematical Optimization

The RAM Model
  • Analysis is performed with respect to a
    computational model
  • We will usually use a generic uniprocessor
    random-access machine (RAM)
  • All memory equally expensive to access
  • No concurrent operations
  • All reasonable instructions take unit time
  • Except, of course, function calls
  • Constant word size
  • Unless we are explicitly manipulating bits

Linear Search I
  • For I 1 to N
  • if (aI x) return true
  • return false

Linear Search II
  • AN1 x I 1
  • While AI ! x
  • I
  • if I N1 return false
  • Else return true

A Rough Analysis
  • N 10000

Search I 2000 1000
Search II 1000 1002
  • Input     Array A1...n, of elements in
    arbitrary order
  • Output  Array A1...n of the same elements, but
    in increasing order
  • Given a teacher find all his/her students.
  • Given a student find all his/her teachers.

Binary Search
High lt Low
Get Midpoint
Adjust Low
Adjust High

Binary Search
  • Algorithm
  • Low 1 High n
  • while Low lt High
  • m floor( (LowHigh)/2 )
  • if k lt Am
  • then High m - 1
  • else Low m 1
  • if ALow k then j Low else j 0

An Illustration
Sorted Array 5, 15, 19, 23, 27, 29,
31 Index 1 2 3 4 5
6 7
Time and Space Complexity
  • Generally a function of the input size
  • E.g., sorting, multiplication
  • How we characterize input size depends
  • Sorting number of input items
  • Multiplication total number of bits
  • Graph algorithms number of nodes edges
  • Etc

Running Time
  • Number of primitive steps that are executed
  • Except for time of executing a function call most
    statements roughly require the same amount of
  • y m x b
  • c 5 / 9 (t - 32 )
  • z f(x) g(y)
  • We can be more exact if need be

  • Worst case
  • Provides an upper bound on running time
  • An absolute guarantee
  • Average case
  • Provides the expected running time
  • Very useful, but treat with care what is
  • Random (equally likely) inputs
  • Real-life inputs

Binary Search Analysis
  • Order Notation
  • Upper Bounds
  • Search Time ??
  • A better way to look at it,
  • Binary Search Trees

  • A bad king has a cellar of 1000 bottles of
    delightful and very expensive wine. a
    neighbouring queen plots to kill the bad king and
    sends a servant to poison the wine.
    (un)fortunately the bad king's guards catch the
    servant after he has only poisoned one bottle.
    alas, the guards don't know which bottle but know
    that the poison is so strong that even if diluted
    1,000,000 times it would still kill the king.
    furthermore, it takes one month to have an
    effect. the bad king decides he will get some of
    the prisoners in his vast dungeons to drink the
    wine. being a clever bad king he knows he needs
    to murder no more than 10 prisoners - believing
    he can fob off such a low death rate - and will
    still be able to drink the rest of the wine at
    his anniversary party in 5 weeks time. Explain

  • Number each bottle in binary digits
  • Feed each prisoner one column of the list of the
    binary digits where 1 means the bottle is tasted
    and zero means its not
  • Convert the death of the 10 prisoners into a
    decimal number, Thats the bottle we are looking

  • Prove 1 2 3 n n(n1) / 2
  • Basis
  • If n 0, then 0 0(01) / 2
  • Inductive hypothesis
  • Assume 1 2 3 n n(n1) / 2
  • Step (show true for n1)
  • 1 2 n n1 (1 2 n) (n1)
  • n(n1)/2 n1 n(n1) 2(n1)/2
  • (n1)(n2)/2 (n1)(n1 1) / 2

Induction A Fine example
Practice Problem
  • Prove
  • a0 a1 an (an1 - 1)/(a - 1)
  • Read MI from the web.

Homework problem Whats wrong?
  • Problem Prove that x(k-1) 1
  • Proof
  • P(1) x(1-1) 1
  • By Induction assume P(1),P(2)..P(n) are true.
  • P(n1)
  • x(n1)-1 xn
  • xn-1
    xn-1 / xn-2
  • 1 1 / 1 1

  • Go thru the slides for the first lecture.
  • Read chapter 1 of the text book
  • 'Suggested' Exercises 1.1-5, 1.2-3 (Solutions
    not to be Submitted/Graded)
  • Read the course Information Sheet
  • Submit Why the proof is wrong on the previous

Next Time
  • In this course, we care most about asymptotic
  • How does the algorithm behave as the problem size
    gets very large?
  • Running time
  • Memory/storage requirements
  • Bandwidth/power requirements/logic gates/etc.
About PowerShow.com