Pruning uplieate Nodes in th-First
نویسندگان
چکیده
Best-first search algorithms require exponential memory, while depth-first algorithms require only linear memory. On graphs with cycles, however, depth-first searches do not detect duplicate nodes, and hence may generate asymptotically more nodes than best-first searches. We present a technique for reducing the asymptotic complexity of depth-first search by eliminating the generation of duplicate nodes. The automatic discovery and application of a finite state machine (FSM) that enforces pruning rules in a depth-first search, has significantly extended the power of search in several domains. We have implemented and tested the technique on a grid, the Fifteen Puzzle, the Twenty-Four Puzzle, and two versions of Rubik’s Cube. In each case, the effective branching factor of the depth-first search is reduced, reducing the asymptotic time complexity. Introduction-The Problem Search techniques are fundamental to artificial intelligence. Best-first search algorithms such as breadthfirst search, Dijkstra’s algorithm [Dijkstra, 19591, and A* [Hart et al., 19681, all require enough memory to store all generated nodes. This results in exponential space complexity on many problems, making them impra:tical. I,1 contrast, depth-first searches run in space linear in the depth of the search. However, a major disadvantage of depth-first approaches is the generation of du$icate nodes in a graph with cycles [Nilsson, 19801. More than one combination of operators may produce the same node, but since depth-first search does not store the nodes already generated, it cannot detect the duplicates. As a result, the total number of nodes generated by a depth-first search may be asymptotically more than the number of nodes generated by a bestfirst search. *This research was partially supported by NSF Grant #KU-9119825, and a grant from Rockwell International. Figure 1: The grid search space, explored depth-first to depth 2, without pruning. To illustrate, consider a search of a grid with the operators: Up, Down, Left and Right, each moving one unit. A depth-first search to depth T would visit 4’ nodes (figure l), since 4 operators are applicable to each node. But only O(r2) distinct junctions are visited by a breadth-first search. Thus, a depth-first search has exponential complexity, while a breadthfirst search has only polynomial complexity. To reduce this effect, we would like to detect and prune duplicate nodes in a depth-first search. Unfortunately, there is no way to do this on an arbitrary graph without storing all the nodes. On a randomly connected explicit graph, for example, the only way to check for duplicate nodes is to maintain a list of all the nodes already generated. A partial solution to this problem is to compare new nodes against the current path from the root [Pearl, 19841. This detects duplicates in the case that the path has made a complete cycle. However, as we saw in the grid example, duplicates occur when the search explores two halves of a cycle, such as up-left and left-up. Only a fraction of duplicates can be found by comparing nodes on the current path [Dillenburg and Nelson, 19931. Other node caching schemes have been suggested [Ibaraki, 19781 [Sen and Bagchi, 19891 [Chakrabarti et a/., 19891 [Elkan, 19891, but their utility depends on the implementation (costs per node generation). 756 Taylor From: AAAI-93 Proceedings. Copyright © 1993, AAAI (www.aaai.org). All rights reserved.
منابع مشابه
Effect of pruning on growth, development, seed yield and active substances of Pumpkin (Cucurbita pepo convar. pepo var. styriaca)
The objective of this study was to investigate the effect of pruning in different developmental stages on growth, development, seed yield and active substances of medicinal pumpkin (these active substances are uses for remedy the Benign Prostatic Hyperplasia (BPH)). The experiment was performed in a RCB design. Five pruning treatments in different developmental stages (no pruning, after 3-5 nod...
متن کاملEffect of pruning on growth, development, seed yield and active substances of Pumpkin (Cucurbita pepo convar. pepo var. styriaca)
The objective of this study was to investigate the effect of pruning in different developmental stages on growth, development, seed yield and active substances of medicinal pumpkin (these active substances are uses for remedy the Benign Prostatic Hyperplasia (BPH)). The experiment was performed in a RCB design. Five pruning treatments in different developmental stages (no pruning, after 3-5 nod...
متن کاملتأثیر هرس و رقم بر رشد، عملکرد و کیفیت میوه خیار گلخانهای در شرایط اهواز
AbstractIn order to investigate the effect of pruning and cultivar on growth, yield and fruit quality of greenhouse cucumber, a factorial experiment, based on completely randomized blocks design with three replications, was conducted. Treatments were three types of pruning (removing side branches, one node was maintained on the branch, and two nodes were maintained on the branch) and two cultiv...
متن کاملGeneralized Game Trees
We consider two generalizations of the standard two-player game model: different evaluation functions for the players, and more than two players. Relaxing the assumption that players share the same evaluation function produces a hierarchy of levels of knowledge as deep as the search tree. Alpha-beta pruning is only possible when the different evaluation functions behave identically. In extendin...
متن کاملDetecting Blackholes and Volcanoes in Directed Networks
In this paper, we formulate a novel problem for finding blackhole and volcano patterns in a large directed graph. Specifically, a blackhole pattern is a group which is made of a set of nodes in a way such that there are only inlinks to this group from the rest nodes in the graph. In contrast, a volcano pattern is a group which only has outlinks to the rest nodes in the graph. Both patterns can ...
متن کامل