脑机辅助推导算法
目录
一,背景
二,华容道中道
1,问题
2,告诉脑机如何编码一个正方形格子
3,让脑机汇总信息
4,观察图,得到启发式算法
5,根据启发式算法求出具体解
6,可视化
一,背景
畅想一下脑机接口成熟之后,当我们遇到一个问题,可能会怎么样使用脑机去解决。
如果思路比较明确,且时间复杂度比较低,可以直接让脑机采用***算法解决问题。
如果有一些灵感,但是没有明确的思路,只有一个非P时间复杂度的垃圾算法,那就可以在脑机的辅助下,逐步推导出什么才是合适的算法。
PS:推导出的可能是比较适合当下情况的算法,而不是通用算法。
二,华容道中道
以最强大脑的《华容道中道》这个项目为例,来模拟一下如何逐步推导出什么才是合适的算法。
1,问题
把数字华容道的数字格变成迷宫格,拼出一条路径出来。
题面(选手比赛玩的就是这个):

2,告诉脑机如何编码一个正方形格子
我的指令:
对于每个正方形格子,边长为3,即由12个单位线段组成。
依次编号1-12,找到缺失的线段,一般都是2个缺口,把2个缺口id记为pair(a,b),1<=a<b<=12
脑机回复:
是这样吗?

我的回复:
是的
3,让脑机汇总信息
我的指令:
统计某个格子,如果有哪个格子的缺口数不是2,单独报告给我。
对于缺口数是2的,按照迷宫规则,判定这2个缺口是否连通,如果不连通,单独报告给我。
对于连通的格子,汇总所有的pair结果
脑机回复:
没有缺口数不是2的,也没有不连通的。99个格子的编码依次是:
5 6 5 8 9 10 6 8 5 8 5 8 7 8 5 6 2 3 7 10
6 7 6 7 5 9 6 8 4 5 1 9 5 7 3 8 10 11 6 9
8 9 9 12 3 4 2 12 5 9 1 8 10 11 1 10 6 8 3 8
1 11 2 5 8 12 4 8 2 10 3 8 3 4 7 10 4 11 4 5
5 8 4 8 2 11 6 11 1 10 3 5 6 9 3 11 11 12 3 4
2 4 6 12 8 10 7 10 5 11 3 5 1 10 1 12 3 11 2 10
8 12 4 11 2 11 4 11 7 12 3 4 9 11 9 11 6 7 2 5
2 6 5 8 4 11 4 7 2 6 9 11 5 11 4 10 4 10 10 11
6 10 5 10 3 11 2 8 5 7 6 12 9 10 3 9 1 10 10 11
7 8 1 11 2 11 6 7 8 10 7 8 5 10 6 8 1 2
我的指令:
计数汇总
脑机回复:
1 10 4
1 11 2
1 12 1
1 2 1
1 8 1
1 9 1
10 11 4
11 12 1
2 10 2
2 11 3
2 12 1
2 3 1
2 4 1
2 5 2
2 6 2
2 8 1
3 11 3
3 4 4
3 5 2
3 8 3
3 9 1
4 10 2
4 11 4
4 5 2
4 7 1
4 8 2
5 10 2
5 11 2
5 6 2
5 7 2
5 8 5
5 9 2
6 10 1
6 11 1
6 12 2
6 7 4
6 8 4
6 9 2
7 10 3
7 12 1
7 8 3
8 10 2
8 12 2
8 9 1
9 10 2
9 11 3
9 12 1
我的指令:
画个图
脑机回复:

