ARTICULATION
POINT
Presented By -
S. Harish Mrithyunjayan (24AI06)
WHAT IS ARTICULATION
POINT
An articulation point in a graph is a vertex whose removal,
along with its associated edges, increases the number of
connected components in the graph. In simpler terms, it's a
critical point in the graph that, if removed, would break the
graph into separate parts, making it disconnected.
FORMULATION OF ARTICULATION
POINT
Let G=(V,E) be a connected, undirected graph. An articulation
point of G is a vertex whose removal disconnects G. A bridge
of G is an edge whose removal disconnects G. A biconnected
component of G is a maximal set of edges such that any two
edges in the set lie on a common simple cycle. F
O N P O I N T
T I
A RT I C U L A
-c o l o r ed nodes
The dark b l a c k or dark
d i n
(highlighte u l a t i o n points.
r t i c
gray) are a ical vertices
crit
These are d , would
re m o v e
that, if g r a ph o r
c t t h e
disconne u mber of
s e t h e n
increa p onents.
t ed c o m
connec
HOW TO FIND THE
ARTICULATION POINT IN A
• One common method to find GRAPH
• DFS-Based Algorithm:
articulation points is to use Depth-First Search
(DFS). The algorithm maintains discovery and low values for each vertex to
determine articulation points. Here’s a brief outline:
⚬ Discovery Time: The time when a vertex is first visited.
⚬ Low Value: The smallest discovery time reachable from the vertex.
⚬ A vertex is an articulation point if:
■ It is the root of DFS and has two or more children.
■ It is not the root and has a child such that no vertex in the subtree
rooted with the child has a back edge to one of the ancestors of the
vertex.
• DFS Algorithm Steps:
• Perform DFS traversal from an arbitrary vertex.
• Track discovery times and low values for each vertex.
• Use these values to identify articulation points based on the conditions
described.
ALGORITHMS TO FIND ARTICULATION
POINTS
One common algorithm to find articulation points is Tarjan's Algorithm, which
uses Depth-First Search (DFS) and operates in linear time, O(V+E)O(V +
E)O(V+E), where VVV is the number of vertices and EEE is the number of edges.
Here's a high-level outline of how the algorithm works:
1.DFS Traversal: Perform a DFS traversal of the graph.
2.Discovery and Low Values: Track discovery times and low values for each
vertex.
3.Articulation Point Identification: Use the discovery and low values to
determine which vertices are articulation points.
Understanding and implementing articulation points can greatly enhance the
efficiency and reliability of systems that rely on interconnected structures.
4. Tarjan’s Algorithm for Articulation Points:
• Purpose: Finds all articulation points in a graph.
• Approach: Uses Depth-First Search (DFS) to compute discovery and
low values, identifying articulation points based on these values.
• Complexity: O(V+E)O(V + E)O(V+E), where VVV is the number of
vertices and EEE is the number of edges.
APPLICATION
S
1. Network Design and Reliability:
• Fault Tolerance: In communication networks or distributed
systems, articulation points represent critical nodes whose
failure can disrupt the connectivity of the entire network.
Identifying these points helps in designing more robust
networks by adding redundancy or improving fault
tolerance.
• Network Robustness: Helps in evaluating the robustness of
a network and planning for enhancements to avoid single
points of failure.
2. Graph Traversal and Connectivity:
• Connectivity Analysis: Used in algorithms that analyze the
connectivity of graphs. For instance, finding articulation
points is essential in understanding how the removal of
certain nodes impacts the overall structure of the network.
3. Database Design:
• Hierarchical Structures: In database design involving
hierarchical structures (like organizational charts),
articulation points can help identify crucial nodes that hold
the structure together. This can be useful for optimizing
queries or for backup strategies.
4. Software Engineering:
• Dependency Management: In software systems, especially
those with complex dependencies (e.g., module or package
dependencies), articulation points can identify critical
components whose failure would affect other parts of the
system. This can guide refactoring and dependency
management.
5. Computer Security:
• Vulnerability Assessment: In cybersecurity, articulation
points can help identify critical nodes in a network that are
potential targets for attacks. Securing these points is
crucial for maintaining overall network security.
THANK YOU