当前位置: 首页 > news >正文

【人工智能】—约束传播、弧约束、问题结果与问题分解、局部搜索CSP

【人工智能】—约束传播、弧约束、问题结果与问题分解、局部搜索CSP

  • 约束传播
  • 弧约束
    • 弧相容算法AC-3
  • 问题结构
    • 化简约束图-树结构
  • CSP问题的局部搜索
    • CSP的迭代算法
    • 举例:4-Queens
      • 加速:模拟退火法
      • 加速:最小最大优化(约束加权法)
  • 小结

约束传播

  • 前向检验将信息从已分配的变量传播到未分配的变量,但不能为所有失败情景提供早期检测:在这里插入图片描述NT和SA不能都是蓝色的!
  • 约束传播在局部重复强制执行约束

弧约束

在这里插入图片描述

  • 能使每个弧相容的最简单形式:
    • X→Y是可相容的,当:

      • 对于X的每个值x,Y都存在不与之冲突的取值y在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    • 如果X丢失了一个值,则需要重新检查X的邻居

    • 弧相容比前向检验更早检测到可能失败的情景

    • 弧相容可以作为预处理运行,也可以在每次分配后运行

弧相容算法AC-3

在这里插入图片描述

  • 时间复杂度:O(n2d3)O(n^2d^3)O(n2d3)在这里插入图片描述

问题结构

  • T和其它地区是独立的子问题,独立性可以简单地通过在约束图中寻找连通子图来确定。每个连通子图对应于一个子问题CSP
    在这里插入图片描述

  • 假设每个子问题有n个变量中的c个。最坏情况下的解决方案成本是n/c⋅dcn/c·d^cn/cdc,对n是线性的在这里插入图片描述

  • 例如,n=80,d=2,c=20n=80,d=2,c=20n=80d=2,c=20

    • 280=402^{80}=40280=40亿年,1000万个节点/秒
    • 4⋅220=0.44·2^{20}=0.44220=0.4秒,1000万个节点/秒
  • 任何一个树状结构的CSP问题可以在变量个数的线性时间内求解;在这里插入图片描述在这里插入图片描述

    如果约束图没有循环,CSP可以在O(n⋅d2)O(n·d^2)O(nd2)时间内解决
    与一般CSP相比,最坏情况下的时间是O(dn)O(d^n)O(dn)
    在这里插入图片描述

化简约束图-树结构

在这里插入图片描述
在这里插入图片描述

CSP问题的局部搜索

CSP的迭代算法

  • 爬坡法、模拟退火法通常对 "完整 "状态进行工作,即所有变量均被分配在这里插入图片描述
  • 为了适用于CSP:
    • 允许有未满足的约束条件的状态
    • 操作者重新分配变量值
  • 变量选择:随机选择任何有冲突的变量
  • 通过最小冲突进行价值选择 启发式
    • 选择会造成与其它变量的冲突最小的值
    • 在爬山法中,h(n)=被违反的约束总数

举例:4-Queens

  • 状态: 4个皇后在4列(44=256个状态)
  • 行动:在列中移动皇后
  • 目标测试:没有冲突
  • 评价:h(n)=冲突次数
    在这里插入图片描述
  • 最小冲突启发式的性能
    • 给定随机初始状态,可以在几乎恒定的时间内解决任意n的高概率问题(如n=10,000,000)的n-queens。
    • 对于任何随机生成的CSP来说,除了在一个狭窄的比率范围内,似乎也是如此。在这里插入图片描述
  • 在3-SAT问题中也能取得很好的性能:在这里插入图片描述

加速:模拟退火法

  • 思路:通过允许一些 "坏 "的动作来逃避局部最大值,但要逐渐减少其频率在这里插入图片描述

加速:最小最大优化(约束加权法)

  • 在这里插入图片描述在这里插入图片描述

小结

在这里插入图片描述

相关文章:

【人工智能】—约束传播、弧约束、问题结果与问题分解、局部搜索CSP

【人工智能】—约束传播、弧约束、问题结果与问题分解、局部搜索CSP约束传播弧约束弧相容算法AC-3问题结构化简约束图-树结构CSP问题的局部搜索CSP的迭代算法举例:4-Queens加速:模拟退火法加速:最小最大优化(约束加权法)小结约束传播 前向检…...

Java设计模式面试专题

1.请列举出在 JDK 中几个常用的设计模式? 单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像 Boolean.value…...

文件(下)——“C”

各位CSDN的uu们你们好呀,今天,小雅兰的内容是文件的知识点,下面,就让我们进入文件的世界吧 文件的顺序读写 文件的随机读写 fseek ftell rewind 文本文件和二进制文件 文件读取结束的判定 文件缓冲区 在上篇博客中&#xff0c…...

bugku 渗透靶场3

