ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
artificial intelligence
1. Artificial Intelligence
Project Presentation
Submitted by:
Group 11:
Ilias Ahmed, ID #16339202142.
Mohammad Saiful Islam, ID #16339202030.
Mohammad Mosharaaf Hossain, ID #16339202141.
Md. Alauddin, ID #16339202029.
Submitted by:
Group 11:
Ilias Ahmed, ID #16339202142.
Mohammad Saiful Islam, ID #16339202030.
Mohammad Mosharaaf Hossain, ID #16339202141.
Md. Alauddin, ID #16339202029.
Submitted to :
Husne Farah
Lecturer
Dept. of CSE
The People’s University of Bangladesh, Dkaka-1207.
Submitted to :
Husne Farah
Lecturer
Dept. of CSE
The People’s University of Bangladesh, Dkaka-1207.
1
2. Problem Solving by Searching
Search Methods :
Breadth-First-Search
Depth-First-Search
Best-First-Search
2
3. BFS:- Breadth first search
BFS is a graph search algorithm that begins at the root node and
explores all the neighbouring nodes. Then for each of those nearest
nodes, it explores their unexplored neighbour nodes, and so on, until it
finds the goal. It is implemented by using queue.
A
B C D
E F
Status=1(ready)
Status=2(waiting)
Status=3(processed)
3
4. A
B C D
E F
A
Status=1
Status=2
Status=3
L0
L1
L2
QUEUE
OUTPUT
4
5. A
B C D
E F
A
B C D
Status=1
Status=3
Status=2
L0
L1
L2
QUEUE
OUTPUT
5
6. A
B C D
E F
A B
C D E
L0
L1
L2
Status=1
Status=2
Status=3
QUEUE
OUTPUT
6
7. A
B C D
E F
A B C
D E F
L0
L1
L2
Status=1
Status=2
Status=3
QUEUE
OUTPUT
7
8. A
B C D
E F
A B C D
E F
L0
L1
L2
Status=1
Status=2
Status=3
QUEUE
OUTPUT
8
9. A
B C D
E F
A B C D E
F
L0
L1
L2
Status=1
Status=2
Status=3
QUEUE
OUTPUT
9
10. A
B C D
E F
A B C D E F
L0
L1
L2
Status=1
Status=2
Status=3
QUEUE
OUTPUT
10
12. Algorithm of BFS:-
STEP 1:- Initialize the status of all nodes to ready
status (status =1).
STEP 2:- Insert the starting node into the queue
and set its status to waiting (status=2).
STEP 3:- Continue step 4 and 5 until the queue is
empty.
STEP 4:- Delete the front node from the queue
and set its status to processed (status=3).
STEP 5:- Insert all the neighboring nodes (whose
status is ready) of the deleted node into the queue
and set their status to waiting (status=2).
STEP 6:- Exit.
12
13. Features of BFS:-
Space complexity
Space complexity is proportional to the number of nodes at
the deepest level. Given a branching factor b and graph depth
d the space complexity is the number of nodes at the deepest
level, O(b ).
Time complexity
Time complexity of breadth-first search is O(b ).
Completeness
Breadth-first search is complete.
Proof of Completeness
If the shallowest goal node is at some finite depth say d,
breadth-first search will eventually find it after expanding all
shallower nodes.
Optimality
For unit-step cost, breadth-first search is optimal.
d
d
13
14. Applications of BFS:-
• Finding all connected components in a graph.
• Finding all nodes within one connected component.
• Finding the shortest path between two nodes u and v in an
unweighted graph.
• Finding the shortest path between two nodes u and v in a
weighted graph..
• Compute a spanning forest of a graph.
14
15. DFS:- Depth first search
DFS is an uninformed search that progresses by expanding the first
child node of the search tree that appears and thus going deeper and
deeper until a goal node is found, or until it hits a node that has no
children. Then the search backtracks, returning to the most recent
node it has not finished exploring. It is implemented using a stack.
A
B C D
F GE
I J
15
27. Algorithm of DFS:-
STEP 1:- Initialize the status of all nodes to ready
status (status=1).
STEP 2:- Push the starting node into the stack
(status=waiting=2).
STEP 3:- Continue step 4 and 5 until the stack is
empty.
STEP 4:- Pop the top node from the stack and set its
status to processed state (status=3).
STEP 5:- Push all the successors whose status is
ready; of the popped node into the stack and set their
status to waiting (status=2).
STEP 6:- Exit.
27
28. Time complexity
Since in the worst case depth-first search has to consider all
paths to all possible nodes the time complexity of depth-first
search is O(b ).
Space complexity
The space complexity is O(d) where d is the length of the
longest simple path in the graph.
Features of DFS:-
Completeness
Depth-first search is not complete.
Optimality
Depth-first search is not optimal.
d
28
29. Applications of DFS:-
• Finding whether there exists a path between the given
vertices.
• Find the connected components of a graph.
• Topological sorting.
• We can specialize the DFS algorithm to find a simple cycle.
• Solving puzzles with only one solution, such as mazes.
(DFS can be adapted to find all solutions to a maze by only
including nodes on the current path in the visited set.)
29
30. Best-First Search:-
Best-first search is a search algorithm which explores
a graph by expanding the most promising node chosen
according to a specified rule
best-first search" to refer specifically to a search
with a heuristic that attempts to predict how close
the end of a path is to a solution.
30
31. Algorithm :-
1.Remove the best node from OPEN, call it n, add it to
CLOSED. 2. If n is the goal state, backtRACK path to n
2.(through recorded parents) and return path.
3. Create n's successors.
4. For each successor do:
a.If it is not in CLOSED and it is not in OPEN: evaluate it, add it
to OPEN, and record its parent.
b. Otherwise, if this new path is better than previous one,
change its recorded parent. i. If it is not in OPEN add it to
OPEN. ii. Otherwise, adjust its priority in OPEN using this
new evaluation.
31