实用算法实现-第13篇 搜索(盲目搜索)

人工智能学习(二):通过搜索进行问题求解——无信息搜索 无信息搜索(也称为盲目搜索)策略。无信息搜索指的是除了问题定义中提供的状态信息外没有任何附加信息。搜索算法要做的是生成后继并区分目标状态与非目标状态。这些搜索策略是以结点扩展的次序来分类的。知道一个非目标状态是否比其他状态“更有希望”接近目标的策略称为有信息搜索策略或者启发式搜索策略! 阅读详情

在人工智能中,盲目搜索是相对于启发式搜索来说的。

13.1    广度优先搜索

《算法导论》中,广度优先(Breadth-First)搜索树的伪代码如下:

BFS(G,s)

1  for each vertex u ∈ V[G] - {s}

2       docolor[u] ← WHITE

3          d[u] ← ∞

4          ∏[u] ← NIL

5  color[s] ← GRAY

6  d[s] ← 0

7  ∏[s] ← NIL

8  Q ← Ф

9 ENQUEUE(Q, s)

10while Q ≠ Ф

11      do u ← head[Q]

12         for each v ∈ Adj[u]

13             doif color[v] = WHITE

14                   thencolor[v] ← GRAY

15                        d[v] ← d[u] + 1

16                        ∏[v] ← u

17                        ENQUEUE(Q,v)

18         color[u] ← BLACK

13.1.1   实例

PKU JudgeOnline, 3669, Meteor Shower.

13.1.2   问题描述

初始位置在原点,所站的地方隔一段时间之后就要被砸,被砸的时候和以后该地方都不能待,要逃到一个安全的地方。问最少需要多少步才能到一个安全的地方。

PKU JudgeOnline, 3414, Pots是对状态空间的BFS搜索。

13.1.3   输入

4

00 2

21 2

11 2

03 5

13.1.4   输出

5

13.1.5   程序

#include <iostream.h>
#include <stdio.h>
#include <string.h>
int map[1002][1002];
bool visited[1002][1002];
int depth[1002][1002];
int queue[150100][2];
int top;
int adj[5][2] = {
  
  {0, 0}, {0, -1}, {0, 1}, {-1, 0}, {1, 0}};
#define  enqueue(i, j) queue[top][0] = i;queue[top][1] = j;top++;
#define MAX 0x7F7F7F7F
inline void dequeue(int *i, int *j)
{
     top--;
     *i = queue[top][0];
     *j = queue[top][1];
}
int main()
{
     //freopen("meteor.12.in","r", stdin);
    //freopen("out.out","w", stdout);
     int M;
     int i;
     int j;
     int tempX;
     int tempY;
     inttempTime;
     int X;
盲目式算法的编程实现 内含广度优先搜索程序以及设计深度优先搜索算法。对一个基于 MFC 的名为”八数码”的基本对话框程序进行操作。 立即下载

相关推荐

别只当玩具!聊聊这个555金属探测器电路背后的电磁感应与RLC调谐原理

本文深入解析了555金属探测器电路的工作原理,重点探讨了电磁感应与RLC调谐原理。通过分析电感线圈的电磁特性、RLC谐振电路的行为以及555定时器的多重功能,揭示了这一看似简单的装置如何实现金属检测。文章还提供了灵敏度优化方案和常见问题解决方法,帮助读者从科学角度理解这一实用技术。

weixin_29204205的博客 477

数理金融学笔记 Chap2 二叉树模型Binomial

2 二叉树模型与期权定价 Binomial Model and Option Pricing 文章目录2 二叉树模型与期权定价 Binomial Model and Option Pricing单期二叉树模型 One-step Binomial Model风险与无风险资产单期二叉树模型与无套利条件无套利定价 No Arbitrage Pricing风险中性定价 Risk Neutral PricingDelta套期保值 Delta Hedging两期二叉树模型 Two-Step Binomial Model

weixin_66831131的博客 2387

034、特定场景优化(一):小目标检测的改进策略合集

本文针对工业场景中的小目标检测难题,提出了一套实战优化方案。首先从数据层面建议保持高分辨率输入(1024-1280像素)或采用切块训练策略,并适当放大标注区域。在网络结构上,提出减少下采样次数、增加高分辨率检测头、引入空间注意力机制等改进。损失函数方面推荐使用NWD匹配和QFL损失提升小目标敏感度。部署环节强调NMS优化、分辨率对齐和量化处理技巧。最后总结核心经验:优先优化数据质量而非模型结构,标注一致性比算法更重要,同时需为实际部署预留性能余量。硬件升级有时比算法调优更经济有效。

xiaoyaohou11的博客 652

莫兰指数stata命令_一文读懂16个sp系列stata空间计量命令及应用

spcompress:Compress Stata-format shapefile压缩数据成stata格式的shapefile2、Looking at data/观测数据2、Looking at data/观测数据grmap:Graph choropleth maps绘制等值区域图spdistance:Calculator for distance between places计算区域之间距离3...

weixin_39719989的博客 822

【立创EDA-PCB设计基础】1.嘉立创EDA专业版软件安装+PCB基本概念+原理图绘制

本文详解PCB基本概念以及实现MCU最小系统原理图的绘制(原理图包括MCU芯片GD32F103C8T6、外部晶振、输出端口、USB输入口、5v转3v3稳压输出、复位按键、唤醒按键、LED)及嘉立创EDA专业版软件安装。为本专栏【立创EDA-PCB设计基础】后面章节实现PCB绘制做准备。

嵌入式阿齐Archie 3万+

基于Playwright和反爬虫规避技术的雪球股票讨论数据采集方案

随着量化投资和社交投资的兴起,雪球作为中国领先的投资社交平台,其用户讨论数据成为研究市场情绪的重要来源。本文将详细介绍如何使用最新的Playwright技术和反爬虫规避策略,构建一个高效、稳定的雪球股票讨论爬虫系统。本文详细介绍了基于Playwright的雪球股票讨论爬虫实现方案,涵盖了从基础配置到高级反爬虫策略的各个方面。AI驱动的反爬虫对抗更智能的请求调度算法区块链技术在数据溯源中的应用联邦学习在数据采集中的运用。

2201_76125261的博客 1009

Unreal Engine开发:角色动画与状态机_动画混合:通过混合节点实现平滑动画过渡

动画混合是提升游戏动画质量的关键技术之一。Unreal Engine提供了多种混合节点,包括BlendSpace1D、Blend Two By Bool、Blend Two By Alpha和Sequencer,每种节点适用于不同的场景。通过合理使用这些节点,可以实现平滑、自然且高效的动画过渡效果。此外,遵循最佳实践和高级应用技巧,可以进一步优化动画质量和性能。希望本节内容对你在Unreal Engine中实现动画混合有所帮助,使你的游戏角色动作更加流畅和自然。

chenlz2007的博客 1245

UNet 改进(19):与ASPP结合的图像分割模型

这个代码实现了一个改进版的UNet模型,在传统的UNet架构基础上,引入了ASPP模块来增强模型捕获多尺度上下文信息的能力。​​UNet主干网络​​:经典的编码器-解码器结构,带有跳跃连接​​ASPP模块​​:位于瓶颈层,用于提取多尺度特征。

2401_82355416的博客 878

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 实用算法实现-第12篇 不相交集合(并查集)
下一篇: 实用算法实现-第 14 篇 启发式搜索
存储李希
博客等级 码龄15年 418粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值