SlideShare a Scribd company logo
1 of 10
Download to read offline
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Grading Policy
Introduction
9
¨ Grading:
¤ Homework: 15%
¤ Programming: (two mini-projects: 10% + project: 25%)
¤ Exams: (Midterm: 25% + Final: 25%)
¨ Homework  programming:
¤ Discussions are encouraged. However, solutions should be
written individually and separately (no credits for plagiarism)
¤ No late submission (partial solutions may get partial credits)
¤ Homework is usually due in two weeks
¤ Programming assignments are usually due in two or three weeks
¨ Exams
¤ No discussions, solutions should be written individually
IRIS H.-R. JIANG
What is an Algorithm?
Introduction
10
¨ Definition: An algorithm is
¤ A finite, definite, effective procedure, with some output
[Donald Knuth, 1968]
¤ Input: may have
¤ Output: must have
¤ Definiteness: must be clear and unambiguous
¤ Finiteness: terminate after a finite number of steps
¤ Effectiveness: must be basic and feasible with pencil and paper
¤ Procedure: the sequence of specific steps in a logical order
¨ Cf. An algorithm is
¤ A well-defined procedure for transforming some input to a desired
output [Cormen et al. Introduction to Algorithms, 2nd Ed.]
problem solution
Problem-solving
procedure
IRIS H.-R. JIANG
Grading Policy
Introduction
9
¨ Grading:
¤ Homework: 15%
¤ Programming: (two mini-projects: 10% + project: 25%)
¤ Exams: (Midterm: 25% + Final: 25%)
¨ Homework  programming:
¤ Discussions are encouraged. However, solutions should be
written individually and separately (no credits for plagiarism)
¤ No late submission (partial solutions may get partial credits)
¤ Homework is usually due in two weeks
¤ Programming assignments are usually due in two or three weeks
¨ Exams
¤ No discussions, solutions should be written individually
IRIS H.-R. JIANG
What is an Algorithm?
Introduction
10
¨ Definition: An algorithm is
¤ A finite, definite, effective procedure, with some output
[Donald Knuth, 1968]
¤ Input: may have
¤ Output: must have
¤ Definiteness: must be clear and unambiguous
¤ Finiteness: terminate after a finite number of steps
¤ Effectiveness: must be basic and feasible with pencil and paper
¤ Procedure: the sequence of specific steps in a logical order
¨ Cf. An algorithm is
¤ A well-defined procedure for transforming some input to a desired
output [Cormen et al. Introduction to Algorithms, 2nd Ed.]
problem solution
Problem-solving
procedure

More Related Content

Similar to algorithm_0introdunction.pdf

Algorithms - Jeff Erickson.pdf
Algorithms - Jeff Erickson.pdfAlgorithms - Jeff Erickson.pdf
Algorithms - Jeff Erickson.pdfHannah Baker
 
K-12 Computer Science Framework GaDOE Update
K-12 Computer Science Framework GaDOE UpdateK-12 Computer Science Framework GaDOE Update
K-12 Computer Science Framework GaDOE UpdateTony Vlachakis
 
Technical Writing.ppt
Technical Writing.pptTechnical Writing.ppt
Technical Writing.pptjehovah
 
Discrete Structure
Discrete Structure Discrete Structure
Discrete Structure Syed Shah
 
Course contents
Course contentsCourse contents
Course contentsSyed Shah
 
A323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.pptA323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.pptCheriviralaNikhil
 
New books dec 2012
New books dec 2012New books dec 2012
New books dec 2012maethaya
 
finding nobel prize window by PageRank
finding nobel prize window by PageRankfinding nobel prize window by PageRank
finding nobel prize window by PageRankYuji Fujita
 
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...YanNaingSoe33
 
Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...Josh Sheldon
 
Do you think OOP when writing topics?
Do you think OOP when writing topics?Do you think OOP when writing topics?
Do you think OOP when writing topics?Gunnar Krause
 
CS8451 DAA Unit-I.pptx
CS8451 DAA Unit-I.pptxCS8451 DAA Unit-I.pptx
CS8451 DAA Unit-I.pptxBolliniNivas
 
How to become a data scientist
How to become a data scientist How to become a data scientist
How to become a data scientist Manjunath Sindagi
 
ENG101 LECTURE 13 TECHNICAL REPORT.pptx
ENG101 LECTURE 13 TECHNICAL  REPORT.pptxENG101 LECTURE 13 TECHNICAL  REPORT.pptx
ENG101 LECTURE 13 TECHNICAL REPORT.pptxBismark Budu
 
Thriving in Our Digital World — A CS Principles Course
Thriving in Our Digital World — A CS Principles CourseThriving in Our Digital World — A CS Principles Course
Thriving in Our Digital World — A CS Principles CourseGeorge Veletsianos
 
Data Science Training and Placement
Data Science Training and PlacementData Science Training and Placement
Data Science Training and PlacementAkhilGGM
 