前言 本题一共八个flag,主要是为了练习内网渗透的思路。 解题思路 首先给了一个站长之家-模拟蜘蛛爬取,这个以前见到过,存在sstf漏洞,直接读取文件。 file:///flag既然是要内网渗透,那肯定要看/etc/hosts。 file:…...

NER 任务以及联合提槽任务

KBERT 论文:《K-BERT: Enabling Language Representation with Knowledge Graph》 论文地址:https://arxiv.org/pdf/1909.07606v1 git地址:https://github.com/autoliuweijie/K-BERT SoftLexicon 出自ACL 2020的Simplify the Usage of Lexic…...

scala函数式编程

目录 不同范式对比: 1.面向对象编程 2.函数式编程 2.1函数基本语法 2.2函数和方法的区别 核心概念: 2.3函数定义 2.4函数参数 2.5 函数至简原则 2.6.高阶函数 三.偏函数 四.柯里化函数 五.递归函数 递归函数注意点: 六.控制抽象 1…...

网吧2023:热闹回来了,电竞战歌起

【潮汐商业评论/原创】 大年初四下午,人民公园附近尚未恢复往日热闹,上海网鱼电竞负责人崔潇瀚驱车前往位于人广世贸商场的网鱼电竞。 与广场上三两路人行色匆匆相比,门店显得忙碌异常,前台的服务叫单声响个不停,员工…...

代码随想录算法训练营第五十九天|503.下一个更大元素II、42. 接雨水

​ LeetCode 503 下一个更大元素II 题目链接:https://leetcode.cn/problems/next-greater-element-ii/ 思路: 方法一:两个for循环遍历单调栈 第一个for循环确定数组中的某个值在右边有最大的数,第二个for循环是为了可以使数组变成循环数…...

9、简单功能分析

文章目录1、静态资源访问1.1、静态资源目录1.2、如果静态资源与controller资源重名1.3、改变默认的静态资源路径1.4、修改静态资源访问前缀1.5、webjar2、欢迎页支持3、自定义 Favicon4、静态资源配置原理4.1、与Web开发有关的相关自动配置类4.2、WebMvcAutoConfiguration 注解…...

如何发送和接收参数?五种参数传递方法

通常情况下,我们可以使用GET或POST来发送请求和数据,但GET和POST两种方法所携带的数据都是比较简单的数据,接下来在我们这个基础上,列举5种比较负责的参数传递方法,并对这些参数如何发送,后台改如何接收做详…...

蓝桥杯C/C++VIP试题每日一练之矩形面积交

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…...

Spark大数据处理讲课笔记2.4 IDEA开发词频统计项目

文章目录零、本讲学习目标一、词频统计准备工作(一)启动集群的HDFS与Spark(二)在HDFS上准备单词文件二、本地模式执行Spark程序(一)创建Maven项目(二)添加Spark相关依赖,…...

【ChatGPT 】国内无需注册 openai 即可访问 ChatGPT:ChatGPT Sidebar 浏览器扩展程序的安装与使用

一、前言 问题:国内注册 openai 账号麻烦,新必应有部分人也无法登录成功,存在域名单点登录失败等问题,所以无法真正使用 ChatGPT 解决:大部分人仅需使用 ChatGPT 的搜索功能,无需真正对话,需要…...

使用fetch()异步请求API数据实现汇率转换器

任务8 https://segmentfault.com/a/1190000038998601 https://chinese.freecodecamp.org/news/how-to-master-async-await-with-this-real-world-example/ 跟随上面的指示,理解异步函数的编写,并且实现这个汇率转换器。 第一步:在工作区初始…...

GPT-4“王炸”,10秒钟开发一套Web + APP 系统

10秒钟做出一个网站 一则有关GPT4发布会的视频在网上流传,这则两分钟的视频演示的内容是: 1. 在草稿本上用纸笔画出一个非常粗糙的草图; 2. 拍照告诉 GPT 我们要做一个网站,效果正如图所示,让其生成网站代码&#xff1…...

Disjoint 集合数据结构或 Union-Find 算法简介

联合查找算法是一种对此类数据结构执行两个有用操作的算法: 查找:确定特定元素在哪个子集中。这可用于确定两个元素是否在同一子集中。联合:将两个子集连接成一个子集。这里首先我们必须检查这两个子集是否属于同一个集合。如果否&#xff0c…...

uniapp中nvue与vue的区别?

文章目录简介nvue 和 vue 相互通讯方式:nvue注意事项:简介 uni-app是逻辑渲染分离的,渲染层在app端提供了两套排版引擎, 小程序方式的webview渲染和weex方式的原生渲染,两种渲染引入可以自己根据需要选。 vue文件走的…...

带头双向循环链表的实现

