zoukankan      html  css  js  c++  java
  • IDA*

    模拟退火

     

    基本思路(Main Thoughts):

      IDA*是一种优秀的搜索法,在一般的实际问题中,它比普通的搜索更快。

      通过迭代加深和估价函数剪枝来搜索。

      通常处理没有层数上界或上界很多大的搜索。

     

    实现步骤(Implementation Steps):

    1. 枚举搜索层数上界
    2. 搜索
    3. 估价函数剪枝。设当前上界为maxd。h(x)代表x状态已经扩展的层数 ,g(x)代表x状态估计还要扩展的层数,当h(x)+g(x)>maxd 时剪枝

    模板(Code):

       

    时间&空间复杂度(Time & Memory Complexity):

      空间:O(?)

      时间:O(?)

    主要用途&优缺点(Main Applications & Advantages & Disadvantages):

      主要用途:通常处理没有层数上界或上界很多大的搜索。

      优点:快

      缺点:估价函数容易打挂 代码较多 容易剪枝剪手

    推荐题目&数据(Recommendatory Problems & Data) :

      CODEVS 1288 埃及分数 比较裸的IDA*

      CODEVS 2495 水叮当的舞步 估价函数裸 搜索方式优美

      UVA 11212 编辑书稿 剪枝容易剪到手

      UVA 1603 破坏正方形 比较简单的IDA* 主要难在构图 可用DLX

     

  • 相关阅读:
    POJ 1017
    poj 2709
    poj 1328
    POJ 2386
    POJ 1065
    POJ 3728
    hdu--1004--Let the Balloon Rise
    hdu--2570--迷瘴(贪心)
    hdu--1257--最少拦截系统(贪心)
    hdu--1230--火星A+B
  • 原文地址:https://www.cnblogs.com/tuigou/p/5052410.html
Copyright © 2011-2022 走看看