SlideShare a Scribd company logo
1 of 4
Download to read offline
IOSR Journal of Computer Engineering (IOSR-JCE)
e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 17, Issue 4, Ver. I (July – Aug. 2015), PP 124-127
www.iosrjournals.org
DOI: 10.9790/0661-1741124127 www.iosrjournals.org 124 | Page
Optimized AO* Algorithm for and-Or Graph Search
Aby Abahai T.1
1
(Computer Science and Engineering, M. A. College of Engineering Kothamangalam,, India)
Abstract : The objective of this paper is to optimize AO* algorithm with a depth limited search. AO* is one of
the major AND-OR graph search algorithms. According to AO* algorithm it is not exploring all the solution
paths once it has got the solution. Here the modified method is providing better heuristic value for the solution if
the search space is unstable. It is also considering interacting sub problems in the in the search space
considering the loop structures.
Keywords - AND-OR graph, best first search, depth limited search, heuristic.
I. Introduction
In an AND-OR graph AO* algorithm [1] is an efficient method to explore a solution path. AO*
algorithm works mainly based on two phases. First phase will find a heuristic value for nodes and arcs in a
particular level. The changes in the values of nodes will be propagated back in the next phase.
There are situations like a non-promising node eventually become a promising one. AO* algorithm [1]
will not give the best solution in such cases. Here a new method is introduced to consider such nodes by
performing a depth limited search before fixing the heuristic value. Also the proposed method is handling
interacting sub problems which is not handled by AO* algorithm [1].
II. General AO* Alogorithm
In order to find solution in an AND-OR graph AO* algorithm [1] works well similar to best first search
[2] with an ability to handle the AND arc appropriately. The algorithm finds an optimal path from initial node
by propagating the results like solution and change in heuristic value [3] to the ancestors as in algorithm 1[1].
Algorithm 1: Basic AO*
1. Initialize the graph to the starting node.
2. Loop until the starting node is labeled SOLVED or until its cost goes above FUTILITY:
a) Traverse the graph, starting at the initial node and following the current best path and accumulate the set of
nodes that are on that path and have not yet been expanded or labelled as solved.
b) Pick one of these unexpanded nodes and expand it. If there are no successors, assign FUTILITY as the
value of this node. Otherwise, add its successors to the graph and for each of them compute f ’. If f ’ of any
node is 0, mark that node as SOLVED.
c) Change the f ’ estimate of the newly expanded node to reflect the new information provided by its
successors. Propagate this change backward through the graph till the initial node. If any node contains a
successor arc whose descendants are all solved, label the node itself as SOLVED.
Fig. 1: Search According to AO*
Fig. 1 shows a solution according to AO* algorithm. Here path through node D is giving solution with
a value 11 since arc containing B and C is not optimal.
Optimized AO* Algorithm for And-Or Graph Search
DOI: 10.9790/0661-1741124127 www.iosrjournals.org 125 | Page
III. Optimised Method
When performing AO* algorithm [1] some non promising nodes will be underestimated (Fig. 2). Once
solution is found AO* is not looking into that. Here in Fig. 2 arc containing nodes B and C is becoming a
promising on further exploration. So node A is getting a better score of 10.
Fig. 2: Search Tree with Better Solution
The algorithm can be optimised by measuring the goodness of a node with a look ahead. In figure 2
node G is further estimated and found that I is giving a solution with better heuristic value. If there a look ahead
on node B this would have been explored. Also node C may or may not give better value if explored further.
This look ahead is implemented efficiently using a depth limited search on nodes examined by step 2(b) in the
basic AO* algorithm.
3.1 Depth Limited Search
Basically Depth Limited Search(DLS) [4] is only a Depth First Search(DFS) with a depth limit. In a
recursive method for DFS each recursive call is performed only if depth of the search tree is less than depth
limit. But there is some change in the DLS algorithm for AND-OR graphs since arcs are there. The non
promising nodes can be explored efficiently by the DLS method [4]. So this modification will propagate back a
stable result to ancestors. In the figure 1 search with a depth limit 3 will give a solution with score 10.
3.2Interacting Sub Problems
Interacting sub problem is one of the limitation to the algorithm. Here in Fig. 3 nodes B and C are
interacting. But C finds that D optimal compared to B for solving it. This is an overhead for finding the solution
since both B and D has to be solved separately.
Fig. 3: Solution for Interacting Sub Problems in AO*
Considering the interaction the cost on A will get reduced to 7 (Fig. 4) instead of 9 without considering
the node D. Here B has to be done only once under the arc. So B and C altogether taking a cost of 5 and the cost
of the arc is 2 which will bring the total cost to 7.
Optimized AO* Algorithm for And-Or Graph Search
DOI: 10.9790/0661-1741124127 www.iosrjournals.org 126 | Page
Fig. 4: Solution for Interacting Sub Problems in OAO*
3.3 Optimised AO* (OAO*) Algorithm
The optimization of AO* algorithm can done based the two aspects as discussed above. One is
considering the non promising nodes and the other is considering interacting sub problems.
The algorithm 2 is explaining the depth limited search on nodes which will consider the non promising
nodes also. An additional data structure in the form of Explored_List containing explored nodes with the
information about the parent, list of unexpanded successors obtained through depth limited search, depth and
evaluated score is required for the algorithm.
Algorithm 2: OAO* Algorithm
Data structure : Explored_List for explored nodes
1. Initialize the graph with the starting node as CURRENT node.
2. Loop with CURRENT until the starting node is labelled SOLVED or until its cost goes above FUTILITY:
a. If depth limit has reached return node’s or arc’s heuristic value.
b. Explore successor nodes and arcs of CURRENT. If there are no successors, assign FUTILITY as the value
of this node and exit.
c. Otherwise loop for each SUCCESSOR node or arc of CURRENT.
i. find unexpanded successors of the SUCCESSOR of CURRENT by referring Explored_List if CURRENT
is in Explored_List.
ii. make recursive calls for the algorithm with unexpanded successors SUCCESSOR as the starting node.
iii. if SUCCESSOR is an arc check for loops based on the parental information for finding interacting sub
problems obtained from Explored_List. Evaluate the score for the loop and assign to SUCCESSOR if it is
better than that of previous step.
iv. if SUCCESSOR is giving better value change the f estimate of the CURRENT node to reflect the new
information provided by its successors.
v. if SUCCESSOR is giving better value call the it the BEST_SUCC.
vi. add or update CURRENT and the successor in Explored_List with relevant information.
a. Propagate this change backward through the graph till the initial node. If any node contains a successor arc
whose descendants are all solved, label the node itself as SOLVED.
b. Make the BEST_SUCC as the CURRENT node.
The OAO* algorithm is finding a solution according to best first search where each node or arc
performing a depth limited search. The Explored_List is keeping an updated list of explored nodes so that DLS
overhead is reduced. Here the search is started only from the unexpanded nodes because the other explored
nodes are already evaluated which reduces the search overhead. The interacting sub problems are identified by
checking loops [5] making use of parental information in the Explored_List. If loops are there the evaluation is
done as in Fig. 4. This is giving more realistic solution to problems.
IV. Analysis
The Optimised AO* algorithm is always giving a better result with new concepts like depth limited
search and evaluation of loop for interacting sub problems. This is verified with evaluation of graphs shown in
Fig. 2 and Fig. 4.The OAO* algorithm is evaluating lesser number of nodes compared to AO* with the a look
up in Explored_List. So the explored nodes are not evaluated further which improves time complexity even
though slight compromise with space complexity is required. Here the algorithm offers a better consistent trace
for the solution by the look ahead based on a depth limited search
Optimized AO* Algorithm for And-Or Graph Search
DOI: 10.9790/0661-1741124127 www.iosrjournals.org 127 | Page
V. Conclusion
The OAO* algorithm has taken care of major drawbacks basic AO* algorithm. The proposed algorithm
gives a stable heuristic search by avoiding underestimation of non promising nodes and overestimation of
promising nodes. The algorithm has handled the problem of interacting sub problems to give better heuristic
search. Also the algorithm is giving more consistent search path compared to AO* algorithm.
References
[1]. Elaine Rich, Kevin knight, Shivashankar b. Nair , Artificial Intelligence (New Delhi,The Tata McGraw-Hill Companies,2009).
[2]. Ethan Burns, Sofia Lemons, Wheeler Ruml, Rong Zhou, Best-First Heuristic Search for Multicore Machines, Journal of Artificial
Intelligence Research, 39, 2010, 689–743.
[3]. Eric A. Hansen, Rong Zhou, Anytime Heuristic Search, Journal of Artificial Intelligence Research, 28,2007, 267-297.
[4]. Richard E. korf, Depth limited search for real time problem solving, The journal of real time systems,2,1990,7-24.
[5]. Eric A. Hansen, Shlomo Zilberstein, LAO*: A heuristic search algorithm that finds solutions with loops, Artificial Intelligence, 129,
2001, 35–62.

