Problem on Graph Theory and Algorithms

In summary, Graph Theory is a branch of mathematics that focuses on the study of graphs, which are mathematical structures that represent relationships between objects through vertices and edges. It has various real-world applications in fields such as computer science, social networks, and biology. In the context of Graph Theory, an algorithm is a set of instructions for solving graph-related problems, and the complexity of a problem can be determined by analyzing the number of vertices and edges, as well as the required operations. Some common algorithms used in Graph Theory are Dijkstra's algorithm, Prim's algorithm, Depth-First Search, Breadth-First Search, Kruskal's algorithm, Bellman-Ford algorithm, and Floyd-Warshall algorithm.
  • #1
Chinta
8
0
The problem is as follows:
---------------------------------------------------------------------------------------------------------------------------------
Let G be a connected graph.

For a vertex x of G we denote by G−x the graph formed by removing x and all edges incident on x from G. G is said to be good if there are at
least two distinct vertices x,y in G such that both G − x and G − y are connected.

(i) Show that for any subgraph H of G, H is good if and only if G is good.

(ii) Given a good graph, devise a linear time algorithm to find two such vertices.

(iii) Show that there exists a graph G such that we cannot find three distinct vertices
u1,u2,u3such that each of G − u1,G − u2, and G − u3 is connected.
---------------------------------------------------------------------------------------------------------------------------------
I have approached to some extent. Here is what I've done:

If G is a connected graph then we can easily find its spanning tree and then removing any two leaves x and y from the tree one at a time gives us 2 another graphs G − x and G − y such that they are both connected.

"Hence any connected graph G is a good graph."

1. I'm stuck on how to solve part (i).

2. I have designed the algorithm for the part(ii) which extracts the spanning tree from G and then finds two such leaves x and y. Clearly
it is linear in terms of #vertices(=n) & #edges(=m) i.e. O(n+m)

3. I have also solved the third part with a graph as follows:

O------------------O-----------------O

In the above graph G we denote three vertices as u1, u2, u3. The edges are (u1,u2) and (u2,u3). Clearly G − u2 is not connected.

Please help me in solving part(i).

Thanks in advance :)
 
Physics news on Phys.org
  • #2
Chinta said:
The problem is as follows:
---------------------------------------------------------------------------------------------------------------------------------
Let G be a connected graph.

For a vertex x of G we denote by G−x the graph formed by removing x and all edges incident on x from G. G is said to be good if there are at least two distinct vertices x,y in G such that both G − x and G − y are connected.

(i) Show that for any subgraph H of G, H is good if and only if G is good.

(ii) Given a good graph, devise a linear time algorithm to find two such vertices.

(iii) Show that there exists a graph G such that we cannot find three distinct vertices
u1,u2,u3such that each of G − u1,G − u2, and G − u3 is connected.
---------------------------------------------------------------------------------------------------------------------------------
I have approached to some extent. Here is what I've done:

If G is a connected graph then we can easily find its spanning tree and then removing any two leaves x and y from the tree one at a time gives us 2 another graphs G − x and G − y such that they are both connected.

"Hence any connected graph G is a good graph."

1. I'm stuck on how to solve part (i).

2. I have designed the algorithm for the part(ii) which extracts the spanning tree from G and then finds two such leaves x and y. Clearly
it is linear in terms of #vertices(=n) & #edges(=m) i.e. O(n+m)

3. I have also solved the third part with a graph as follows:

O------------------O-----------------O

In the above graph G we denote three vertices as u1, u2, u3. The edges are (u1,u2) and (u2,u3). Clearly G − u2 is not connected.

Please help me in solving part(i).

Thanks in advance :)

Hi Chinta, :)

I think the first statement that you want to prove is in fact a false statement. For example take \(H=C_{4}\) where \(C_{4}\) is the cycle graph of four vertices. Now let \(G\) be the graph obtained by adding a single vertex to \(H\). Then it is clear that \(H\) is a sub-graph of \(G\). However, \(H\) is a good graph but \(G\) is not a good graph.

By the way can you please tell me where you found this question? :)

Kind Regards,
Sudharaka.
 
  • #3
Actually I've got this answer that the question was wrong right after I posted the problem here a long time ago...I myself figured it out but forgot to post it here. :D

Anyway thanks for your solution too.

I got this question from a graph theory tutorial in internet actually.
 

FAQ: Problem on Graph Theory and Algorithms

1. What is Graph Theory?

Graph Theory is a branch of mathematics that deals with the study of graphs, which are mathematical structures used to represent relationships between objects. It involves the study of vertices (points) and edges (lines) that connect these vertices.

2. What are some real-world applications of Graph Theory?

Graph Theory has many practical applications in various fields, including computer science, social networks, transportation networks, circuit design, and scheduling problems. It is also used in biology, chemistry, and physics to model molecular structures and interactions.

3. What is an algorithm in the context of Graph Theory?

An algorithm in Graph Theory refers to a set of step-by-step instructions or procedures for solving a problem related to graphs. It could involve finding the shortest path between two vertices, finding a minimum spanning tree, or identifying a specific vertex or edge in a graph.

4. How do you determine the complexity of a Graph Theory problem?

The complexity of a Graph Theory problem can be determined by analyzing the number of vertices and edges in a graph, as well as the operations required to solve the problem. The time and space complexity of an algorithm can also provide insight into the complexity of a problem.

5. What are some common algorithms used in Graph Theory?

Some common algorithms used in Graph Theory include Dijkstra's algorithm for finding the shortest path, Prim's algorithm for finding a minimum spanning tree, and Depth-First Search and Breadth-First Search for traversing a graph. Other algorithms include Kruskal's algorithm, Bellman-Ford algorithm, and Floyd-Warshall algorithm.

Similar threads

Replies
4
Views
1K
Replies
2
Views
2K
Replies
3
Views
2K
Replies
1
Views
1K
Replies
1
Views
1K
Replies
6
Views
2K
Replies
1
Views
2K
Back
Top