A fltering algorithm for constraints of difference in CSPs

2023-05-16

A fltering algorithm for constraints of difference in CSPs

一. 摘要

  1. Alldierent约束它们在变量子集上由一组元组修饰,在同一元组中出现的值都是不同的。
  2. 本文针对这些约束条件提出了一种新的过滤算法。 得到了这些非二元约束的广义弧一致性条件。 它基于匹配理论,复杂度低。

二.介绍

  1. CSP解的存在性问题是NP完全的。 因此,一些方法已经发展起来,以简化CSP之前或期间的搜索解决方案。 一致性技术是最常用的技术。对于二进制CSP和N元CSP提出了几种实现弧一致性的算法。

  2. 引入的特殊约束的算法AC-4进行了改进,研究了单调和泛函二元约束。 在本工作中,我们对n元约束的一个特殊情况:“不同约束”感兴趣,为此我们提出了一个过滤算法。

  3. 如果一个约束在变量子集上被一组元组定义,而在同一元组中出现的值都是不同的,则称为“不同约束”。 它们存在于现实生活中的许多问题中。

  4. 这些约束可以表示为n元约束,并用广义弧一致性算法GAC4进行分层。 这种过滤会减少域,但它的复杂性可能会很昂贵。 事实上,它取决于所有可容许元组的长度和数目。 让我们考虑p个变量的“不同约束”,p个变量的值取自基数D的集合。 因此,允许元组的数目对应于从d个元素中选择的p个元素不重复的排列数目:d Pp=d!/(d- p)! .

  5. 因此,一些约束解析系统,用一组二进制约束来表示这些n元约束。 在这种情况下,对属于同一“不同约束”的每对变量建立一个不同的的二元约束。

  6. 但由于这些约束条件,圆弧一致性的剪枝性能较差。 实际上,对于两个变量i和j之间的二元Alldierent约束,只有当j的定义域减少到一个值时,弧一致性才从i的定义域中移除一个值。

  7. 让我们假设我们有一个具有3个变量x1,x2,x3和这些变量之间的一个不同约束的CSP(图1) 变量的定义域为D 1 = {a, b} , D 2 ={a, b} and D 3 ={a, b,c} . GAC4用一个三元约束表示的不同约束消除了x3域中的a和b值,而用不同的二元约束表示的不同约束的弧一致性不删除任何值。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  8. 本文给出了一种实现广义弧一致性条件的有效方法,以便从它的剪枝性能上得到更好的结果。 其空间复杂度为O(Pd),时间复杂度为O(P2d2)。

论文的其余部分组织如下。 第2节对约束满足问题和匹配问题作了一些初步的探讨,并提出了一种仅涉及约束条件的弧一致性约束表示:双弧一致性。 第3节提出了一个新的条件来保证CSPS中的双弧一致性。 在第4节中,我们提出了一个ECIANT实现来实现这个条件,并分析了它的复杂性。 在第五节中,我们用一个例子说明了它的性能和它的兴趣。 第六节给出了结论。

三.准备工作

  • 基本定义
    在这里插入图片描述
    变量x i的域中的值a i与给定的n元约束一致,如果约束中的所有其他变量都存在值使得这些值与a i同时满足该约束。 更一般地说,n元CSP的弧一致性或广义弧一致性如下[Mohr和Masini,1988a]
    在这里插入图片描述
    从前面的定义中,我们提出了一个特殊的弧一致性,它只涉及“不同的约束”:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    如果X中的每个顶点都是匹配(M)中边的端点,则匹配(M)覆盖集合X。
    注意,在二分图G=(X;Y;E)中覆盖X的匹配一定是最大匹配。 (无共同接节点的边集合叫做匹配,那么所有节点一节点对应一个边,一定数量最大,一定四最大匹配)
    在下一节中,我们从匹配的定义和值图的定义出发,给出了一个新的必要条件,以保证diff-arc-consistency 在constraints of difference的CSPs上。

四. CSPs具有constraints of difference约束的一个新条件

