2D 模式搜索算法

2024-03-17

我需要学习二维模式搜索算法。非常感谢提示和链接。

更重要的是:

给定一个 M[m,n] 矩阵,其值在 K 中
example

000000000000
000001000000
010100010010 = M, K = {0, 1}
010100010001
101111010111

和一个矩阵 L[i, j],其中 K + {X} 中的值表示“形状”
例如,字母“L”的形状

1X
1X = L
11

哪些算法可以回答以下问题:

  1. L 能在 M 中找到吗?
  2. M 中可以找到 L 多少次(析取 L,没有公共部分(1 或 0))
  3. L 可以在 M 中找到多少次(可以有公共部分(1 或 0))
  4. M 中可以找到多少次 L 和 K(K 的定义类似于 L,K != L)(不相交) ETC。

实现语言是 JavaScript,但任何其他语言都可以。

编辑 还发现this PDF https://web.archive.org/web/20150621110055/http://www.fastar.org/publications/MScMartijn.pdf.


看看这个推介会 https://web.archive.org/web/20150621110105/http://www.fastar.org/publications/MScPresentationMartijn.ppt它应该给你一个基本知识。

X 符号可以被视为通配符,因此它始终会给出匹配项。

不知道你到底是什么意思

在M(不相交)等中可以找到多少次L和K(K的定义与L类似)。

K 代表字母或形状(如 L)?