Dms introduction Sharmila Chidaravalli
Dms introduction Sharmila ChidaravalliDms introduction Sharmila Chidaravalli
Dms introduction Sharmila ChidaravalliSharmilaChidaravalli
 

Similar to algorithm_0introdunction.pdf (20)

Gate
GateGate
Gate
 
Algorithms - Jeff Erickson.pdf
Algorithms - Jeff Erickson.pdfAlgorithms - Jeff Erickson.pdf
Algorithms - Jeff Erickson.pdf
 
K-12 Computer Science Framework GaDOE Update
K-12 Computer Science Framework GaDOE UpdateK-12 Computer Science Framework GaDOE Update
K-12 Computer Science Framework GaDOE Update
 
Technical Writing.ppt
Technical Writing.pptTechnical Writing.ppt
Technical Writing.ppt
 
Discrete Structure
Discrete Structure Discrete Structure
Discrete Structure
 
Course contents
Course contentsCourse contents
Course contents
 
A323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.pptA323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.ppt
 
New books dec 2012
New books dec 2012New books dec 2012
New books dec 2012
 
Research skills
Research skillsResearch skills
Research skills
 
finding nobel prize window by PageRank
finding nobel prize window by PageRankfinding nobel prize window by PageRank
finding nobel prize window by PageRank
 
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
 
FDS Unit I_PPT.pptx
FDS Unit I_PPT.pptxFDS Unit I_PPT.pptx
FDS Unit I_PPT.pptx
 
Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...
 
Do you think OOP when writing topics?
Do you think OOP when writing topics?Do you think OOP when writing topics?
Do you think OOP when writing topics?
 
CS8451 DAA Unit-I.pptx
CS8451 DAA Unit-I.pptxCS8451 DAA Unit-I.pptx
CS8451 DAA Unit-I.pptx
 
How to become a data scientist
How to become a data scientist How to become a data scientist
How to become a data scientist
 
ENG101 LECTURE 13 TECHNICAL REPORT.pptx
ENG101 LECTURE 13 TECHNICAL  REPORT.pptxENG101 LECTURE 13 TECHNICAL  REPORT.pptx
ENG101 LECTURE 13 TECHNICAL REPORT.pptx
 
Thriving in Our Digital World — A CS Principles Course
Thriving in Our Digital World — A CS Principles CourseThriving in Our Digital World — A CS Principles Course
Thriving in Our Digital World — A CS Principles Course
 
Data Science Training and Placement
Data Science Training and PlacementData Science Training and Placement
Data Science Training and Placement
 
Dms introduction Sharmila Chidaravalli
Dms introduction Sharmila ChidaravalliDms introduction Sharmila Chidaravalli
Dms introduction Sharmila Chidaravalli
 

More from HsuChi Chen

algorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdfalgorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdfHsuChi Chen
 
algorithm_1introdunction.pdf
algorithm_1introdunction.pdfalgorithm_1introdunction.pdf
algorithm_1introdunction.pdfHsuChi Chen
 
algorithm_9linear_programming.pdf
algorithm_9linear_programming.pdfalgorithm_9linear_programming.pdf
algorithm_9linear_programming.pdfHsuChi Chen
 
algorithm_4greedy_algorithms.pdf
algorithm_4greedy_algorithms.pdfalgorithm_4greedy_algorithms.pdf
algorithm_4greedy_algorithms.pdfHsuChi Chen
 
algorithm_3graphs.pdf
algorithm_3graphs.pdfalgorithm_3graphs.pdf
algorithm_3graphs.pdfHsuChi Chen
 
algorithm_7network_flow.pdf
algorithm_7network_flow.pdfalgorithm_7network_flow.pdf
algorithm_7network_flow.pdfHsuChi Chen
 
algorithm_2algorithm_analysis.pdf
algorithm_2algorithm_analysis.pdfalgorithm_2algorithm_analysis.pdf
algorithm_2algorithm_analysis.pdfHsuChi Chen
 
algorithm_8beyond_polynomial_running_times.pdf
algorithm_8beyond_polynomial_running_times.pdfalgorithm_8beyond_polynomial_running_times.pdf
algorithm_8beyond_polynomial_running_times.pdfHsuChi Chen
 
algorithm_5divide_and_conquer.pdf
algorithm_5divide_and_conquer.pdfalgorithm_5divide_and_conquer.pdf
algorithm_5divide_and_conquer.pdfHsuChi Chen
 
期末專題報告書
期末專題報告書期末專題報告書
期末專題報告書HsuChi Chen
 
單晶片期末專題-報告二
單晶片期末專題-報告二單晶片期末專題-報告二
單晶片期末專題-報告二HsuChi Chen
 
單晶片期末專題-報告一
單晶片期末專題-報告一單晶片期末專題-報告一
單晶片期末專題-報告一HsuChi Chen
 
模組化課程生醫微製程期末報告
模組化課程生醫微製程期末報告模組化課程生醫微製程期末報告
模組化課程生醫微製程期末報告HsuChi Chen
 