More Related Content

What's hot

Point Placement Algorithms: An Experimental Study
Point Placement Algorithms: An Experimental StudyPoint Placement Algorithms: An Experimental Study
Point Placement Algorithms: An Experimental StudyCSCJournals
 
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMSA NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMSorajjournal
 
Using A* algorithm to find shortest path in Indoor positioning system
Using A* algorithm to find shortest path in Indoor positioning systemUsing A* algorithm to find shortest path in Indoor positioning system
Using A* algorithm to find shortest path in Indoor positioning systemIRJET Journal
 
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...ijcseit
 
Search algorithms master
Search algorithms masterSearch algorithms master
Search algorithms masterHossam Hassan
 
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...IJCSEA Journal
 
The Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear ProgrammingThe Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear ProgrammingBob Fourer
 
Mca 4040 analysis and design of algorithm
Mca 4040  analysis and design of algorithmMca 4040  analysis and design of algorithm
Mca 4040 analysis and design of algorithmsmumbahelp
 
Mca 4040 analysis and design of algorithm
Mca 4040  analysis and design of algorithmMca 4040  analysis and design of algorithm
Mca 4040 analysis and design of algorithmsmumbahelp
 
Algorithm and complexity
Algorithm and complexityAlgorithm and complexity
Algorithm and complexityHABIB FIGA GUYE
 
