: Analysis of Algorithms Course Webpage And Blackboard COP4531 CGS5427.

Slides:



Advertisements
Similar presentations
Analysis of Computer Algorithms
Advertisements

Course Web Site – Also linked from Blackboard Course Materials – Excel Tutorials – Access Tutorials – PPT.
Intro to CIT 594
ITCS 3181 Logic and Computer Systems
CS 253: Algorithms Syllabus Chapter 1 Appendix A.
CS 232 Geometric Algorithms: Lecture 1 Shang-Hua Teng Department of Computer Science, Boston University.
My Policies and Some Advice for Doing Well in this Course.
CS 232 Geometric Algorithms: Lecture 1 Shang-Hua Teng Department of Computer Science, Boston University.
CS3381 Des & Anal of Alg ( SemA) City Univ of HK / Dept of CS / Helena Wong 2. Analysis of Algorithms - 1 Analysis.
COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
My Policies and Some Advice for Doing Well in this Course.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
CS 166 DATABASE MANAGEMENT SYSTEMS Dr Eamonn Keogh uci
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
Today’s quiz on 8.2 A Graphing Worksheet 1 will be given at the end of class. You will have 12 minutes to complete this quiz, which will consist of one.
CS 330 Algorithms: Lecture 1 Shang-Hua Teng Department of Computer Science, Boston University.
Instructor Neelima Gupta
.  What will we be doing this year   Warm-ups  Investigate geometry with Patty Paper  Flip the classroom in Algebra II  Work with a partner 
David Luebke 1 9/11/2015 CS 332: Algorithms Introduction Proof By Induction.
1 HCC Brandon Independent Study Orientation Power Point Instructor: Tiffany Cantrell.
CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a lgorithms.
CS 103 Discrete Structures Lecture 01 Introduction to the Course
Mathematics Review and Asymptotic Notation
1 My Experiences as Faculty Member and Researcher Dr. Kalim Qureshi.
Course Web Page Most information about the course (including the syllabus) will be posted on the course wiki:
Complexity & Analysis of Data Structures & Algorithms Piyush Kumar (Lecture 2: Algorithmic Analysis) Welcome to COP4531 Based on slides from J. Edmonds,
Leena Razzaq Office: 310BWVH Office hours: Monday 11am-1pm or by appointment jys.
Welcome to Physics 1D03.
“Good morning, and welcome to introduction to chemistry.” Not the real Mr. Cooper.
“Good morning, and welcome to introduction to chemistry.” Not the real Mr. Cooper.
Let’s do some introductions
COP3502: Introduction to Computer Science Yashas Shankar.
CS 445/545 Machine Learning Winter, 2012 Course overview: –Instructor Melanie Mitchell –Textbook Machine Learning: An Algorithmic Approach by Stephen Marsland.
Course Information Sarah Diesburg Operating Systems COP 4610.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
1 Put your name if you want your attendance credit. Please put your as well. CSC 320 is done at 11:30 so I did NOT fill in the box for 11:30 for.
CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
MS 101: Algorithms Instructor Neelima Gupta
MS 101: Algorithms Instructor Neelima Gupta
Welcome to Biology.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
LIVING ENVIRONMENT Teacher: Mrs. D’Anna Teacher: Mrs. D’Anna Room: 227 Room: 227 Address: Address:
David Luebke 1 11/29/2015 CS 332: Algorithms Introduction Proof By Induction Asymptotic notation.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
CSE 373: Analysis of Algorithms Course Webpage
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
Statistics Fall Introduction2 Wed, Aug 22, 2007 Introduction Dr. Robb T. Koether Office: Bagby 114 Office phone: Home phone: (before.
Welcome to Astronomy 113 “ It would seem that you have no useful skill or talent whatsoever, he said.
CSC 413/513: Intro to Algorithms Introduction Proof By Induction Asymptotic notation.
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Data Structures and Algorithms in Java AlaaEddin 2012.
2IL50 Data Structures Spring 2016 Lecture 2: Analysis of Algorithms.
Introduction to Algorithms 6.046J/18.401J/SMA5503 Lecture 1 Prof. Charles E. Leiserson.
Statistics Spring Introduction Dr. Robb T. Koether Office: Bagby 114 Office phone: Home phone: (before 11:00 p.m.) Office hours:
ICS 151 Digital Logic Design Spring 2004 Administrative Issues.
Statistics Spring Introduction2 Wed, Aug 22, 2007 Introduction Dr. Robb T. Koether Office: Bagby 114 Office phone: Home phone:
CIS 313: Analysis and Design of Algorithms Assoc. Prof Hassan Aly Department of Computer Science and Information College of Science at AzZulfi Al-Majmaah.
All important information will be posted on Blackboard
Course Information Mark Stanovich Principles of Operating Systems
MA Fall 2016 Instructor: Matt Weaver Office: MATH 615
Objective of This Course
Introduction to Algorithms Analysis
Class Rules and Explanations
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
COMPSCI 330 Design and Analysis of Algorithms
CS 232 Geometric Algorithms: Lecture 1
MA Fall Instructor: Tim Rolling -Office: MATH 719 -
Presentation transcript:

: Analysis of Algorithms Course Webpage And Blackboard COP4531 CGS5427

The Course Instructor: Piyush Kumar ( Office: Love 105B Phone: Office Hours: Tuesday 5:00pm - 6:00 pm; Thursday 4:00pm – 5:00pm; Or by appointment (use ) 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 >= 16 and f >= 40 Letter Grades based on sorted (h+f) 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 week) ( + One extra credit programming assignment ) Two MidTerms (Sep 28 th, Nov 4 th ) FINAL EXAM is on DEC 10th, 3:00pm to 5:00pm. Venue: In Class, Love 301

Homework 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 informationCourse Information

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 re-graded

Homework Policy Under no circumstances should you be copying others or modifying other people’s 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 don’t know” in any question in the exam/hw, you get 25% marks for that question/sub-question. In case you don’t 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 on The explanations The demos In-Class Quizzes Announcements Hints on homework and exams It’s 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? Don’t be afraid of me! Ask Questions in Class. Attend office hours. Feel free to visit me anytime (105b). Feel free to me. Feel free to call me Again: Ask Questions in Class (Don’t wait for others to ask them for you).

Web Pages : 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 that is listed on the blackboard. My address for the course is

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 journals. develop writing skills to present your own algorithms. 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 Correctness

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

Applications? 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 SearchI For I = 1 to N if (a[I] == x) return true; return false;

Linear Search II A[N+1] = x; I = 1; While A[I] != x ++I; if I == N+1 return false; Else return true;

A Rough Analysis N = CMPINC Search I Search II

Sorting Input: Input: Array A[1...n], of elements in arbitrary order Output: Array A[1...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 Initialize Get Midpoint Compare Adjust High Adjust Low Failure Success High < Low = < >

Binary Search Algorithm: Low= 1; High = n; while Low < High { m = floor( (Low+High)/2 ); if k <= A[m] then High = m - 1 else Low = m + 1 } if A[Low] = k then j = Low else j = 0

An Illustration Sorted Array: 5, 15, 19, 23, 27, 29, 31 Index :

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 time y = m * x + b c = 5 / 9 * (t - 32 ) z = f(x) + g(y) We can be more exact if need be

Analysis 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 “average”? 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

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

Solution 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, That’s the bottle we are looking for.

Induction Prove … + n = n(n+1) / 2 Basis: If n = 0, then 0 = 0(0+1) / 2 Inductive hypothesis: Assume … + n = n(n+1) / 2 Step (show true for n+1): … + n + n+1 = ( …+ n) + (n+1) = n(n+1)/2 + n+1 = [n(n+1) + 2(n+1)]/2 = (n+1)(n+2)/2 = (n+1)(n+1 + 1) / 2

Induction: A Fine example

Practice Problem Prove a 0 + a 1 + … + a n = (a n+1 - 1)/(a - 1) Read MI from the web.web

Homework problem: What’s 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(n+1): x^{(n+1)-1} = x^n = x^{n-1} * x^{n-1} / x^{n-2} = 1 * 1 / 1 = 1 !

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

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