下面的定理在constraints of difference的值图中建立了diff-arc-consistency 和匹配概念之间的联系。
在这里插入图片描述
证明:
=>让我们考虑一个constraints of difference和它的值图GV©的约束。 从C的每个可容许元组中,可以建立一组对。 对由元组中的变量及其赋值组成。 对集包含每个变量的对。 这个集合对应于一组边,在GV©中用A表示。 由于p是双弧一致的,所以每个元组中的值都是双弧一致的。 因此,A的两条边不可能有一个公共顶点,A是覆盖X C的匹配。 而且,约束中每个变量的每个值都属于至少一个元组。 因此,GV©的每条边都属于覆盖X的匹配
<=
让我们考虑一个变量x i和它的定义域的一个值a。 对于constraints of difference C的每一个约束,对(x i,a)都属于GV©中覆盖x c的匹配。 由于在匹配中没有两条边有一个共同的顶点,所以约束中的所有其他变量都存在值,使得这些值同时满足约束。 所以P是双弧一致的。
在这里插入图片描述
这个定理给我们提供了一种在CSP中表示constraints of difference 约束的有效方法。 实际上,一个constraints of difference 约束只能用它的值图来表示,空间复杂度为O(pd)。 它还允许我们给出一个基本的算法(算法1)来过滤一个 在其上被constraints of difference约束的集合的变量域。 该算法通过建立迭代约束的值图,计算一个覆盖Xc的匹配,以删除所有不属于匹配覆盖Xc的边(delete every edge which belongs to no matching covering Xc)匹配不覆盖。 图3给出了这种轻量化的应用程序。
在这里插入图片描述

在这里插入图片描述

五. 删除覆盖X的不匹配边

在这里插入图片描述
为了简化表示法,我们考虑了一个二分图G=(x,y,e)而不是二分图G=(Xc,D(Xc),e)和一个在G中覆盖X的匹配M。为了理解我们如何删除所有不属于匹配的边(不匹配),我们提出了一些关于匹配理论的定义。 欲了解更多信息,读者可以咨询[Berge,1970]或[Lovasz and Plummer,1986]
在这里插入图片描述
一个属于每个最大匹配的边是至关重要的。

图3给出了一个在二分图中覆盖x的匹配示例。 粗边是匹配的边。 顶点7是自由的。 路径(7,x6,6,x5,5)是从自由顶点开始的交替路径。 循环(1,x3,3,x2,2,x1,1)是一个交替循环。 边缘(x4,4)是至关重要的。

在这里插入图片描述

每个matching序列当中个都有元素(x4,4)因此是vital
在这里插入图片描述