Mit203 analysis and design of algorithms
Mit203  analysis and design of algorithmsMit203  analysis and design of algorithms
Mit203 analysis and design of algorithmssmumbahelp
 
Grds international conference on pure and applied science (9)
Grds international conference on pure and applied science (9)Grds international conference on pure and applied science (9)
Grds international conference on pure and applied science (9)Global R & D Services
 
Measuring algorithm performance
Measuring algorithm performanceMeasuring algorithm performance
Measuring algorithm performanceHabitamuAsimare
 
Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...
Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...
Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...ijsrd.com
 

What's hot (16)

Point Placement Algorithms: An Experimental Study
Point Placement Algorithms: An Experimental StudyPoint Placement Algorithms: An Experimental Study
Point Placement Algorithms: An Experimental Study
 
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMSA NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
A NEW ALGORITHM FOR SOLVING FULLY FUZZY BI-LEVEL QUADRATIC PROGRAMMING PROBLEMS
 
Bm35359363
Bm35359363Bm35359363
Bm35359363
 
Using A* algorithm to find shortest path in Indoor positioning system
Using A* algorithm to find shortest path in Indoor positioning systemUsing A* algorithm to find shortest path in Indoor positioning system
Using A* algorithm to find shortest path in Indoor positioning system
 
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
 
How to Decide the Best Fuzzy Model in ANFIS
How to Decide the Best Fuzzy Model in ANFIS How to Decide the Best Fuzzy Model in ANFIS
How to Decide the Best Fuzzy Model in ANFIS
 
Search algorithms master
Search algorithms masterSearch algorithms master
Search algorithms master
 
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...
AN ALGORITHM FOR OPTIMIZED SEARCHING USING NON-OVERLAPPING ITERATIVE NEIGHBOR...
 
The Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear ProgrammingThe Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear Programming
 
Mca 4040 analysis and design of algorithm
Mca 4040  analysis and design of algorithmMca 4040  analysis and design of algorithm
Mca 4040 analysis and design of algorithm
 
Mca 4040 analysis and design of algorithm
Mca 4040  analysis and design of algorithmMca 4040  analysis and design of algorithm
Mca 4040 analysis and design of algorithm
 
Algorithm and complexity
Algorithm and complexityAlgorithm and complexity
Algorithm and complexity
 
Mit203 analysis and design of algorithms
Mit203  analysis and design of algorithmsMit203  analysis and design of algorithms
Mit203 analysis and design of algorithms
 
