Write a program (preferably in Java) to do the following: Given a graph of (nodes and edges), find a path using the following algorithms:USC.

Java

Introduction to Artificial Intelligence

Assignment
You need to write a program (preferably in Java) to do the following:
Given a graph of (nodes and edges), find a path using the following algorithms:

  1. Depth First Search
  2. USC
  3. A*

Use the class Vertex for the graph nodes
Name of the node: use alphabetic to represent the names e.g., A, B etc….

You need to submit the following:

Driver program to (TestGraph.java):
1- Read a graph of nodes; you can use a text file to read the graph from. You may refer to the way of which graphs were represented in data structure course
2- Ask the user to find a path based on a choice of algorithm to use
3- The output should be:

  • a. The path given by the algorithm selected from point# 2
  • b. The cost of the path
  • c. The nodes that are explored on the order they are visited

The other java files needed to run your program

Note: if you are submitting multiple files, please compress them under the name of: You first name_ you last name_You ID_version