根据这个性质,我们可以得到一个覆盖X的任意匹配M,每条不属于匹配覆盖X的边(delete every edge which belongs to no matching covering Xc)。有一些边既不属于M(不属于重要),也不属于从自由顶点开始的偶数交替路径,也不属于偶数交替循环。
在这里插入图片描述
证明
1)如果我们忽略等价,很明显这个命题是真的。 在第一种情况下,由于G是二部的,所以它没有任何奇圈。
2)在第二种情况下,我们必须证明G O的每一条从自由顶点开始的有向简单路径对应于G的一条从自由顶点开始的偶数交替路径。 M是覆盖X的匹配,所以X中没有自由顶点。由于G是二部的,并且由于每条路径都从一个自由顶点开始,所以在Y中,每条奇数有向简单路径都以X中的一个顶点结束。从这个顶点出发,我们总是可以在Y中找到一个不属于该路径的顶点,因为X中的每一个顶点都有一个后继,而Y中的一个顶点都有一个前驱。 因此,从一个奇数有向简单路径,我们总是可以建立一个偶数有向简单路径。

  • 从这个命题出发,我们得到了一个线性算法(算法2),它删除了所有不属于匹配覆盖X的边。(does not belong to any matching which covers X.)
  • 第2步寻找所有属于GO的有向简单路的边,它从一个自由顶点开始。 此外,它还得到了一些属于GO的有向圈的边。
  • 步骤3计算GO的强连通分量,因为连接同一强连通分量中两个顶点的边属于有向圈,反之则不属于有向圈。 这些边属于G的偶交替圈(cf point 1 of proposition 1)。 在这一步之后,属于覆盖X的一些但不是所有匹配的所有边的集合A是已知的。 (property1)
  • G中除去的边的集合Re是:Re=E(A[m)
    这是由步骤4完成的。 算法复杂度与强连通分量的搜索相同
  • 即对具有m条边和n个顶点的图的O(m+n)。 我们给出了对于constraints of difference的一个约束,如何删除覆盖xc的所有不匹配边(o no matching which covers Xc)。 但是,一个变量可能受到多个约束,需要传播删除。 事实上,让我们考虑Xi是Xc的一个变量,x i可以受到几个约束。
  • 因此,由于独立于C的原因,可以删除Di的值。该删除涉及从GV©中删除一条边。 因此,有必要研究这种GV©调整结构的后果。
    在这里插入图片描述

六.删除传播

  1. 对一个constraints of difference的值的删除可能涉及对其他约束的一些修改。 对于constraints of difference的其他约束,我们可以利用删除前已知覆盖X的匹配这一事实来做得比重复第一个算法更好。
  2. 我们提出的传播算法有两组集合作为参数。 第一个表示要从二分图中删除的边集,第二个表示要通过过滤删除的边集。 该算法需要一个用MatchingCoveringX(G,M1,M2)表示的函数,该函数从一个不是最大值的匹配M1中计算出一个覆盖X的匹配M2。 如果M2存在,则返回true,否则返回false。 新的过滤由算法3表示。
  3. 全文共分为三个部分。 首先,它从二分图中去除边。 其次,它最终计算一个覆盖Xc的新匹配。 第三,删除不属于任何匹配覆盖Xc的边。 如果ER包含重要边或不存在覆盖Xc的匹配,则该算法返回false
  4. 现在,让我们来计算它的复杂性。设M为G的边数,N为顶点数。假设我们必须从中去掉K条边G (|ER| = k).。算法 1的复杂度在O(k)中。 在最坏的情况下,步骤2包括从基数|M-K|的匹配计算匹配覆盖Xc。 这种计算的代价是O(根号K乘M)(参见[Hopcroft and Karp,1973])。 步骤3的复杂度为O(m)。
  5. 在最坏的情况下,G的边可以一条一条地删除。 那么前一个函数将被调用m次。 因此全局复杂性在O(M2)中。 若p=|Xc|且d是x c的变量域的最大基数,则对于一个constraints of difference约束,复杂度为O(p2d2)。
    在这里插入图片描述

六. 一个例子:斑马问题

  • 那里有5个房子,每个房子都有一个明亮的颜色,住着不同国籍的男人,有宠物,饮料和香烟。
  • 英国人住在红房子里。
  • 西班牙人养了一只狗。
  • Coee在绿色房子喝醉了
  • 乌克兰人喝茶
  • 绿色的房子就在象牙色房子的右边。
  • 老金烟鬼拥有蜗牛
  • 在黄色的房子里,库尔斯正在被熏
  • Milk在中间的房子里喝。
  • 挪威人住在左边的第一个房子里
  • 切斯特尔德吸烟者住在狐狸主人旁边
  • 库尔斯在养马的房子旁边的房子里被熏。
  • 幸运的吸烟者喝橙汁
  • 日本人吸烟议会
  • 挪威人住在蓝房子旁边。
  • 问题是:谁喝水,谁拥有斑马?

这个问题可以表示为一个包含25个变量的约束网络,每个变量对应5个颜色、饮料、国籍、香烟和宠物:
在这里插入图片描述
每个变量具有域值{1,2, 3, 4,5},每个数字对应一个房子位置(例如将值2赋给可变马意味着马主人住在第二个房子里)[Dechter,1990]。 断言2到15被转换为一元和二元约束。 此外,有三种表示第一个断言的方法,这意味着同一集群中(颜色、饮料、国籍、香烟和宠物)的变量必须采用不同值:
在这里插入图片描述
第一种表示法通常被用来解决这个问题[Dechter,1990;Bessiere和Cordier,1993]。 从这三种表示形式出发,我们可以研究弧相合的一些结果。 它们在图4和5中给出。 对应于断言2到15的约束在扩展中表示。 为了清楚起见,省略了各聚类变量之间的不确定性约束。

  1. 对于第一种表示,在图4中给出了圆弧相合化的结果。
  2. 对于第二种表示,采用了广义弧相合算法。 图5显示了新的结果。 它修剪了比上一个更多的值。
  3. 对于第三种表示,对二元约束采用圆弧一致性算法,并结合对二元约束采用新的迭代算法。 所得结果与第二种方法相同。
    在这里插入图片描述
    在这里插入图片描述
    让我们用与断言2到15相对应的二进制约束的数目来表示,p表示一个簇的大小,c表示簇的数目,d表示一个域中的值的数目,o(ed2)表示二进制CSPs中弧一致性2的复杂度。 让我们计算这三种方法的复杂性:
    在这里插入图片描述
    第二个轻量化消除了比第一个更多的值。 但它的复杂性更高。 本文提出的表示和算法给出了与第二种方法相当的剪枝结果,其复杂度与第一个方法相同。 因此,我们可以得出结论,新的过滤是好的来解决问题即看起来像斑马的问题。

七. 结论

本文给出了CSPS中的一种离散约束的过滤算法。 该算法可以看作是实现一类特殊约束&离散约束的广义弧一致性条件的一种有效方法。 它使我们能够以较低的复杂度从前面条件的剪枝性能中获得提高。 实际上,对于一个约束条件,其空间复杂度为O(Pd),时间复杂度为O(P2,d2)。 它已经被证明对斑马问题非常有效。 并成功地用于复杂有机合成方案的计算机辅助设计系统Resyn[Vismara et al.,1992]中的子图同构问题的求解。

更多问题欢迎关注微信公众号“厚点编程”后台私信进一步沟通

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

A fltering algorithm for constraints of difference in CSPs 的相关文章

  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • 验证 sql/oracle 中的电子邮件/邮政编码字段

    对于以下方面的一些建议将不胜感激 是否可以通过 oracle 中的 sql 中的某种检查约束来验证电子邮件和邮政编码字段 或者我怀疑 pl sql 带有正则表达式的这种事情 Thanks 这是电子邮件地址的正则表达式语法 包括引号 a zA
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • 迭代任意大小的子集

    我可以迭代大小为 1 的子集 for int a 0 a lt size a 或大小为 2 的子集 for int a1 0 a1 lt size a1 for int a2 a1 1 a2 lt size a2 or 3 for int
  • 具有 2 个属性的背包算法。如何在 3d 数组中实现它?

    当有超过 1 个属性时 我无法理解背包问题 当有 1 个属性时 我必须编写一个使用具有 2 个属性的背包算法的程序 老师告诉我们 它必须在 3d 数组中完成 错误的实现将导致 O 2 n 处理时间 我无法想象这样的数组会是什么样子 假设这是
  • 从一种数字系统转换为另一种数字系统后会有多少位数字

    主要问题 有多少位数字 让我解释 我有一个二进制数 11000000 十进制数是192 转换为十进制后 它有多少位 以十进制表示 在我的示例中 它是 3 位数字 但是 这不是问题 我在互联网上搜索并找到了一种用于整数部分的算法和一种用于小数
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 在 O(n) 时间内排序?

    我被这个问题困扰了 2周 知道如何处理它吗 令 L 为 n 个不同整数的列表 假设 L 的 x 的元素在 1 750 范围内 设计线性排序算法对 L 的元素进行排序 我已经尝试过插入排序 但我不确定我的方法是否正确 Construct an
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • 限制实体框架中子实体的数量

    底线在前 有没有一种简洁的方法可以限制可以属于实体框架中父级的子实体的数量 我现在使用的是4 3 1 问题 我正在开发一个 ASP NET MVC3 站点 它通过使用实体框架的数据访问层访问数据 我有一个 SearchList 实体 它与搜
  • 数量重新分配逻辑 - 具有外部数据集的 MapGroups

    我正在研究一种复杂的逻辑 需要将数量从一个数据集重新分配到另一个数据集 在例子中我们有Owner and Invoice 我们需要从数量中减去Invoice准确地Owner匹配 在给定汽车的给定邮政编码处 减去的数量需要重新分配回同一辆车出
  • 我正在尝试寻找“调酒师算法”

    我正在解决旧编程竞赛中的一些示例问题 在这个问题中 我们输入了我们有多少调酒师以及他们知道哪种配方 每杯鸡尾酒的制作时间为 1 分钟 我们需要计算是否可以在 5 分钟内使用所有调酒师完成订单 解决这个问题的关键是尽可能高效地分配鸡尾酒 这就
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 应用对数来导航树

    我曾经知道一种使用对数从树的一片叶子移动到树的下一个 有序 叶子的方法 我认为它涉及获取 当前 叶子的位置值 排名 并将其用作从根向下到新目标叶子的新遍历的种子 一直使用对数函数测试来确定是否沿着右或左节点向下到达叶子 我已经不记得如何运用
  • 如何优化分割重叠范围?

    我编写的这个 Python 脚本用于将重叠范围拆分为唯一范围 最后一次迭代 https codereview stackexchange com questions 285932 python script to split overlap
  • 如何使用 python 有效地找到两个大文件的交集?

    我有两个大文件 它们的内容如下所示 134430513125296589151963957125296589 该文件包含未排序的 id 列表 某些 id 可能会在单个文件中出现多次 现在我想找到路口两个文件的一部分 这就是两个文件中都出现的
  • 查找其索引的乘积可被另一个数字 X 整除的对的数​​量

    给定一个数组和某个值 X 找到满足以下条件的对的数量 i lt j a i a j and i j X 0 Array size lt 10 5 我想这个问题有一段时间了 但只能想出蛮力解决方案 通过检查所有对 这显然会超时 O N 2 t
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • pytesseract 无法从图像中识别复杂的数学公式

    我在用pytesseractpython 中的模块 pytesseract从图像中识别文本 但它不适用于包含复杂数学公式 例如根 推导 积分数学问题或方程 的图像 代码2 py Import modules from PIL import
  • 在矩阵/位图中查找质量簇

    这是此处发布的问题的延续 在 2D 位图上查找质心 https stackoverflow com questions 408358 finding the center of mass on a 2d bitmap正如给出的例子 它讨论了

随机推荐

  • android 单双层桌面切换

    单双层桌面切换由于必须持久化数据 所以必须多创建单层桌面所须要的数据库表 一表为存储桌面图标 xff0c 表结构跟原生 桌面表一样 直接copy一份就可以了一表为存储桌面页 xff0c 表结构跟原生一样 创建上面两张表时注意下 数据库版本升
  • 对专业学习的期望与目标

    外界对计算机专业的评价多为晦涩 枯燥 难解 xff0c 一度 xff0c 让我这个初涉计算机领域的新手感到胆怯 彷徨 xff0c 而如今 xff0c 虽然我对计算机还是没有理解透 xff0c 还没有融入计算机的海洋 xff0c 却在一场极简
  • BGP路由

    内容概要 1 BGP的基本概念2 BGP的特点3 BGP的分类4 BGP的路由器5 BGP的工作原理6 BGP的状态机7 BGP对等体之间的交互原则8 建立对等体注意点9 命令 实验 1 BGP的基本概念 自治系统AS xff1a As是指
  • 【小5聊】VS2019开发工具之安装和部署winform项目

    VS2019版本 xff0c 已经移除了安装和部署功能 xff0c 需要到管理扩展下载 1 管理扩展下载安装和部署功能 installer Projects 记得需要关闭VS开发工具 xff0c 然后会自动安装 2 新建项目 搜索setup
  • C语言与C++的区别

    文章目录 前言语法加强部分一 struct关键字加强 xff1b 二 声明变量得到加强三 检测性加强1 申请寄存器变量并取地址问题2 重复定义变量问题3 函数传参问题 四 三目运算符的优化五 const常量的声明 主要有以下扩充引入了命名空
  • 双目+IMU标定详细流程、相关文件格式说明分析【T265为例】

    最近做一个无人机避障的项目 xff0c 无人机上面安装了机载电脑 xff0c 通过笔记本电脑进入机载电脑的桌面 xff0c 使用提前写好地脚本运行VIO 路径规划 飞控和相机启动 xff0c 在RVIZ中观察建图 定位和航迹点 xff0c
  • freertos与rt-thread在应用上的一些区别

    1 中断管理上的区别 freertos进入临界区时 xff0c 不响应优先级低于设定阈值的中断 xff0c 此时若需要一个绝对的定时时间来做一些采样业务 xff0c 那么采样周期就有可能被打断 若把中断优先级设定高于设定阈值 xff0c 就
  • 神经网络学习(一):拟合简单函数

    前言 学习用神经网络做点数学上的研究 xff0c 刚开始摸索 xff0c 记录一下过程 今天是用深度学习 xff08 Deep Learning xff09 来拟合一些函数 xff08 因为多项式的拟合比较简单 xff0c 直接学习参数就可
  • 远程访问云服务器上Neo4j等服务的本地网址

    使用腾讯云服务器安装Neo4j xff0c 其服务器启动在服务器的7474端口上 xff0c 即服务在http localhost 7474 而由于使用的命令行形式 xff0c 我们可以使用命令行控制浏览器访问固定网址 xff0c 并返回但
  • joern运行后.joernindex数据库无内容

    问题描述 xff1a 配置joern和neo4j的过程全部完成后 xff0c 具体过程见文章 但是当我导入数据之后 xff0c 产生了 joernindex文件 xff0c 该文件产生的位置和你当前所在文件夹 xff0c 具体位置可以在jo
  • linux中anaconda安装(Ubuntu)

    1 先去官方地址下载好对应的安装包 Ubuntu anaconda 下载地址 2 然后直接安装anaconda 命令安装 bash span class token operator span span class token operat
  • ImportError: `save_weights` requires h5py.问题解决

    问题分析 xff1a keras或者tensorflow保存模型是时候需要结合h5py使用 xff0c 所以需要安装该库即可 xff0c 并且保证h5py版本和keras或者tensorflow匹配问题 问题解决 安装h5py即可 pip
  • ModuleNotFoundError: No module named ‘yaml‘

    显示没有该库 xff0c 则安装即可 xff0c yaml的库名为pyyaml 解决方案 pip install pyyaml 如果有问题欢迎进一步交流 xff0c 关注公众号
  • scikit-learn no moudule named six

    在scikit learn版本0 23中删除了模块sklearn externals six 解决方案 要使用它 xff0c 你必须降级到0 22版本及以下 xff0c 可以执行以下命令 pip install scikit span cl
  • word2vec原理

    word2vec 主线 前言 Efficient Estimation of Word Representations in Vector Space Distributed Representations of Words and Phr
  • MyBatis--原生的 API--注解的方式和MyBatis--mybatis-config.xml-配置文件详解

    目录 原生的 API amp 注解的方式 MyBatis 原生的 API 调用 为了大家的观看我把基于xml的配置和类也展示了如果你想要详细的观看可以看 连接这个博客 创建Monster 创建MonsterMapper接口 创建Monste
  • word2vec发展过程

    引用 https www douban com note 323504583 Google目前开源了一款深度学习工具word2vec xff0c 该工具有很多有意思的特性 顾名思义 xff0c word2vec就是将词语转换为向量 xff0
  • 目标检测—安全帽检测实践

    目录 数据集部分 后端部分 前端部分 前后端连接 数据集部分 xff1a 在该项目当中我们采用的是传统的开源数据集SHWD Safety helmet hardhat wearing detect dataset 数据集标签为hat xff
  • 网页爬虫开发基础实验

  • A fltering algorithm for constraints of difference in CSPs

    A fltering algorithm for constraints of difference in CSPs 一 摘要 Alldierent约束它们在变量子集上由一组元组修饰 xff0c 在同一元组中出现的值都是不同的 本文针对这些