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

脑机辅助推导算法

目录

一,背景

二,华容道中道

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,可视化

我的指令:

帮我把上面这个答案,对应的格子标出来

脑机回复:

相关文章:

脑机辅助推导算法

目录 一&#xff0c;背景 二&#xff0c;华容道中道 1&#xff0c;问题 2&#xff0c;告诉脑机如何编码一个正方形格子 3&#xff0c;让脑机汇总信息 4&#xff0c;观察图&#xff0c;得到启发式算法 5&#xff0c;根据启发式算法求出具体解 6&#xff0c;可视化 一&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设计模式: 深入探讨建造者模式,构建复杂对象的优雅解决方案

引言 在软件开发中&#xff0c;有时需要构建具有复杂结构的对象&#xff0c;如果直接使用构造函数或者 setter 方法逐个设置对象的属性&#xff0c;会导致代码变得冗长、难以维护&#xff0c;并且容易出错。为了解决这个问题&#xff0c;我们可以使用建造者模式。 一、建造者…...

C语言数据结构易错知识点(6)(快速排序、归并排序、计数排序)

快速排序属于交换排序&#xff0c;交换排序还有冒泡排序&#xff0c;这个太简单了&#xff0c;这里就不再讲解。 归并排序和快速排序都是采用分治法实现的排序&#xff0c;理解它们对分支思想的感悟会更深。 计数排序属于非比较排序&#xff0c;在数据集中的情况下可以考虑使…...

使用 React Router v6.22 进行导航

使用 React Router v6.22 进行导航 React Router v6.22 是 React 应用程序中最常用的路由库之一&#xff0c;提供了强大的导航功能。本文将介绍如何在 React 应用程序中使用 React Router v6.22 进行导航。 安装 React Router 首先&#xff0c;我们需要安装 React Router v6…...

单链表的插入和删除

一、插入操作 按位序插入&#xff08;带头结点&#xff09;&#xff1a; ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。 typedef struct LNode{ElemType data;struct LNode *next; }LNode,*LinkList;//在第i 个位置插插入元素e (带头结点) bool Li…...

全量知识系统 之“程序”详细设计 之 “絮”---开端“元素周期表”表示的一个“打地鼠”游戏

全量知识系统 之“程序”详细设计 概述-概要和纪要 序 絮&#xff08;一个极简的开场白--“全量知识系统”自我介绍&#xff09; 将整个“人生”的三个阶段 比作“幼稚园”三班 &#xff1a; 第一步【想】-- “感性”思维游戏&#xff1a;打地鼠 。学前教育-新生期&#x…...

【详细讲解WebView的使用与后退键处理】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

【Linux多线程】生产者消费者模型

【Linux多线程】生产者消费者模型 目录 【Linux多线程】生产者消费者模型生产者消费者模型为何要使用生产者消费者模型生产者消费者的三种关系生产者消费者模型优点基于BlockingQueue的生产者消费者模型C queue模拟阻塞队列的生产消费模型 伪唤醒情况&#xff08;多生产多消费的…...

Django屏蔽Server响应头信息

一、背景 最近我们被安全部门的漏洞扫描工具扫出了一个服务端口的漏洞。这个服务本身是一个Django启动的web服务&#xff0c;并且除了登录页面&#xff0c;其它页面或者接口都需要进行登录授权才能进行访问。 漏洞扫描信息和提示修复信息如下: 自然这些漏洞如何修复&#xff0c…...

前端对数据进行分组和计数处理

js对数组数据的处理&#xff0c;添加属性&#xff0c;合并表格数据。 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 中用于实现线程同步的机制&#xff0c;它们都可以保证线程安全。 # synchronized 介绍与使用 synchronized 可用来修饰普通方法、静态方法和代码块&#xff0c;当一个线程访问一个被 synchronized 修饰的方法或者代码块时&#xff0c;会自动获…...

ssh 公私钥(github)

一、生成ssh公私钥 生成自定义名称的SSH公钥和私钥对&#xff0c;需要使用ssh-keygen命令&#xff0c;这是大多数Linux和Unix系统自带的标准工具。下面&#xff0c;简单展示如何使用ssh-keygen命令来生成具有自定义名称的SSH密钥对。 步骤 1: 打开终端 首先&#xff0c;打开我…...

LangChain入门:8.打造自动生成广告文案的应用程序

在这篇技术博文中,我们将探讨如何利用LangChain框架的模板管理、变量提取和检查、模型切换以及输出解析等优势,打造一个自动生成广告文案的应用程序。 LangChain框架的优势 在介绍应用程序之前,让我们先了解一下LangChain框架的几个优势: 模板管理: 在大型项目中,文案可…...

AI如何影响装饰器模式与组合模式的选择与应用

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#xff1a;设计模式深度解析&#xff1a;AI如何影响…...

【C语言环境】Sublime中运行C语言时MinGW环境的安装

要知道&#xff0c;GCC 官网提供的 GCC 编译器是无法直接安装到 Windows 平台上的&#xff0c;如果我们想在 Windows 平台使用 GCC 编译器&#xff0c;可以安装 GCC 的移植版本。 目前适用于 Windows 平台、受欢迎的 GCC 移植版主要有 2 种&#xff0c;分别为 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方法&#xff1a; sudo rm -rfjdk的路径 sudo rm -rf /Users/like/Library/Java/JavaVirtualMachines/corretto-17.0.10/Contents/Home 2.查询 Mac的jdk版本和路径&#xff1a; /usr/libexec/java_home -V 3.mac上面查询和关闭idea的网页端口&…...

MyEclipse将项目的开发环境与服务器的JDK 版本保持一致

前言 我们使用MyEclipse开发Java项目开发中&#xff0c;偶尔会遇到因项目开发环境不协调&#xff0c;导致这样那样的问题&#xff0c;在这里以把所有环境调整为JDK1.6 为例。 操作步骤 1.Window-->Preferences-->Java-->Installed JRES 修改为 1.6版本 2.Window-->…...

为BUG编程:函数重载的烦恼 char *匹配bool而不是string

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 这是一个BUG。 运行环境为linu…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...