PS:图文稍微有一点点不对应,以文字为准。
4,观察图,得到启发式算法
目前看来,应该存在理论最短路(由18个格子组成的迷宫线路),或者接近最短路(不超过20个)。
我们可以先试试,能不能找到理论最短路。
我的指令:
把一端在左边或上边,一端在右边或下边的线给挑选出来,汇总结果。
脑机回复:
1 8 1
1 9 1
2 4 1
2 5 2
2 6 2
2 8 1
3 4 4
3 5 2
3 8 3
3 9 1
4 10 2
4 11 4
5 10 2
5 11 2
6 10 1
6 11 1
6 12 2
7 10 3
7 12 1
8 10 2
8 12 2
9 10 2
9 11 3
9 12 1
脑机回复:
1 下 2
2 右 5
2 下 1
3 右 6
3 下 4
10 右 5
10 下 7
11 右 7
11 下 3
12 右 2
12 下 4
我的回复:
好的,我已经找到了特征,简单来说,1的出口比较少,其次是2的下边出口比较少,3,10,11,12的出口比较多。
于是我们得到了启发式算法:
直接按照数量挑路径,尽量往右穿边界和往下穿边界交替进行,控制往9走的次数,因为9连着1
5,根据启发式算法求出具体解
我的指令:
把“一端在左边或上边,一端在右边或下边的线”对应的子图再画出来。
脑机回复:

我的回复:
基于这个图,我直接很容易算出答案:
12 7
3 8
2 5
11 9
1 9
1 8
2 4
12 8
2 6
10 6
10 4
12 8
2 5
11 6
10 8
2 8
2 6
10 7
6,可视化
我的指令:
帮我把上面这个答案,对应的格子标出来
脑机回复:

