首页 | 本学科首页   官方微博 | 高级检索  
     检索      


Execution of logic programs by iterative-deepening A* SLD-tree search
Authors:Roland Olsson
Institution:(1) Department of Computing Science, Molde College, Postboks 308, 6401 Molde, Norway
Abstract:The depth-first search strategy used by PROLOG is supplemented by depth-first iterative-deepening A*, which is complete, i.e. it always succeeds in executing a correct program if enough time and space is available. Iterative-deepening A* is only used for predicates that can be executed faster with iterative-deepening A* instead of depth-first.Since standard iterative-deepening A* is quadratic instead of linear for trees with much one way branching, e.g. most SLD-trees, extrapolation is used to determine a suitable bound on the evaluation function values of nodes that are to be expanded during an iteration. The number of inferences is further reduced by pruning rules such as cutting when the next literal to be evaluated is an alphabetic variant of a literal for which evaluation has failed previously.An advantage of the suggested search strategy is that many more programs can be executed with reasonable efficiency. The main disadvantage is that the programmer either must specify explicitly which strategy to use for a given predicate or provide examples so that the best strategy can be inferred automatically.
Keywords:68N17  68T15
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号