确定不相交匹配的最大数量的问题将更加困难。该方法如下:

  • 找到所有可能的匹配项
  • 创建图,其中节点表示匹配,边表示两个匹配具有公共字段。
  • 现在你必须在这个图中找到最大独立集(wiki http://en.wikipedia.org/wiki/Independent_set_%28graph_theory%29) - 图中的一组顶点,其中没有两个顶点是相邻的,因此不会违反问题约束。

编辑:如果您的形状是 L,则可以有效地计算匹配。为列和行创建表格,并为每个单元格检查向上和右侧是否存在匹配。

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

2D 模式搜索算法 的相关文章

  • 我们在哪里/什么时候使用 JSON?

    你能告诉我 JSON 有什么用 在 Javascript 和 PHP 中 当我们需要 JSON 方法时 我从以下链接中阅读 但是 我没有获得有关任何项目的 JSON 实现的任何信息 http www json org js html htt
  • firebase.storage() 不是玩笑测试用例中的函数

    我正在使用 Jest 来测试我的 firebase 功能 这一切都在浏览器中进行 因此我与服务器端的 firebase 没有任何冲突 当我使用firebase auth or firebase database 一切正常 当我尝试使用时fi
  • AngularJS 和 Apiary.IO - 无法读取任何响应标头?

    我使用 Apiary io 模拟我的 API 但不知怎的 我无法使用 angularJS 从响应对象中读取任何标头 我确信我至少通过检查 firebug 正确设置了 Content Type application json Angular
  • 匹配 JavaScript RegEx 中的不可见字符

    我有一些包含不可见字符的字符串 但它们位于可预测的位置 通常 围绕我想要提取的文本片段 然后在第二次出现之后我想保留文本的其余部分 我似乎不知道如何关闭隐形字符 and将它们从我的结果中排除 为了匹配隐形 我一直在使用这个正则表达式 xA0
  • 如何在 Asp.Net MVC 上实现客户端 Ajax 登录(Asp.Net Webforms 解决方案的链接位于此处)

    我正在尝试在 Asp Net MVC 上实现客户端 ajax 登录 我以前在 WebForms 上设置得很好 但现在我已经转向 MVC 这给我带来了一些麻烦 如果您想要有关 Asp Net Webforms 的客户端 Ajax 登录的教程
  • 如何在 .js 中的字符串中插入来自 ruby​​ 示例的变量[重复]

    这个问题在这里已经有答案了 在 ruby 中 您可以将变量插入到字符串中 如下所示 x sake puts I like x I like sake 例如 def what i like word I like word end 在 jav
  • Node.js 循环发送 http 请求

    我实际上遇到了使用 node js 执行的 javascript 代码的问题 我需要循环发送http请求到远程服务器 我在代码中设置了www google ca 这是我的代码 var http require http var option
  • Ember:命名出口错误

    我不知道为什么我的模板没有在指定的插座中呈现 这是我第一次尝试学习 ember 我被困在指定的渠道上 我想渲染侧边栏模板 in the outlet sidebar 和内容模板 in the outlet content 但我不断在控制台中
  • JavaScript - 类根据条件扩展

    事情是这样的 我有一个名为 A 的主课 我希望这个班级能够扩展 B 级 class A extends B 但事实上 我希望 B 类在特定条件下扩展 C D 或 E class B extends B1 or class B extends
  • ExpressJS - 提供通用 Nuxt 应用程序和 AngularJS SPA

    我有一个具有以下结构的博客项目 服务器 用 Node Express 编写 管理员 AngularJS SPA public AngularJS SPA 目前 管理部分和公共部分具有相同的域 但管理部分使用不同的子域 这允许我在 Expre
  • 最慢的计算复杂度(Big-O)

    在这些算法中 我知道 Alg1 是最快的 因为它是 n 平方的 接下来是 Alg4 因为它是 n 的立方 然后 Alg2 可能是最慢的 因为它是 2 n 这应该具有非常差的性能 然而Alg3和Alg5在我的阅读速度方面还没有遇到过 这两种算
  • 在流星收集加载时显示加载程序

    我有一个模板 task list 看起来像这样 each tasks gt task each Template task list tasks返回一个集合 在用户界面中 加载似乎需要一些时间 当集合正在加载时 我想显示一个加载指示器 关于
  • jqPlot DateAxis tickInterval 不起作用

    我试图每月绘制一个包含单个数据点的图表 我会在每个月的第一天将其作为一个点发送到 jqPlot jqplot actualChart 2011 10 01 0 296 2011 11 01 0 682 title programSelect
  • Nuxt + Vuex - 如何将 Vuex 模块分解为单独的文件?

    在 Nuxt 文档中 here https nuxtjs org guide vuex store module files 它说 您可以选择将模块文件分解为单独的文件 state js actions js mutations js an
  • 将命令行参数传递给 emscripten 生成的应用程序

    当使用 Emscripten 编译 C 程序时 会生成一个 HTML 页面来显示程序的结果 我想知道如何将命令行参数传递给应用程序 例如 对于原始的 C 程序 它是 bfs 32 1 我能够通过向生成的 html 文件添加一行来传递命令行参
  • 如何使用 Ajax 对 Oracle APEX 表格表单执行逐行验证?

    使用我执行的相同验证 处理 基于此线程 在 Oracle APEX v4 2 2 中通过 Ajax 调用 Oracle 函数进行现场验证 https stackoverflow com questions 21474303 calling
  • 用于检查字符串是否至少包含 3 个字母数字字符的最有效的正则表达式

    我有这个正则表达式 a zA Z0 9 3 我用它来查看字符串中是否至少包含 3 个字母数字字符 似乎有效 它应该匹配的字符串示例 a3c 0 c 8 9 9d 但是 我需要它更快地工作 有没有更好的方法使用正则表达式来匹配相同的模式 编辑
  • 如何使用正则表达式解析 OCC 选项符号?

    OCC 选项符号由 4 部分组成 标的股票或 ETF 的根代码 用空格填充至 6 个字符 到期日期 6 位数字 格式为 yymmdd 期权类型 P 或 C 用于看跌或看涨期权 执行价格 为价格 x 1000 前面填充 0 至 8 位数字 举
  • 如何连接/组合两个数组以连接成一个数组?

    我正在尝试将 JavaScript 中的 2 个数组合并为一个 var lines new Array a b c lines new Array d e f 这是一个简单的例子 我希望能够将它们组合起来 这样当读取第二行时 数组中的第四个
  • d3.js 更新视觉效果

    我有一个与 d3 js 放在一起的树形图 我通过 getJSON 填充数据 效果很好 但是 我在 setInterval 方法中具有此功能 并且它似乎并没有刷新自身 var treemap d3 layout treemap padding

随机推荐

  • 为什么使用不匹配的参数调用重载函数仍然有效

    我无法解释为什么第二个电话 B 不会给出任何错误 因为有两个char元素 并且此调用没有确定的匹配 为什么叫第二个 2 但不是第一个 1 版本 我注意到有一些自动转换 我不明白的是为什么 a 被提升为 int 并且 c isn t 1 in
  • 如果使用了 waitFor,为什么杀死 JVM 也会终止其子进程?

    If waitFor不使用时 杀死JVM对其子进程没有影响 这是一个例子 重击脚本 usr bin env bash echo Sleeping gt log sleep 30 echo Wake up gt gt log Java代码 p
  • Java Applet 在 Safari 中沙箱化?

    自从升级到 Mavericks 后 如果从 Safari 使用 我们工作中的 Applet 就不再能够浏览文件 但在 Firefox 上仍然可以使用 Applet 处理文件上传 因此您可以想象这可能是一个问题 从 Safari 使用它时 我
  • 链接 ipython 小部件按钮和滑块值

    我试图弄清楚如何将按钮小部件控制的计数器的值链接到滑块小部件的值 这里的目标是使用 ipython 小部件创建一个简单的 类似 vcr 的界面 其中包含三个小部件 IntSlider和两个Button递增计数器和递减计数器 这就是我所拥有的
  • 如何将标题图像居中

    我有个问题 其他人问题的答案并没有解决我的问题 这是关于我的标题中的图像 代码如下 HTML div div img class center src http i imgur com jfDhpP5 png div div li a hr
  • 如何使用Python抓取需要先登录的网站

    首先 我认为值得一提的是 我知道有很多类似的问题 但没有一个对我有用 我是 Python html 和网络爬虫的新手 我正在尝试从需要先登录的网站中抓取用户信息 在我的测试中 我使用从 github 抓取我的电子邮件设置作为示例 主页是 h
  • 一个文件夹中包含 100 万个或更多文件,用于包含(缓存)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个 理论 问题 看看我正在计划的解决方案是否有意义 我有一个脚本 可以从数据库中读取大量数据 包括设置 配置等 并将其构建在一起 针对每个注册用
  • 当我们给定中心点和半径大小时,如何绘制球体?

    我有一个像 1 2 2 23 2 3 3 6 3 4 5 的矩阵 每一行表示一个点 What I wish to do is like this I want to create a function which is given two
  • ExpandableListView 是否需要多个 viewHolder?

    我使用这个取景器是否错误 我在第 165 行收到 NPE 是否有明显的原因导致我失踪 如果我使用 ExpandableListView 是否需要组视图持有者和子视图持有者 我标记了第 165 行 以便让眼睛更舒服 多谢 我的可扩展列表视图正
  • Vuejs 3 webpack:vue-template-compiler 问题

    我正在尝试将 vuejs 3 集成到使用 webpack 的现有项目中 我读到了有关 vue loader 的内容 所以我正在尝试使用它 在官方文档中我有这样的内容 每次发布新版本的 vue 时 都会一起发布相应版本的 vue templa
  • Rails 其中 has_many 不为空

    My Campaign模型有很多Response 我想做的是这样的搜索Campaign where not responses nil 基本上返回所有有响应的活动的列表 最好的方法是什么 您可以通过查询来完成join Campaign jo
  • 有什么理由使用 isset() 吗?

    我为什么要使用if isset var 而不仅仅是if var 它似乎做了同样的事情 只是需要额外的处理 谢谢 Reason 原因是 isset 将返回布尔值 并且当您检查变量是否存在并继续时不会引发警告 此外 变量的值也有可能为零 fal
  • 为什么 C 会在 while 循环中卡住?

    当我编译并运行这段代码 它是一个更大的程序的一部分 时 Linux 已经完成了一半while循环 然后就停止工作 下面的代码打印time 0然后挂起 不执行任何其他操作 直到我暂停该进程 到底为什么它会打印time 0但不是下面的健全性检查
  • htaccess 中的重定向规则

    我的新闻有旧网址 例如http example com mynew 35 this is the title http example com mynew 35 this is the title 其中 35 是新闻的 ID 现在我的新网址
  • 列表理解和 len() 与简单的 for 循环

    我应该获取一个单词列表 并计算其中长度为 2 个或更多字符且第一个字符和最后一个字符相等的所有单词 我想出了两种可能的解决方案 result 0 for word in words if len word gt 2 and word 0 w
  • 是否可以将输入数组分散到参数中?

    因此 Promise all 将数组作为值传递到函数中 我更希望它将数组值作为参数传递 假设我有这个功能 function printData a b c console log a b c 我想 Promise all 1 2 3 the
  • GraphDB Free 8.8 Sparql INSERT 返回 400。不支持 INSERT?

    我正在使用 GraphDB Free 并尝试使用 sparql 将一些三元组插入到存储中 该查询看起来像一个简单的 INSERT Some Prefixes INSERT DATA subject predicate object 我使用
  • 无法访问文件“$libdir/plpgsql”:没有这样的文件或目录

    我不知所措 在本地 Postgres 服务器 postgres app Mac OS X 10 7 中创建存储过程时遇到问题 也是如此 psql psql 9 3 0 Type help for help dchaston CREATE O
  • MSSQL2008 - Pyodbc - 以前的 SQL 不是查询

    我无法弄清楚以下代码有什么问题 语法没问题 用 SQL Management Studio 检查 我可以按照我应该的方式访问 这样也可以工作 但由于某种原因 一旦我尝试通过 PyODBC 创建表 它就会停止工作 import pyodbc
  • 2D 模式搜索算法

    我需要学习二维模式搜索算法 非常感谢提示和链接 更重要的是 给定一个 M m n 矩阵 其值在 K 中 example 000000000000000001000000 010100010010 M K 0 1 010100010001 1