相关文章:
脑机辅助推导算法
目录 一,背景 二,华容道中道 1,问题 2,告诉脑机如何编码一个正方形格子 3,让脑机汇总信息 4,观察图,得到启发式算法 5,根据启发式算法求出具体解 6,可视化 一&am…...
【原创教程】三菱FX PLC控制FR-E740变频器
变频器的使用 1. 使用三菱FX PLC 控制变频器时,接线图请按下图所示接线。 各个端子的说明如下: R、S、T:变频器电源,E740变频器电源位3相380V。 STF:正转启动, STF信号ON时为正转、OFF时为停止指令。 STR :反转启动,STR信号ON时为反转、OFF时为停止指令。 RH、RM、RL…...
重读Java设计模式: 深入探讨建造者模式,构建复杂对象的优雅解决方案
引言 在软件开发中,有时需要构建具有复杂结构的对象,如果直接使用构造函数或者 setter 方法逐个设置对象的属性,会导致代码变得冗长、难以维护,并且容易出错。为了解决这个问题,我们可以使用建造者模式。 一、建造者…...
C语言数据结构易错知识点(6)(快速排序、归并排序、计数排序)
快速排序属于交换排序,交换排序还有冒泡排序,这个太简单了,这里就不再讲解。 归并排序和快速排序都是采用分治法实现的排序,理解它们对分支思想的感悟会更深。 计数排序属于非比较排序,在数据集中的情况下可以考虑使…...
使用 React Router v6.22 进行导航
使用 React Router v6.22 进行导航 React Router v6.22 是 React 应用程序中最常用的路由库之一,提供了强大的导航功能。本文将介绍如何在 React 应用程序中使用 React Router v6.22 进行导航。 安装 React Router 首先,我们需要安装 React Router v6…...
单链表的插入和删除
一、插入操作 按位序插入(带头结点): ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。 typedef struct LNode{ElemType data;struct LNode *next; }LNode,*LinkList;//在第i 个位置插插入元素e (带头结点) bool Li…...
全量知识系统 之“程序”详细设计 之 “絮”---开端“元素周期表”表示的一个“打地鼠”游戏
全量知识系统 之“程序”详细设计 概述-概要和纪要 序 絮(一个极简的开场白--“全量知识系统”自我介绍) 将整个“人生”的三个阶段 比作“幼稚园”三班 : 第一步【想】-- “感性”思维游戏:打地鼠 。学前教育-新生期&#x…...
【详细讲解WebView的使用与后退键处理】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
【Linux多线程】生产者消费者模型
【Linux多线程】生产者消费者模型 目录 【Linux多线程】生产者消费者模型生产者消费者模型为何要使用生产者消费者模型生产者消费者的三种关系生产者消费者模型优点基于BlockingQueue的生产者消费者模型C queue模拟阻塞队列的生产消费模型 伪唤醒情况(多生产多消费的…...
Django屏蔽Server响应头信息
一、背景 最近我们被安全部门的漏洞扫描工具扫出了一个服务端口的漏洞。这个服务本身是一个Django启动的web服务,并且除了登录页面,其它页面或者接口都需要进行登录授权才能进行访问。 漏洞扫描信息和提示修复信息如下: 自然这些漏洞如何修复,…...
前端对数据进行分组和计数处理
js对数组数据的处理,添加属性,合并表格数据。 let data[{id:1,group_id:111},{id:2,group_id:111},{id:3,group_id:111},{id:4,group_id:222},{id:5,group_id:222} ]let tempDatadata; tempDatatempData.reduce((arr,item)>{let findarr.find(i>i…...
synchronized 和 lock
synchronized 和 Lock 都是 Java 中用于实现线程同步的机制,它们都可以保证线程安全。 # synchronized 介绍与使用 synchronized 可用来修饰普通方法、静态方法和代码块,当一个线程访问一个被 synchronized 修饰的方法或者代码块时,会自动获…...
ssh 公私钥(github)
一、生成ssh公私钥 生成自定义名称的SSH公钥和私钥对,需要使用ssh-keygen命令,这是大多数Linux和Unix系统自带的标准工具。下面,简单展示如何使用ssh-keygen命令来生成具有自定义名称的SSH密钥对。 步骤 1: 打开终端 首先,打开我…...
LangChain入门:8.打造自动生成广告文案的应用程序
在这篇技术博文中,我们将探讨如何利用LangChain框架的模板管理、变量提取和检查、模型切换以及输出解析等优势,打造一个自动生成广告文案的应用程序。 LangChain框架的优势 在介绍应用程序之前,让我们先了解一下LangChain框架的几个优势: 模板管理: 在大型项目中,文案可…...
AI如何影响装饰器模式与组合模式的选择与应用
🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL应用》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章:设计模式深度解析:AI如何影响…...
【C语言环境】Sublime中运行C语言时MinGW环境的安装
要知道,GCC 官网提供的 GCC 编译器是无法直接安装到 Windows 平台上的,如果我们想在 Windows 平台使用 GCC 编译器,可以安装 GCC 的移植版本。 目前适用于 Windows 平台、受欢迎的 GCC 移植版主要有 2 种,分别为 MinGW 和 Cygwin…...
Ubuntu18.04 下Ublox F9P 实现RTK (利用CORS服务无需自建基站)
本内容参考如下连接:Ubuntu下Ublox F9P利用CORS服务无需自建基站实现RTK-CSDN博客 一、Ublox F9P 硬件模块示意图 图中展示了Ublox F9P的接口,包括串口2(`UART1`和`UART2`),USB1。需要人为通过u-center(Ublox F9P的显示软件)软件设置以下功能: Ublox通过`UART1`向PC端发送…...
springboot+vue在idea上面的使用小结
1.在mac上面删除java的jdk方法: sudo rm -rfjdk的路径 sudo rm -rf /Users/like/Library/Java/JavaVirtualMachines/corretto-17.0.10/Contents/Home 2.查询 Mac的jdk版本和路径: /usr/libexec/java_home -V 3.mac上面查询和关闭idea的网页端口&…...
MyEclipse将项目的开发环境与服务器的JDK 版本保持一致
前言 我们使用MyEclipse开发Java项目开发中,偶尔会遇到因项目开发环境不协调,导致这样那样的问题,在这里以把所有环境调整为JDK1.6 为例。 操作步骤 1.Window-->Preferences-->Java-->Installed JRES 修改为 1.6版本 2.Window-->…...
为BUG编程:函数重载的烦恼 char *匹配bool而不是string
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 这是一个BUG。 运行环境为linu…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
