SlideShare a Scribd company logo
Design and Analysis of Algorithms
Lecture 1
• Overview of the course
• Closest Pair problem
1
https://moodle.cse.iitk.ac.in
CS345A
Algorithms-II
Aim of the course
To empower each student with the skills to design algorithms
• With provable guarantee on correctness.
• With provable guarantee on their efficiency.
2
Algorithm Paradigm
Motivation:
• Many problems whose algorithms are based on a common approach.
➔ A need of a systematic study of the characteristics of such approaches.
Algorithm Paradigms:
• Divide and Conquer
• Greedy Strategy
• Dynamic Programming
3
(advanced)
(advanced)
Maximum Flow
Given a network for transporting certain commodity (water/bits)
from a designated source vertex 𝒔 and sink vertex 𝒕.
Each edge has a certain capacity (max rate per unit time at which commodity
can be pumped along that edge),
Compute the maximum rate at which we can pump flow from 𝒔 to 𝒕.
Constraints: capacity constraint and conservation constraint. 4
𝒔
𝒗
𝒖
𝒙
𝒚
𝒕
2
17
5
6
8
17
4
15
16
7
14
Miscellaneous
• Matching in Graphs
Maximum matching, Stable matching
• Amortized Analysis
A powerful technique to analyse time complexity of algorithms
• String Matching
• Linear Programming
5
Last topic on Algorithms
• NP Complete problems
• Approximation/randomized Algorithms
6
Data Structures
7
Data structures
• Augmented Binary Search Trees
• Range Minima Data structure (optimal size)
• Fibonacci Heap
8
: Additional information
Orthogonal Range searching
Problem: Preprocess a set of 𝒏 points so that given any query rectangle,
the number of points lying inside it can be reported efficiently.
Data structure:
size = O(𝒏 log 𝒏), Query = O( log2 𝒏),
size = O(𝒏), Query = O( 𝑛), 9
Rectangle
A novel application of augmented BST
Try to solve it…
You can surely do it…☺
Rectangle
Divide and Conquer
10
A paradigm for Algorithm Design
An Overview
A problem in this paradigm is solved in the following way.
1. Divide the problem instance into two or more instances of the same problem.
2. Solve each smaller instance recursively (base case suitably defined).
3. Combine the solutions of the smaller instances
to get the solution of the original instance.
11
This is usually the main nontrivial step
in the design of an algorithm using
divide and conquer strategy
Example Problems
1. Merge Sort
2. Multiplication of two 𝒏-bit integers.
3. Counting the number of inversions in an array.
4. Median finding in linear time.
12
PROBLEM 1
Closest Pair of Points
13
The Closest Pair Problem
14
𝜹
Closest Pair of Points
Problem Definition:
Given a set 𝑷 of 𝒏 > 𝟏 points in plane,
compute the pair of points with minimum Euclidean distance.
Deterministic algorithms:
• O(𝒏𝟐) : Trivial algorithm
• O(𝒏 𝐥𝐨𝐠 𝒏) : Divide and Conquer based algorithm
15
Hint/Tool No. 1
Exercise:
What is the maximum number of points that can be placed in a unit square
such that the minimum distance is at least 1 ?
Answer: 4.
16
1
1
2
A discrete math exercise
If there are more than
4 points, at least one
of the four small
squares will have
more than 1 points.
Hint/Tool No. 2
Question:
For which algorithmic problems do we need a suitable data structure ?
Answer:
If the problem involves “many” operations of same type on a given data.
For example, it is worth sorting an array only if there are going to be many
search queries on it.
Let us see if you can use this principle in today’s class itself ☺
17
When do we use a data structure ?
The divide step
18
𝒏
𝟐
points
𝒏
𝟐
points
The conquer step
19
𝜹𝑳
𝜹𝑹
Compute closest pair of the
left half set
Compute closest pair of the
right half set
Notice 𝜹𝑳 < 𝜹𝑹 for this given instance
The combine step
20
𝜹𝑳
𝜹𝑹
𝜹𝑳
𝜹𝑳
Which points do
we need to focus
on for the closest
pairs ?
The combine step
21
𝜹𝑳
𝜹𝑹
𝜹𝑳
𝜹𝑳
But there may still be Θ(𝑛2
)
pairs of points here So what
to do ?
The combine step
22
𝜹𝑳
𝜹𝑹
𝜹𝑳
𝜹𝑳
Focus on a point 𝒑 in
left strip.
Where do we have to search for the
points in the right strip that can form a
pair with 𝒑 at distance < 𝜹𝑳 ?
𝒑
The combine step
23
𝜹𝑳
𝜹𝑹
𝜹𝑳
𝜹𝑳
𝜹𝑳
𝜹𝑳
𝒑
The combine step
24
𝜹𝑳
𝜹𝑹
𝜹𝑳
𝜹𝑳
𝜹𝑳
𝜹𝑳
Only the points lying in these
2 red squares are relevant as
far as 𝒑 is concerned.
𝒑
How many points can
there be in these 2 red
squares each of length𝜹𝑳?
Surely not more than 8
(using Hint 1)
How to find the points in
these red square for point 𝒑 ?
It will take O(𝒏) time for a given 𝒑.
It is time to use Hint/Tool no. 2.
Think for a while before going to
the next slide.
The combine step
25
𝜹𝑳
𝜹𝑹
𝜹𝑳
𝜹𝑳
𝜹𝑳
𝜹𝑳
We need to find points in the
2 red square for every point
in the left strip.
So build a suitable data structure
for points in the right strip so that
we can answer such query efficiently
for each point in the left strip.
What will be
the data structure ?
An array storing the points of
the right strip in increasing
order of y-coordinates.
𝜹𝑳
𝜹𝑳
𝜹𝑳
𝜹𝑳
Divide and Conquer based algorithm
CP-Distance(𝑃)
{ If (| 𝑃 |=1 ) return infinity;
{ Compute 𝑥-median of 𝑃;
(𝑃𝐿, 𝑃𝑅)Split-by-𝑥-median(𝑃);
𝜹𝑳 CP-Distance(𝑃𝐿) ;
𝜹𝑹 CP-Distance(𝑃𝑅) ;
𝜹 min(𝜹𝑳, 𝜹𝑹);
𝑆𝐿  strip of 𝑃𝐿;
𝑆𝑅  strip of 𝑃𝑅;
𝐴  Sorted array of 𝑆𝑅;
For each 𝑝 ∈ 𝑆𝐿,
𝒚  y-coordinate of 𝑝;
Search 𝐴 for points with y-coordinate within 𝒚 ± 𝜹;
Compute distance from 𝑝 to each of these points;
Update 𝜹 accordingly;
return 𝜹;
}
26
Divide step
Combine/conquer step
𝑶( 𝐏 log 𝐏) time
𝑶( 𝐏 ) + 2 T(|𝐏|/2) time
Running time of the algorithm
What is the recurrence for running time?
T(𝑛) = c 𝑛 log 𝑛 + 2 T(𝑛/2)
➔
T(𝑛) = O( 𝑛 log2𝑛)
Theorem:
There exists an O( 𝑛 log2𝑛) time algorithm to compute closest pair of 𝑛 points
in plane.
27
Conclusion
Homework:
1. Try to improve the running time to O( 𝑛 log 𝑛).
Hint: “the code will look similar to that of MergeSort”.
2. Ponder over the data structure for orthogonal range searching.
28
How does one design an algorithm ?
If you wish to find the answer on your own,
try to solve the first assignment problem on your own.
29
Without any help from the web
Without any help from the your friends
Assignment 1
Smallest Enclosing circle
Problem definition: Given 𝒏 points in a plane,
compute the smallest radius circle that encloses all 𝒏 point.
30

More Related Content

Similar to CS345-Algorithms-II-Lecture-1-CS345-2016.pdf

Ch24 efficient algorithms
Ch24 efficient algorithmsCh24 efficient algorithms
Ch24 efficient algorithmsrajatmay1992
 
chapter 1
chapter 1chapter 1
chapter 1
yatheesha
 
MATLABgraphPlotting.pptx
MATLABgraphPlotting.pptxMATLABgraphPlotting.pptx
MATLABgraphPlotting.pptx
PrabhakarSingh646829
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1chidabdu
 
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
Naoki Shibata
 
Algorithm Design and Analysis
Algorithm Design and AnalysisAlgorithm Design and Analysis
Algorithm Design and Analysis
Sayed Chhattan Shah
 
Numerical Methods
Numerical MethodsNumerical Methods
Numerical Methods
ESUG
 
Algorithm review
Algorithm reviewAlgorithm review
Algorithm reviewchidabdu
 
complexity analysis.pdf
complexity analysis.pdfcomplexity analysis.pdf
complexity analysis.pdf
pasinduneshan
 
19IS402_LP1_LM_22-23.pdf
19IS402_LP1_LM_22-23.pdf19IS402_LP1_LM_22-23.pdf
19IS402_LP1_LM_22-23.pdf
GOWTHAMR721887
 
Discrete structure ch 3 short question's
Discrete structure ch 3 short question'sDiscrete structure ch 3 short question's
Discrete structure ch 3 short question's
hammad463061
 
Lecture 7.pptx
Lecture 7.pptxLecture 7.pptx
Lecture 7.pptx
Arul Jothi Yuvaraja
 
Unit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptxUnit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptx
ssuser01e301
 
04 Multi-layer Feedforward Networks
04 Multi-layer Feedforward Networks04 Multi-layer Feedforward Networks
04 Multi-layer Feedforward Networks
Tamer Ahmed Farrag, PhD
 
Class13_Quicksort_Algorithm.pdf
Class13_Quicksort_Algorithm.pdfClass13_Quicksort_Algorithm.pdf
Class13_Quicksort_Algorithm.pdf
AkashSingh625550
 
Design & Analysis Of Algorithm
Design & Analysis Of AlgorithmDesign & Analysis Of Algorithm
Design & Analysis Of Algorithm
Computer Hardware & Trouble shooting
 
Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...
AmirParnianifard1
 
Paper Study: Melding the data decision pipeline
Paper Study: Melding the data decision pipelinePaper Study: Melding the data decision pipeline
Paper Study: Melding the data decision pipeline
ChenYiHuang5
 

Similar to CS345-Algorithms-II-Lecture-1-CS345-2016.pdf (20)

Ch24 efficient algorithms
Ch24 efficient algorithmsCh24 efficient algorithms
Ch24 efficient algorithms
 
chapter 1
chapter 1chapter 1
chapter 1
 
MATLABgraphPlotting.pptx
MATLABgraphPlotting.pptxMATLABgraphPlotting.pptx
MATLABgraphPlotting.pptx
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1
 
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
(Slides) Efficient Evaluation Methods of Elementary Functions Suitable for SI...
 
Algorithm Design and Analysis
Algorithm Design and AnalysisAlgorithm Design and Analysis
Algorithm Design and Analysis
 
Numerical Methods
Numerical MethodsNumerical Methods
Numerical Methods
 
Algorithm review
Algorithm reviewAlgorithm review
Algorithm review
 
complexity analysis.pdf
complexity analysis.pdfcomplexity analysis.pdf
complexity analysis.pdf
 
19IS402_LP1_LM_22-23.pdf
19IS402_LP1_LM_22-23.pdf19IS402_LP1_LM_22-23.pdf
19IS402_LP1_LM_22-23.pdf
 
A0280115(1)
A0280115(1)A0280115(1)
A0280115(1)
 
Discrete structure ch 3 short question's
Discrete structure ch 3 short question'sDiscrete structure ch 3 short question's
Discrete structure ch 3 short question's
 
Lecture 7.pptx
Lecture 7.pptxLecture 7.pptx
Lecture 7.pptx
 
Unit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptxUnit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptx
 
Cis435 week02
Cis435 week02Cis435 week02
Cis435 week02
 
04 Multi-layer Feedforward Networks
04 Multi-layer Feedforward Networks04 Multi-layer Feedforward Networks
04 Multi-layer Feedforward Networks
 
Class13_Quicksort_Algorithm.pdf
Class13_Quicksort_Algorithm.pdfClass13_Quicksort_Algorithm.pdf
Class13_Quicksort_Algorithm.pdf
 
Design & Analysis Of Algorithm
Design & Analysis Of AlgorithmDesign & Analysis Of Algorithm
Design & Analysis Of Algorithm
 
Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...
 
Paper Study: Melding the data decision pipeline
Paper Study: Melding the data decision pipelinePaper Study: Melding the data decision pipeline
Paper Study: Melding the data decision pipeline
 

Recently uploaded

Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 

Recently uploaded (20)

Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 

CS345-Algorithms-II-Lecture-1-CS345-2016.pdf

  • 1. Design and Analysis of Algorithms Lecture 1 • Overview of the course • Closest Pair problem 1 https://moodle.cse.iitk.ac.in CS345A Algorithms-II
  • 2. Aim of the course To empower each student with the skills to design algorithms • With provable guarantee on correctness. • With provable guarantee on their efficiency. 2
  • 3. Algorithm Paradigm Motivation: • Many problems whose algorithms are based on a common approach. ➔ A need of a systematic study of the characteristics of such approaches. Algorithm Paradigms: • Divide and Conquer • Greedy Strategy • Dynamic Programming 3 (advanced) (advanced)
  • 4. Maximum Flow Given a network for transporting certain commodity (water/bits) from a designated source vertex 𝒔 and sink vertex 𝒕. Each edge has a certain capacity (max rate per unit time at which commodity can be pumped along that edge), Compute the maximum rate at which we can pump flow from 𝒔 to 𝒕. Constraints: capacity constraint and conservation constraint. 4 𝒔 𝒗 𝒖 𝒙 𝒚 𝒕 2 17 5 6 8 17 4 15 16 7 14
  • 5. Miscellaneous • Matching in Graphs Maximum matching, Stable matching • Amortized Analysis A powerful technique to analyse time complexity of algorithms • String Matching • Linear Programming 5
  • 6. Last topic on Algorithms • NP Complete problems • Approximation/randomized Algorithms 6
  • 8. Data structures • Augmented Binary Search Trees • Range Minima Data structure (optimal size) • Fibonacci Heap 8 : Additional information
  • 9. Orthogonal Range searching Problem: Preprocess a set of 𝒏 points so that given any query rectangle, the number of points lying inside it can be reported efficiently. Data structure: size = O(𝒏 log 𝒏), Query = O( log2 𝒏), size = O(𝒏), Query = O( 𝑛), 9 Rectangle A novel application of augmented BST Try to solve it… You can surely do it…☺ Rectangle
  • 10. Divide and Conquer 10 A paradigm for Algorithm Design
  • 11. An Overview A problem in this paradigm is solved in the following way. 1. Divide the problem instance into two or more instances of the same problem. 2. Solve each smaller instance recursively (base case suitably defined). 3. Combine the solutions of the smaller instances to get the solution of the original instance. 11 This is usually the main nontrivial step in the design of an algorithm using divide and conquer strategy
  • 12. Example Problems 1. Merge Sort 2. Multiplication of two 𝒏-bit integers. 3. Counting the number of inversions in an array. 4. Median finding in linear time. 12
  • 13. PROBLEM 1 Closest Pair of Points 13
  • 14. The Closest Pair Problem 14 𝜹
  • 15. Closest Pair of Points Problem Definition: Given a set 𝑷 of 𝒏 > 𝟏 points in plane, compute the pair of points with minimum Euclidean distance. Deterministic algorithms: • O(𝒏𝟐) : Trivial algorithm • O(𝒏 𝐥𝐨𝐠 𝒏) : Divide and Conquer based algorithm 15
  • 16. Hint/Tool No. 1 Exercise: What is the maximum number of points that can be placed in a unit square such that the minimum distance is at least 1 ? Answer: 4. 16 1 1 2 A discrete math exercise If there are more than 4 points, at least one of the four small squares will have more than 1 points.
  • 17. Hint/Tool No. 2 Question: For which algorithmic problems do we need a suitable data structure ? Answer: If the problem involves “many” operations of same type on a given data. For example, it is worth sorting an array only if there are going to be many search queries on it. Let us see if you can use this principle in today’s class itself ☺ 17 When do we use a data structure ?
  • 19. The conquer step 19 𝜹𝑳 𝜹𝑹 Compute closest pair of the left half set Compute closest pair of the right half set Notice 𝜹𝑳 < 𝜹𝑹 for this given instance
  • 20. The combine step 20 𝜹𝑳 𝜹𝑹 𝜹𝑳 𝜹𝑳 Which points do we need to focus on for the closest pairs ?
  • 21. The combine step 21 𝜹𝑳 𝜹𝑹 𝜹𝑳 𝜹𝑳 But there may still be Θ(𝑛2 ) pairs of points here So what to do ?
  • 22. The combine step 22 𝜹𝑳 𝜹𝑹 𝜹𝑳 𝜹𝑳 Focus on a point 𝒑 in left strip. Where do we have to search for the points in the right strip that can form a pair with 𝒑 at distance < 𝜹𝑳 ? 𝒑
  • 24. The combine step 24 𝜹𝑳 𝜹𝑹 𝜹𝑳 𝜹𝑳 𝜹𝑳 𝜹𝑳 Only the points lying in these 2 red squares are relevant as far as 𝒑 is concerned. 𝒑 How many points can there be in these 2 red squares each of length𝜹𝑳? Surely not more than 8 (using Hint 1) How to find the points in these red square for point 𝒑 ? It will take O(𝒏) time for a given 𝒑. It is time to use Hint/Tool no. 2. Think for a while before going to the next slide.
  • 25. The combine step 25 𝜹𝑳 𝜹𝑹 𝜹𝑳 𝜹𝑳 𝜹𝑳 𝜹𝑳 We need to find points in the 2 red square for every point in the left strip. So build a suitable data structure for points in the right strip so that we can answer such query efficiently for each point in the left strip. What will be the data structure ? An array storing the points of the right strip in increasing order of y-coordinates. 𝜹𝑳 𝜹𝑳 𝜹𝑳 𝜹𝑳
  • 26. Divide and Conquer based algorithm CP-Distance(𝑃) { If (| 𝑃 |=1 ) return infinity; { Compute 𝑥-median of 𝑃; (𝑃𝐿, 𝑃𝑅)Split-by-𝑥-median(𝑃); 𝜹𝑳 CP-Distance(𝑃𝐿) ; 𝜹𝑹 CP-Distance(𝑃𝑅) ; 𝜹 min(𝜹𝑳, 𝜹𝑹); 𝑆𝐿  strip of 𝑃𝐿; 𝑆𝑅  strip of 𝑃𝑅; 𝐴  Sorted array of 𝑆𝑅; For each 𝑝 ∈ 𝑆𝐿, 𝒚  y-coordinate of 𝑝; Search 𝐴 for points with y-coordinate within 𝒚 ± 𝜹; Compute distance from 𝑝 to each of these points; Update 𝜹 accordingly; return 𝜹; } 26 Divide step Combine/conquer step 𝑶( 𝐏 log 𝐏) time 𝑶( 𝐏 ) + 2 T(|𝐏|/2) time
  • 27. Running time of the algorithm What is the recurrence for running time? T(𝑛) = c 𝑛 log 𝑛 + 2 T(𝑛/2) ➔ T(𝑛) = O( 𝑛 log2𝑛) Theorem: There exists an O( 𝑛 log2𝑛) time algorithm to compute closest pair of 𝑛 points in plane. 27
  • 28. Conclusion Homework: 1. Try to improve the running time to O( 𝑛 log 𝑛). Hint: “the code will look similar to that of MergeSort”. 2. Ponder over the data structure for orthogonal range searching. 28
  • 29. How does one design an algorithm ? If you wish to find the answer on your own, try to solve the first assignment problem on your own. 29 Without any help from the web Without any help from the your friends
  • 30. Assignment 1 Smallest Enclosing circle Problem definition: Given 𝒏 points in a plane, compute the smallest radius circle that encloses all 𝒏 point. 30