Grds international conference on pure and applied science (9)
Grds international conference on pure and applied science (9)Grds international conference on pure and applied science (9)
Grds international conference on pure and applied science (9)
 
Measuring algorithm performance
Measuring algorithm performanceMeasuring algorithm performance
Measuring algorithm performance
 
Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...
Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...
Advanced Hybrid Color Space Normalization for Human Face Extraction and Detec...
 

Viewers also liked (20)

G012134044
G012134044G012134044
G012134044
 
Affordable & cheap bridesmaids dresses online page 5 gudeer.com
Affordable & cheap bridesmaids dresses online page 5   gudeer.comAffordable & cheap bridesmaids dresses online page 5   gudeer.com
Affordable & cheap bridesmaids dresses online page 5 gudeer.com
 
E017443136
E017443136E017443136
E017443136
 
E018142329
E018142329E018142329
E018142329
 
C017541928
C017541928C017541928
C017541928
 
K1803027074
K1803027074K1803027074
K1803027074
 
T01061142150
T01061142150T01061142150
T01061142150
 
A012120110
A012120110A012120110
A012120110
 
L010127579
L010127579L010127579
L010127579
 
O0122684100
O0122684100O0122684100
O0122684100
 
D012531923
D012531923D012531923
D012531923
 
R130304103108
R130304103108R130304103108
R130304103108
 
F011113741
F011113741F011113741
F011113741
 
D010312230
D010312230D010312230
D010312230
 
LordJeshuainheritancemay2016
LordJeshuainheritancemay2016LordJeshuainheritancemay2016
LordJeshuainheritancemay2016
 
Best Approximation in Real Linear 2-Normed Spaces
Best Approximation in Real Linear 2-Normed SpacesBest Approximation in Real Linear 2-Normed Spaces
Best Approximation in Real Linear 2-Normed Spaces
 
E1304023341
E1304023341E1304023341
E1304023341
 
L010117579
L010117579L010117579
L010117579
 
B010130508
B010130508B010130508
B010130508
 
I010525057
I010525057I010525057
I010525057
 

Similar to Optimized AO* Algorithm for And-Or Graph Search

I. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMI. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMvikas dhakane
 
Unit 3 Informed Search Strategies.pptx
Unit  3 Informed Search Strategies.pptxUnit  3 Informed Search Strategies.pptx
Unit 3 Informed Search Strategies.pptxDrYogeshDeshmukh1
 
unit-1-l3AI..........................ppt
unit-1-l3AI..........................pptunit-1-l3AI..........................ppt
unit-1-l3AI..........................pptShilpaBhatia32
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound techniqueishmecse13
 
Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...Navin Kumar
 
Comparative Study of RBFS & ARBFS Algorithm
Comparative Study of RBFS & ARBFS AlgorithmComparative Study of RBFS & ARBFS Algorithm
Comparative Study of RBFS & ARBFS AlgorithmIOSR Journals
 
IRJET- Artificial Algorithms Comparative Study
IRJET-  	  Artificial Algorithms Comparative StudyIRJET-  	  Artificial Algorithms Comparative Study
IRJET- Artificial Algorithms Comparative StudyIRJET Journal
 
PATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPHPATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPHacijjournal
 
AI unit-2 lecture notes.docx
AI unit-2 lecture notes.docxAI unit-2 lecture notes.docx
AI unit-2 lecture notes.docxCS50Bootcamp
 
Heuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptxHeuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptxSwagat Praharaj
 
RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...
RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...
RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...ijaia
 
Accelerated Bat Algorithm For Solving Integer Programming Problems
Accelerated Bat Algorithm For Solving Integer Programming ProblemsAccelerated Bat Algorithm For Solving Integer Programming Problems
Accelerated Bat Algorithm For Solving Integer Programming ProblemsTye Rausch
 
An optimized hybrid approach for path
An optimized hybrid approach for pathAn optimized hybrid approach for path
An optimized hybrid approach for pathijfcstjournal
 
AN OPTIMIZED HYBRID APPROACH FOR PATH FINDING
AN OPTIMIZED HYBRID APPROACH FOR PATH FINDINGAN OPTIMIZED HYBRID APPROACH FOR PATH FINDING
AN OPTIMIZED HYBRID APPROACH FOR PATH FINDINGijfcstjournal
 