1.结构体的创建以及类型重定义 typedef int LTDataType; typedef struct ListNode {LTDataType data;struct ListNode* prev;struct ListNode* next; }LTNode;2.链表的初始化 这个函数用于创建节点,后面还会用到。 LTNode* BuyListNode(LTDataType x) {LTNode* n…...

大屏使用dv-digital-flop定时刷新显示总人数

本文在基础上进行改进,后端使用若依后端IofTV-Screen: 🔥一个基于 vue、datav、Echart 框架的物联网可视化(大屏展示)模板,提供数据动态刷新渲染、屏幕适应、数据滚动配置,内部图表自由替换、Mixins注入等功…...

Java面向对象部分 个人学习记录

注:此博客是个人学习记录,会有错的地方,面向对象部分我可能会画很多图来加深我的理解 不引出了,直接开始 class Dog{String name;int age;String type;public Dog(String name,int age,String type){this.namename;this.ageage;this.typetyp…...

别再重装OriginPro了!遇到盗版弹窗,试试这个修改Hosts文件的永久方案

彻底解决OriginPro授权验证问题的技术指南 引言:为何传统方法无法根治授权问题 许多科研工作者和数据分析师都曾遇到过这样的困扰:明明已经安装了正版OriginPro软件,却频繁遭遇"盗版提示"弹窗。更令人沮丧的是,重装系统…...

128K上下文开源代码模型:DeepSeek-Coder-V2赋能开发者的技术解析

128K上下文开源代码模型:DeepSeek-Coder-V2赋能开发者的技术解析 【免费下载链接】DeepSeek-Coder-V2 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-V2 在软件开发效率日益成为竞争力核心指标的今天,开发者面临着代码生成质…...

Python爬虫实战:手把手教你如何基于 Python 异步架构的 Crates.io 工业级爬虫实战!

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐⭐☆☆☆(基础级) 🉐福利: 一次订阅…...

CSS 嵌套语法最佳实践:从入门到精通的完整指南

CSS 嵌套语法最佳实践:从入门到精通的完整指南 CSS 是流动的韵律,JS 是叙事的节奏。而 CSS 嵌套,是让这份韵律更加优雅、结构更加清晰的魔法。 一、CSS 嵌套:现代样式表的革命 CSS 嵌套(Nesting)是 CSS 原…...

C# 核心技术解析:Parse vs TryParse 实战指南

文章目录1. 核心区别&#xff1a;暴力型 vs. 稳重型Parse: 默认数据正确TryParse: 典型的 C# 模式示例2. 执行流程图3. 性能4. 高性能方案4.1. 高性能转换&#xff1a;Span<char> 与 Utf8Parser4.2. 执行流程&#xff1a;内存视角4.3. 类型转换对比5. 易混淆在 C# 处理字…...

5步搭建DeepSeek-OCR服务:从部署到调用完整教程

5步搭建DeepSeek-OCR服务&#xff1a;从部署到调用完整教程 1. 引言&#xff1a;为什么选择DeepSeek-OCR 1.1 OCR技术的实际应用场景 在日常工作和生活中&#xff0c;我们经常遇到需要从图片中提取文字的场景。比如&#xff1a; 扫描的合同或发票需要转为可编辑文本手机拍摄…...

HTTP自动化测试架构:基于QD框架的HAR模板规模化治理策略

HTTP自动化测试架构&#xff1a;基于QD框架的HAR模板规模化治理策略 【免费下载链接】templates 基于开源新版 QD 框架站发布的公共har模板库&#xff0c;仅供示例 项目地址: https://gitcode.com/GitHub_Trending/templa/templates 在当今云原生和微服务架构盛行的时代…...

图像修复效率提升:设计师与开发者必备的7个开源AI模型应用技巧

图像修复效率提升&#xff1a;设计师与开发者必备的7个开源AI模型应用技巧 【免费下载链接】ComfyUI-BrushNet ComfyUI BrushNet nodes 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-BrushNet 在数字创作与内容修复领域&#xff0c;如何快速高效地消除图像瑕疵…...

STM32实战指南_基于STM32F103的智能交通灯系统设计与实现(硬件+软件+调试)

1. 项目背景与需求分析 十字路口的交通拥堵是城市治理的经典难题。传统定时切换的交通灯就像个固执的老头子&#xff0c;不管车多车少都按固定节奏工作&#xff0c;经常出现一边排长龙、另一边空荡荡的尴尬场景。这次我们要用STM32F103这颗"最强大脑"给交通灯装上&qu…...

Pixel Mind Decoder 效果对比评测:在不同文体和语言风格下的表现

Pixel Mind Decoder 效果对比评测&#xff1a;在不同文体和语言风格下的表现 1. 核心能力概览 Pixel Mind Decoder 是一款专注于文本情绪解码的模型&#xff0c;能够识别和分析不同文本中蕴含的情感倾向。与通用情感分析工具不同&#xff0c;它特别擅长处理复杂语境下的微妙情…...