單晶片期末專題-初步想法
單晶片期末專題-初步想法單晶片期末專題-初步想法
單晶片期末專題-初步想法HsuChi Chen
 

More from HsuChi Chen (14)

algorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdfalgorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdf
 
algorithm_1introdunction.pdf
algorithm_1introdunction.pdfalgorithm_1introdunction.pdf
algorithm_1introdunction.pdf
 
algorithm_9linear_programming.pdf
algorithm_9linear_programming.pdfalgorithm_9linear_programming.pdf
algorithm_9linear_programming.pdf
 
algorithm_4greedy_algorithms.pdf
algorithm_4greedy_algorithms.pdfalgorithm_4greedy_algorithms.pdf
algorithm_4greedy_algorithms.pdf
 
algorithm_3graphs.pdf
algorithm_3graphs.pdfalgorithm_3graphs.pdf
algorithm_3graphs.pdf
 
algorithm_7network_flow.pdf
algorithm_7network_flow.pdfalgorithm_7network_flow.pdf
algorithm_7network_flow.pdf
 
algorithm_2algorithm_analysis.pdf
algorithm_2algorithm_analysis.pdfalgorithm_2algorithm_analysis.pdf
algorithm_2algorithm_analysis.pdf
 
algorithm_8beyond_polynomial_running_times.pdf
algorithm_8beyond_polynomial_running_times.pdfalgorithm_8beyond_polynomial_running_times.pdf
algorithm_8beyond_polynomial_running_times.pdf
 
algorithm_5divide_and_conquer.pdf
algorithm_5divide_and_conquer.pdfalgorithm_5divide_and_conquer.pdf
algorithm_5divide_and_conquer.pdf
 
期末專題報告書
期末專題報告書期末專題報告書
期末專題報告書
 
單晶片期末專題-報告二
單晶片期末專題-報告二單晶片期末專題-報告二
單晶片期末專題-報告二
 
單晶片期末專題-報告一
單晶片期末專題-報告一單晶片期末專題-報告一
單晶片期末專題-報告一
 
模組化課程生醫微製程期末報告
模組化課程生醫微製程期末報告模組化課程生醫微製程期末報告
模組化課程生醫微製程期末報告
 
單晶片期末專題-初步想法
單晶片期末專題-初步想法單晶片期末專題-初步想法
單晶片期末專題-初步想法
 

Recently uploaded

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Recently uploaded (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

algorithm_0introdunction.pdf

  • 1. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 2. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 3. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 4. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 5. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 6. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 7. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 8. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 9. IRIS H.-R. JIANG Grading Policy Introduction 9 ¨ Grading: ¤ Homework: 15% ¤ Programming: (two mini-projects: 10% + project: 25%) ¤ Exams: (Midterm: 25% + Final: 25%) ¨ Homework programming: ¤ Discussions are encouraged. However, solutions should be written individually and separately (no credits for plagiarism) ¤ No late submission (partial solutions may get partial credits) ¤ Homework is usually due in two weeks ¤ Programming assignments are usually due in two or three weeks ¨ Exams ¤ No discussions, solutions should be written individually IRIS H.-R. JIANG What is an Algorithm? Introduction 10 ¨ Definition: An algorithm is ¤ A finite, definite, effective procedure, with some output [Donald Knuth, 1968] ¤ Input: may have ¤ Output: must have ¤ Definiteness: must be clear and unambiguous ¤ Finiteness: terminate after a finite number of steps ¤ Effectiveness: must be basic and feasible with pencil and paper ¤ Procedure: the sequence of specific steps in a logical order ¨ Cf. An algorithm is ¤ A well-defined procedure for transforming some input to a desired output [Cormen et al. Introduction to Algorithms, 2nd Ed.] problem solution Problem-solving procedure
  • 10. IRIS H.-R. JIANG Grading Policy Introduction 9 ¨ Grading: ¤ Homework: 15% ¤ Programming: (two mini-projects: 10% + project: 25%) ¤ Exams: (Midterm: 25% + Final: 25%) ¨ Homework programming: ¤ Discussions are encouraged. However, solutions should be written individually and separately (no credits for plagiarism) ¤ No late submission (partial solutions may get partial credits) ¤ Homework is usually due in two weeks ¤ Programming assignments are usually due in two or three weeks ¨ Exams ¤ No discussions, solutions should be written individually IRIS H.-R. JIANG What is an Algorithm? Introduction 10 ¨ Definition: An algorithm is ¤ A finite, definite, effective procedure, with some output [Donald Knuth, 1968] ¤ Input: may have ¤ Output: must have ¤ Definiteness: must be clear and unambiguous ¤ Finiteness: terminate after a finite number of steps ¤ Effectiveness: must be basic and feasible with pencil and paper ¤ Procedure: the sequence of specific steps in a logical order ¨ Cf. An algorithm is ¤ A well-defined procedure for transforming some input to a desired output [Cormen et al. Introduction to Algorithms, 2nd Ed.] problem solution Problem-solving procedure