Similar to Optimized AO* Algorithm for And-Or Graph Search (20)

I. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMI. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHM
 
Unit 3 Informed Search Strategies.pptx
Unit  3 Informed Search Strategies.pptxUnit  3 Informed Search Strategies.pptx
Unit 3 Informed Search Strategies.pptx
 
unit-1-l3.ppt
unit-1-l3.pptunit-1-l3.ppt
unit-1-l3.ppt
 
unit-1-l3AI..........................ppt
unit-1-l3AI..........................pptunit-1-l3AI..........................ppt
unit-1-l3AI..........................ppt
 
artifical intelligence final paper
artifical intelligence final paperartifical intelligence final paper
artifical intelligence final paper
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
 
Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...Bidirectional graph search techniques for finding shortest path in image base...
Bidirectional graph search techniques for finding shortest path in image base...
 
Comparative Study of RBFS & ARBFS Algorithm
Comparative Study of RBFS & ARBFS AlgorithmComparative Study of RBFS & ARBFS Algorithm
Comparative Study of RBFS & ARBFS Algorithm
 
IRJET- Artificial Algorithms Comparative Study
IRJET-  	  Artificial Algorithms Comparative StudyIRJET-  	  Artificial Algorithms Comparative Study
IRJET- Artificial Algorithms Comparative Study
 
PATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPHPATH FINDING SOLUTIONS FOR GRID BASED GRAPH
PATH FINDING SOLUTIONS FOR GRID BASED GRAPH
 
AI unit-2 lecture notes.docx
AI unit-2 lecture notes.docxAI unit-2 lecture notes.docx
AI unit-2 lecture notes.docx
 
Heuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptxHeuristic Searching Algorithms Artificial Intelligence.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptx
 
Adsa u2 ver 1.0.
Adsa u2 ver 1.0.Adsa u2 ver 1.0.
Adsa u2 ver 1.0.
 
RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...
RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...
RESEARCH ON FUZZY C- CLUSTERING RECURSIVE GENETIC ALGORITHM BASED ON CLOUD CO...
 
informed search.pptx
informed search.pptxinformed search.pptx
informed search.pptx
 
Accelerated Bat Algorithm For Solving Integer Programming Problems
Accelerated Bat Algorithm For Solving Integer Programming ProblemsAccelerated Bat Algorithm For Solving Integer Programming Problems
Accelerated Bat Algorithm For Solving Integer Programming Problems
 
Ds33717725
Ds33717725Ds33717725
Ds33717725
 
Ds33717725
Ds33717725Ds33717725
Ds33717725
 
An optimized hybrid approach for path
An optimized hybrid approach for pathAn optimized hybrid approach for path
An optimized hybrid approach for path
 
AN OPTIMIZED HYBRID APPROACH FOR PATH FINDING
AN OPTIMIZED HYBRID APPROACH FOR PATH FINDINGAN OPTIMIZED HYBRID APPROACH FOR PATH FINDING
AN OPTIMIZED HYBRID APPROACH FOR PATH FINDING
 

More from IOSR Journals (20)

A011140104
A011140104A011140104
A011140104
 
M0111397100
M0111397100M0111397100
M0111397100
 
L011138596
L011138596L011138596
L011138596
 
K011138084
K011138084K011138084
K011138084
 
J011137479
J011137479J011137479
J011137479
 
I011136673
I011136673I011136673
I011136673
 
G011134454
G011134454G011134454
G011134454
 
H011135565
H011135565H011135565
H011135565
 
F011134043
F011134043F011134043
F011134043
 
E011133639
E011133639E011133639
E011133639
 
D011132635
D011132635D011132635
D011132635
 
C011131925
C011131925C011131925
C011131925
 
B011130918
B011130918B011130918
B011130918
 
A011130108
A011130108A011130108
A011130108
 
I011125160
I011125160I011125160
I011125160
 
H011124050
H011124050H011124050
H011124050
 
G011123539
G011123539G011123539
G011123539
 
F011123134
F011123134F011123134
F011123134
 
E011122530
E011122530E011122530
E011122530
 
D011121524
D011121524D011121524
D011121524
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Optimized AO* Algorithm for And-Or Graph Search

  • 1. IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 17, Issue 4, Ver. I (July – Aug. 2015), PP 124-127 www.iosrjournals.org DOI: 10.9790/0661-1741124127 www.iosrjournals.org 124 | Page Optimized AO* Algorithm for and-Or Graph Search Aby Abahai T.1 1 (Computer Science and Engineering, M. A. College of Engineering Kothamangalam,, India) Abstract : The objective of this paper is to optimize AO* algorithm with a depth limited search. AO* is one of the major AND-OR graph search algorithms. According to AO* algorithm it is not exploring all the solution paths once it has got the solution. Here the modified method is providing better heuristic value for the solution if the search space is unstable. It is also considering interacting sub problems in the in the search space considering the loop structures. Keywords - AND-OR graph, best first search, depth limited search, heuristic. I. Introduction In an AND-OR graph AO* algorithm [1] is an efficient method to explore a solution path. AO* algorithm works mainly based on two phases. First phase will find a heuristic value for nodes and arcs in a particular level. The changes in the values of nodes will be propagated back in the next phase. There are situations like a non-promising node eventually become a promising one. AO* algorithm [1] will not give the best solution in such cases. Here a new method is introduced to consider such nodes by performing a depth limited search before fixing the heuristic value. Also the proposed method is handling interacting sub problems which is not handled by AO* algorithm [1]. II. General AO* Alogorithm In order to find solution in an AND-OR graph AO* algorithm [1] works well similar to best first search [2] with an ability to handle the AND arc appropriately. The algorithm finds an optimal path from initial node by propagating the results like solution and change in heuristic value [3] to the ancestors as in algorithm 1[1]. Algorithm 1: Basic AO* 1. Initialize the graph to the starting node. 2. Loop until the starting node is labeled SOLVED or until its cost goes above FUTILITY: a) Traverse the graph, starting at the initial node and following the current best path and accumulate the set of nodes that are on that path and have not yet been expanded or labelled as solved. b) Pick one of these unexpanded nodes and expand it. If there are no successors, assign FUTILITY as the value of this node. Otherwise, add its successors to the graph and for each of them compute f ’. If f ’ of any node is 0, mark that node as SOLVED. c) Change the f ’ estimate of the newly expanded node to reflect the new information provided by its successors. Propagate this change backward through the graph till the initial node. If any node contains a successor arc whose descendants are all solved, label the node itself as SOLVED. Fig. 1: Search According to AO* Fig. 1 shows a solution according to AO* algorithm. Here path through node D is giving solution with a value 11 since arc containing B and C is not optimal.
  • 2. Optimized AO* Algorithm for And-Or Graph Search DOI: 10.9790/0661-1741124127 www.iosrjournals.org 125 | Page III. Optimised Method When performing AO* algorithm [1] some non promising nodes will be underestimated (Fig. 2). Once solution is found AO* is not looking into that. Here in Fig. 2 arc containing nodes B and C is becoming a promising on further exploration. So node A is getting a better score of 10. Fig. 2: Search Tree with Better Solution The algorithm can be optimised by measuring the goodness of a node with a look ahead. In figure 2 node G is further estimated and found that I is giving a solution with better heuristic value. If there a look ahead on node B this would have been explored. Also node C may or may not give better value if explored further. This look ahead is implemented efficiently using a depth limited search on nodes examined by step 2(b) in the basic AO* algorithm. 3.1 Depth Limited Search Basically Depth Limited Search(DLS) [4] is only a Depth First Search(DFS) with a depth limit. In a recursive method for DFS each recursive call is performed only if depth of the search tree is less than depth limit. But there is some change in the DLS algorithm for AND-OR graphs since arcs are there. The non promising nodes can be explored efficiently by the DLS method [4]. So this modification will propagate back a stable result to ancestors. In the figure 1 search with a depth limit 3 will give a solution with score 10. 3.2Interacting Sub Problems Interacting sub problem is one of the limitation to the algorithm. Here in Fig. 3 nodes B and C are interacting. But C finds that D optimal compared to B for solving it. This is an overhead for finding the solution since both B and D has to be solved separately. Fig. 3: Solution for Interacting Sub Problems in AO* Considering the interaction the cost on A will get reduced to 7 (Fig. 4) instead of 9 without considering the node D. Here B has to be done only once under the arc. So B and C altogether taking a cost of 5 and the cost of the arc is 2 which will bring the total cost to 7.
  • 3. Optimized AO* Algorithm for And-Or Graph Search DOI: 10.9790/0661-1741124127 www.iosrjournals.org 126 | Page Fig. 4: Solution for Interacting Sub Problems in OAO* 3.3 Optimised AO* (OAO*) Algorithm The optimization of AO* algorithm can done based the two aspects as discussed above. One is considering the non promising nodes and the other is considering interacting sub problems. The algorithm 2 is explaining the depth limited search on nodes which will consider the non promising nodes also. An additional data structure in the form of Explored_List containing explored nodes with the information about the parent, list of unexpanded successors obtained through depth limited search, depth and evaluated score is required for the algorithm. Algorithm 2: OAO* Algorithm Data structure : Explored_List for explored nodes 1. Initialize the graph with the starting node as CURRENT node. 2. Loop with CURRENT until the starting node is labelled SOLVED or until its cost goes above FUTILITY: a. If depth limit has reached return node’s or arc’s heuristic value. b. Explore successor nodes and arcs of CURRENT. If there are no successors, assign FUTILITY as the value of this node and exit. c. Otherwise loop for each SUCCESSOR node or arc of CURRENT. i. find unexpanded successors of the SUCCESSOR of CURRENT by referring Explored_List if CURRENT is in Explored_List. ii. make recursive calls for the algorithm with unexpanded successors SUCCESSOR as the starting node. iii. if SUCCESSOR is an arc check for loops based on the parental information for finding interacting sub problems obtained from Explored_List. Evaluate the score for the loop and assign to SUCCESSOR if it is better than that of previous step. iv. if SUCCESSOR is giving better value change the f estimate of the CURRENT node to reflect the new information provided by its successors. v. if SUCCESSOR is giving better value call the it the BEST_SUCC. vi. add or update CURRENT and the successor in Explored_List with relevant information. a. Propagate this change backward through the graph till the initial node. If any node contains a successor arc whose descendants are all solved, label the node itself as SOLVED. b. Make the BEST_SUCC as the CURRENT node. The OAO* algorithm is finding a solution according to best first search where each node or arc performing a depth limited search. The Explored_List is keeping an updated list of explored nodes so that DLS overhead is reduced. Here the search is started only from the unexpanded nodes because the other explored nodes are already evaluated which reduces the search overhead. The interacting sub problems are identified by checking loops [5] making use of parental information in the Explored_List. If loops are there the evaluation is done as in Fig. 4. This is giving more realistic solution to problems. IV. Analysis The Optimised AO* algorithm is always giving a better result with new concepts like depth limited search and evaluation of loop for interacting sub problems. This is verified with evaluation of graphs shown in Fig. 2 and Fig. 4.The OAO* algorithm is evaluating lesser number of nodes compared to AO* with the a look up in Explored_List. So the explored nodes are not evaluated further which improves time complexity even though slight compromise with space complexity is required. Here the algorithm offers a better consistent trace for the solution by the look ahead based on a depth limited search
  • 4. Optimized AO* Algorithm for And-Or Graph Search DOI: 10.9790/0661-1741124127 www.iosrjournals.org 127 | Page V. Conclusion The OAO* algorithm has taken care of major drawbacks basic AO* algorithm. The proposed algorithm gives a stable heuristic search by avoiding underestimation of non promising nodes and overestimation of promising nodes. The algorithm has handled the problem of interacting sub problems to give better heuristic search. Also the algorithm is giving more consistent search path compared to AO* algorithm. References [1]. Elaine Rich, Kevin knight, Shivashankar b. Nair , Artificial Intelligence (New Delhi,The Tata McGraw-Hill Companies,2009). [2]. Ethan Burns, Sofia Lemons, Wheeler Ruml, Rong Zhou, Best-First Heuristic Search for Multicore Machines, Journal of Artificial Intelligence Research, 39, 2010, 689–743. [3]. Eric A. Hansen, Rong Zhou, Anytime Heuristic Search, Journal of Artificial Intelligence Research, 28,2007, 267-297. [4]. Richard E. korf, Depth limited search for real time problem solving, The journal of real time systems,2,1990,7-24. [5]. Eric A. Hansen, Shlomo Zilberstein, LAO*: A heuristic search algorithm that finds solutions with loops, Artificial Intelligence, 129, 2001, 35–62.