记忆翻牌游戏:认知科学与状态机的交响曲
目录
- 记忆翻牌游戏:认知科学与状态机的交响曲
- 引言
- 第一章 网格空间拓扑学
- 1.1 自适应网格算法
- 1.2 卡片排布原理
- 第二章 状态机设计
- 2.1 状态跃迁矩阵
- 2.2 时空关联模型
- 第三章 记忆强化机制
- 3.1 认知衰减曲线
- 3.2 注意力热力图
- 第四章 动画引擎设计
- 4.1 翻牌运动方程
- 4.2 粒子反馈系统
- 第五章 难度平衡体系
- 5.1 模式复杂度计算
- 5.2 动态干扰系统
- 第六章 神经科学验证
- 6.1 脑电信号适配
- 6.2 认知负荷监测
- 结语
- 附录:部分代码
记忆翻牌游戏:认知科学与状态机的交响曲
需要源码请+V:xrbcgfh0214
引言
记忆翻牌游戏作为经典的认知训练工具,其设计融合了空间记忆理论与有限状态机原理。本文将深入探讨如何通过网格动力学模型、状态跃迁矩阵和认知负荷优化,构建既符合人类记忆规律又具备游戏性的翻牌系统。
第一章 网格空间拓扑学
1.1 自适应网格算法
动态调整网格尺寸的优化方程:
N = arg min n ( ∣ n 2 − k ∣ + λ ⋅ Balance ( n ) ) N = \arg\min_{n} \left( |n^2 - k| + \lambda \cdot \text{Balance}(n) \right) N=argnmin(∣n2−k∣+λ⋅Balance(n))
其中 k k k为总牌数,平衡因子计算:
Balance ( n ) = ∣ n ⌈ k ⌉ − ϕ ∣ ( ϕ = 0.618 ) \text{Balance}(n) = \left| \frac{n}{\lceil \sqrt{k} \rceil} - \phi \right| \quad (\phi=0.618) Balance(n)=∣∣∣∣⌈k⌉n−ϕ∣∣∣∣(ϕ=0.618)
1.2 卡片排布原理
采用量子化随机分布算法保证均匀性:
- 将网格划分为 m × m m \times m m×m超级单元
- 每个单元内随机放置 c c c张同类卡:
m = ⌊ N p a i r s ⌋ , c = N t o t a l m 2 m = \lfloor \sqrt{N_{pairs}} \rfloor, \quad c = \frac{N_{total}}{m^2} m=⌊Npairs⌋,c=m2Ntotal
第二章 状态机设计
2.1 状态跃迁矩阵
定义游戏状态集合 S = { 等 待 , 翻 开 , 匹 配 , 结 束 } S=\{等待, 翻开, 匹配, 结束\} S={等待,翻开,匹配,结束},转移概率矩阵:
P = [ 0.7 0.3 0 0 0 0 0.6 0.4 1 0 0 0 0 0 0 1 ] P = \begin{bmatrix} 0.7 & 0.3 & 0 & 0 \\ 0 & 0 & 0.6 & 0.4 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} P=⎣⎢⎢⎡0.70100.300000.60000.401⎦⎥⎥⎤
2.2 时空关联模型
记录卡片关联状态的三维张量:
T i , j , t = { 1 位置(i,j)在t时刻被激活 0 其他状态 \mathcal{T}_{i,j,t} = \begin{cases} 1 & \text{位置(i,j)在t时刻被激活} \\ 0 & \text{其他状态} \end{cases} Ti,j,t={10位置(i,j)在t时刻被激活其他状态
第三章 记忆强化机制
3.1 认知衰减曲线
基于艾宾浩斯记忆模型设计提示系统:
R ( t ) = e − t − μ σ 2 R(t) = e^{-\frac{t-\mu}{\sigma^2}} R(t)=e−σ2t−μ
动态调整参数保持最佳记忆强度:
μ n e w = μ o l d + α ⋅ ( R e c a l l A c c u r a c y − 0.75 ) \mu_{new} = \mu_{old} + \alpha \cdot (RecallAccuracy - 0.75) μnew=μold+α⋅(RecallAccuracy−0.75)
3.2 注意力热力图
通过隐马尔可夫模型预测注意焦点:
P ( X t ∣ X t − 1 ) = 1 Z exp ( − ∣ ∣ X t − X t − 1 ∣ ∣ 2 2 γ 2 ) P(X_t|X_{t-1}) = \frac{1}{Z}\exp\left(-\frac{||X_t - X_{t-1}||^2}{2\gamma^2}\right) P(Xt∣Xt−1)=Z1exp(−2γ2∣∣Xt−Xt−1∣∣2)
第四章 动画引擎设计
4.1 翻牌运动方程
卡片旋转的微分方程描述:
d 2 θ d t 2 + c d θ d t + k θ = T e x t \frac{d^2\theta}{dt^2} + c\frac{d\theta}{dt} + k\theta = T_{ext} dt2d2θ+cdtdθ+kθ=Text
临界阻尼条件下的最优参数:
c = 2 m k c = 2\sqrt{mk} c=2mk
4.2 粒子反馈系统
成功匹配时的粒子喷射轨迹:
{ x ( t ) = v 0 t cos ( θ + δ ) y ( t ) = v 0 t sin ( θ + δ ) − 1 2 g t 2 δ ∼ U ( − π 8 , π 8 ) \begin{cases} x(t) = v_0 t \cos(\theta + \delta) \\ y(t) = v_0 t \sin(\theta + \delta) - \frac{1}{2}gt^2 \\ \delta \sim \mathcal{U}(-\frac{\pi}{8},\frac{\pi}{8}) \end{cases} ⎩⎪⎨⎪⎧x(t)=v0tcos(θ+δ)y(t)=v0tsin(θ+δ)−21gt2δ∼U(−8π,8π)
第五章 难度平衡体系
5.1 模式复杂度计算
基于香农熵评估游戏难度:
H = − ∑ i = 1 N p i log 2 p i H = -\sum_{i=1}^N p_i \log_2 p_i H=−i=1∑Npilog2pi
其中 p i p_i pi表示各图案出现频率。
5.2 动态干扰系统
实时生成的干扰因素强度:
I ( t ) = β ⋅ 1 1 + e − ( S ( t ) − S 0 ) / τ I(t) = \beta \cdot \frac{1}{1 + e^{-(S(t)-S_0)/\tau}} I(t)=β⋅1+e−(S(t)−S0)/τ1
S ( t ) S(t) S(t)为玩家当前得分, τ \tau τ为调节系数。
第六章 神经科学验证
6.1 脑电信号适配
根据α波(8-12Hz)强度调节游戏节奏:
S p e e d n e w = S p e e d b a s e ⋅ P α P α b a s e l i n e Speed_{new} = Speed_{base} \cdot \frac{P_{\alpha}}{P_{\alpha}^{baseline}} Speednew=Speedbase⋅PαbaselinePα
6.2 认知负荷监测
采用NASA-TLX模型量化负荷指数:
T L X = 1 6 ∑ i = 1 6 w i x i TLX = \frac{1}{6}\sum_{i=1}^6 w_i x_i TLX=61i=1∑6wixi
结语
记忆翻牌游戏的设计展现了认知科学与软件工程的深度融合。从网格空间的内在拓扑关系到神经信号的实时反馈调节,每个设计维度都体现了对人机交互本质的深刻理解。这种设计范式为认知训练类应用建立了黄金标准。
跨领域启示:
- 空间记忆模型在AR导航中的应用
- 状态机设计在自动驾驶决策系统的迁移
- 认知负荷理论在UI设计中的普适价值
附录:部分代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-"""
认知模型模块
实现基于认知科学的记忆和注意力系统
"""import math
import random
import time
import numpy as npclass CognitiveModel:"""认知模型类负责模拟人类记忆和注意力机制"""def __init__(self):# 记忆参数self.memory_decay_rate = 0.2 # 记忆衰减率self.attention_focus = None # 当前注意力焦点self.attention_map = {} # 注意力热力图self.memory_strength = {} # 卡片记忆强度self.last_recall_time = {} # 上次回忆时间# 艾宾浩斯记忆曲线参数self.memory_mu = 2.0 # 记忆强度均值self.memory_sigma = 1.2 # 记忆强度标准差# 认知负荷参数self.cognitive_load = 0.5 # 当前认知负荷 (0.0-1.0)self.performance_history = [] # 玩家表现历史# 注意力模型参数self.attention_gamma = 5.0 # 注意力空间关联参数def reset(self, pairs_count):"""重置认知模型参数:pairs_count: 卡片对数"""# 重置各项指标self.attention_focus = Noneself.attention_map = {}self.memory_strength = {}self.last_recall_time = {}self.cognitive_load = min(0.5, pairs_count / 20) # 根据卡片数调整初始负荷self.performance_history = []def update_attention_map(self, card_index):"""更新注意力热力图参数:card_index: 当前关注的卡片索引"""current_time = time.time()# 更新当前注意力焦点self.attention_focus = card_index# 为新卡片初始化记忆强度(如果不存在)if card_index not in self.memory_strength:self.memory_strength[card_index] = 0.0# 更新注意力热力图self.attention_map[card_index] = current_time# 更新记忆强度if card_index in self.last_recall_time:# 计算时间间隔time_diff = current_time - self.last_recall_time[card_index]# 应用艾宾浩斯记忆曲线recall_factor = self.ebbinghaus_recall(time_diff)# 增强记忆强度self.memory_strength[card_index] += recall_factor# 更新上次回忆时间self.last_recall_time[card_index] = current_timedef ebbinghaus_recall(self, time_diff):"""艾宾浩斯记忆曲线参数:time_diff: 时间间隔(秒)返回:float: 记忆强化因子"""# 转换为分钟t = time_diff / 60.0# 艾宾浩斯记忆曲线公式strength = math.exp(-((t - self.memory_mu) ** 2) / (2 * self.memory_sigma ** 2))return max(0.1, strength)def predict_attention_focus(self):"""预测下一个可能的注意力焦点返回:int: 预测的卡片索引或None"""if not self.attention_map:return None# 获取当前时间current_time = time.time()# 计算注意力转移概率probabilities = {}z = 0.0 # 归一化因子for card_index, last_time in self.attention_map.items():# 计算时间权重(时间越近权重越大)time_weight = math.exp(-(current_time - last_time) / 5.0)# 计算空间关联权重space_weight = 1.0if self.attention_focus is not None:# 这里可以根据卡片的空间位置计算关联度# 简化为固定值space_weight = 0.5# 计算记忆强度权重memory_weight = 1.0if card_index in self.memory_strength:memory_weight = 1.0 + self.memory_strength[card_index]# 组合所有权重probability = time_weight * space_weight * memory_weightprobabilities[card_index] = probabilityz += probability# 归一化概率if z > 0:for card_index in probabilities:probabilities[card_index] /= z# 返回概率最高的卡片if probabilities:return max(probabilities, key=probabilities.get)return Nonedef update_performance(self, success, time_taken):"""更新玩家表现记录参数:success: 是否成功匹配time_taken: 决策所用时间(秒)"""# 计算表现分数 (0.0-1.0)base_score = 1.0 if success else 0.0time_factor = max(0.0, 1.0 - time_taken / 5.0) # 5秒作为基准performance = base_score * 0.7 + time_factor * 0.3# 添加到历史记录self.performance_history.append(performance)# 限制历史记录长度if len(self.performance_history) > 10:self.performance_history.pop(0)# 更新认知负荷self.update_cognitive_load()def update_cognitive_load(self):"""更新认知负荷"""if not self.performance_history:return# 计算最近表现的平均值avg_performance = sum(self.performance_history) / len(self.performance_history)# 更新认知负荷(表现越好,负荷越低)target_load = 1.0 - avg_performance# 平滑过渡self.cognitive_load = self.cognitive_load * 0.8 + target_load * 0.2# 确保在有效范围内self.cognitive_load = max(0.1, min(0.9, self.cognitive_load))def get_memory_aid(self, cards, difficulty_factor=1.0):"""获取记忆辅助建议参数:cards: 卡片列表difficulty_factor: 难度系数 (0.0-1.0)返回:list: 可能的提示卡片索引列表"""# 根据难度和认知负荷计算提示概率hint_probability = (self.cognitive_load - 0.5) * difficulty_factor# 如果概率太低,不提供提示if hint_probability <= 0 or random.random() > hint_probability:return []# 找出已翻过但未匹配的卡片seen_cards = {}for i, card in enumerate(cards):if card['flipped'] and not card['matched']:card_type = card['type']if card_type not in seen_cards:seen_cards[card_type] = []seen_cards[card_type].append(i)# 找出已经看到一张但还未找到配对的卡片hints = []for card_type, indices in seen_cards.items():if len(indices) == 1: # 只看到了一张# 查找匹配的卡片for i, card in enumerate(cards):if i not in indices and card['type'] == card_type and not card['matched']:hints.append(i)breakreturn hints[:1] # 最多返回一个提示def calculate_tlx_index(self):"""计算NASA-TLX认知负荷指数返回:float: TLX指数 (0.0-100.0)"""# 定义各维度权重weights = {'mental_demand': 0.25,'physical_demand': 0.05,'temporal_demand': 0.20,'performance': 0.25,'effort': 0.15,'frustration': 0.10}# 基于认知负荷估计各维度的值mental_demand = self.cognitive_load * 100# 基于表现历史估计性能(倒转,性能越好,值越低)avg_performance = 50if self.performance_history:avg_performance = (1 - sum(self.performance_history) / len(self.performance_history)) * 100# 随着游戏进行时间增加,时间需求上升temporal_demand = 50 # 可以基于游戏时间动态调整# 其他维度估计physical_demand = 20 # 鼠标点击的物理需求较低effort = self.cognitive_load * 80 + 20frustration = max(0, self.cognitive_load * 100 - avg_performance)# 计算加权TLX指数tlx = (weights['mental_demand'] * mental_demand +weights['physical_demand'] * physical_demand +weights['temporal_demand'] * temporal_demand +weights['performance'] * avg_performance +weights['effort'] * effort +weights['frustration'] * frustration)return tlxdef adapt_parameters(self, difficulty_level):"""根据难度级别调整认知模型参数参数:difficulty_level: 难度级别 (1-10)"""# 调整记忆衰减率self.memory_decay_rate = 0.1 + 0.03 * difficulty_level# 调整记忆曲线参数self.memory_mu = max(1.0, 3.0 - 0.2 * difficulty_level)self.memory_sigma = max(0.8, 1.5 - 0.07 * difficulty_level)
相关文章:
记忆翻牌游戏:认知科学与状态机的交响曲
目录 记忆翻牌游戏:认知科学与状态机的交响曲引言第一章 网格空间拓扑学1.1 自适应网格算法1.2 卡片排布原理 第二章 状态机设计2.1 状态跃迁矩阵2.2 时空关联模型 第三章 记忆强化机制3.1 认知衰减曲线3.2 注意力热力图 第四章 动画引擎设计4.1 翻牌运动方程4.2 粒…...
【业务领域】InfiniBand协议总结
InfiniBand协议总结 InfiniBand协议是什么?Infiniband产生的原因Mellanox公司介绍及其新闻基于TCP/IP的网络与IB网络的比较IB标准的优势什么是InfiniBand网络什么是InfiniBand架构Mellanox IB卡介绍InfiniBand速率发展介绍InfiniBand网络主要上层协议InfiniBand管理…...
使用Java正则表达式检查字符串是否匹配
在Java开发中,正则表达式(Regular Expression,简称Regex)是处理字符串的强大工具,广泛应用于模式匹配、数据验证和文本处理。Java通过java.util.regex包提供了对正则表达式的支持,包含Pattern和Matcher两个…...
个人健康中枢的多元化AI硬件革新与精准健康路径探析
在医疗信息化领域,个人健康中枢正经历着一场由硬件技术革新驱动的深刻变革。随着可穿戴设备、传感器技术和人工智能算法的快速发展,新一代健康监测硬件能够采集前所未有的多维度生物数据,并通过智能分析提供精准的健康建议。本文将深入探讨构成个人健康中枢的最新硬件技术,…...
Android基础控件用法介绍
Android基础控件用法详解 Android应用开发中,基础控件是构建用户界面的核心元素。本文将详细介绍Android中最常用的基础控件及其用法。 一、TextView(文本显示控件) TextView用于在界面上显示文本信息。 基本用法 <TextViewandroid:id="@+id/textView"andr…...
iO(不可区分混淆)是Web3隐私的圣杯?
1. 引言 iO 是区块链隐私的圣杯吗?本文将探讨: 不可区分混淆(indistinguishability obfuscation, iO)的局限性iO可能带来的变革iO为何重要?iO是否能真正成为可信硬件的替代方案? 区块链隐私面临的最大挑…...
文章三《机器学习基础概念与框架实践》
文章3:机器学习基础概念与框架实践 ——从理论到代码,用Scikit-learn构建你的第一个分类模型 一、机器学习基础理论:三大核心类型 机器学习是人工智能的核心,通过数据让计算机自动学习规律并做出预测或决策。根据学习方式&#…...
中小企业MES系统概要设计
版本:V1.0 日期:2025年5月2日 一、系统架构设计 1.1 整体架构模式 采用分层微服务架构,实现模块解耦与灵活扩展,支持混合云部署: #mermaid-svg-drxS3XaKEg8H8rAJ {font-family:"trebuchet ms",verdana,ari…...
自动化测试项目1 --- 唠嗑星球 [软件测试实战 Java 篇]
目录 项目介绍 项目源码库地址 项目功能测试 1.自动化实施步骤 1.1 编写测试用例 1.2 自动化测试脚本开发 1.2.1 配置相关环境, 添加相关依赖 1.2.2 相关代码编写 2. 自动化功能测试总结 2.1 弹窗的解决相关问题 2.2 断言的使用和说明 2.3 重新登录问题 项目性能…...
c语言 关键字--目录
1.c语言 关键字 2.typedef 关键字 3.volatile 关键字 4.register 关键字 5.const关键字用法 6.extern关键字...
C语言与指针3——基本数据类型
误区补充 char 的 表示范围0-127 signed char 127 unsigned char 0-255enum不常用,但是常见,这里记录一下。 enum Day {Monday 1,//范围是IntTuesday 2,Wednesday 3 }; enum Day d Monday; switch (d) {case Monday:{printf("%d",Monday);…...
[更新完毕]2025五一杯C题五一杯数学建模思路代码文章教学:社交媒体平台用户分析问题
完整内容请看文章最下面的推广群 社交媒体平台用户分析问题 在问题一中为解决博主在特定日期新增关注数的预测问题,本文构建了基于用户历史行为的二分类模型。首先,从用户对博主的观看、点赞、评论、关注等交互行为中提取统计与时序特征,形成…...
使用Vite创建vue3项目
什么是vite Vite 是新一代构建工具,由 Vue 核心团队开发,提供极快的开发体验。 它利用浏览器原生ES模块导入功能,提供了极快的热模块更新(HMR)和开发服务器启动速度。 官网:https://vitejs.cn/vite3-cn/…...
Linux管道识
深入理解管道 (Pipes):连接命令的瑞士军刀 在 Linux 和类 Unix 系统(包括 macOS)的命令行世界里,管道(Pipe)是一个极其强大且基础的概念。它允许你将一个命令的输出直接作为另一个命令的输入,像…...
LabVIEW 中VI Server导出 VI 配置
该 LabVIEW VI 展示了在 VI Server 中配置和执行 Exported VIs 的过程,实现对服务器端导出 VI 的远程调用与操作。 具体过程及模块说明 前期配置:需确保在 LabVIEW 的 “Tools> Options > VI Server > Protocols” 路径下,启用 …...
map和set的遗留 + AVL树(1):
在讲解新的东西之前,我们把上节遗留的问题说一下: 遗留问题: 首先,我们的最上面的代码是一个隐式类型转换,我们插入了一对数据。 我们说了,我们的方括号的底层是insert,当我们调用operator的[…...
Java学习手册:Spring Security 安全框架
一、Spring Security 简介 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架,用于保护 Java 应用程序,尤其是基于 Spring 的应用。它构建在 Spring 框架之上,能够轻松地集成到基于 Spring 的应用程序中,包括…...
pip 常用命令及配置
一、python -m pip install 和 pip install 的区别 在讲解 pip 的命令之前,我们有必要了解一下 python -m pip install 和 pip install 的区别,以便于我们在不同的场景使用不同的方式。 python -m pip install 命令使用 python 可执行文件将 pip 模块作…...
C++_STL
C 标准模板库(Standard Template Library,STL)是一套功能强大的 C 模板类和函数的集合,它提供了一系列通用的、可复用的算法和数据结构。 STL 的设计基于泛型编程,这意味着使用模板可以编写出独立于任何特定数据类型的…...
[FPGA Video] AXI4-Stream Remapper
Xilinx AXI4-Stream Remapper IP (PG379) 详细介绍 概述 Xilinx LogiCORE™ IP AXI4-Stream Remapper 核是一个专为视频处理设计的模块,用于在不同每时钟像素数(Pixels Per Clock, PPC)要求之间重新映射视频像素。它支持将输入 AXI4-Stream…...
【数据结构】励志大厂版·初阶(复习+刷题):栈与队列
前引:本篇将由小编与大家一起复习 栈 、队列 的知识点,栈、队列的顺序、链式结构各个缺点好处,如何实现、对于一般的增删查找此篇文章一定再详细不过!对代码的注释、何时需要判断、特殊情况,白话文版一解到底ÿ…...
pytest——参数化
之前有说过,通过pytest测试框架标记参数化功能可以实现数据驱动测试。数据驱动测试使用的文件主要有以下类型: txt 文件 csv 文件excel 文件json 文件yaml 文件.... 本文主要讲的就是以上几种文件类型的读取和使用 一.txt 文件读取使用 首先创建一个 …...
第7篇:RESTful API设计与安全防护
在前后端分离架构中,RESTful API是系统交互的核心通道。本文将从接口规范设计到安全防护,全面讲解如何在EggJS中构建安全、规范、易用的API系统,并提供完整的解决方案和最佳实践。 一、标准化API接口规范设计 1. RESTful设计原则 核心要素&…...
CSS 架构与命名规范
CSS 架构与命名规范:BEM、SMACSS 与 OOCSS 实战 引言 在前端开发中,随着项目规模的扩大,CSS 代码往往会变得难以维护和扩展。无组织的样式表会导致命名冲突、权重覆盖问题和样式继承混乱,这些问题在团队协作的大型项目中尤为明显…...
实验二 软件白盒测试
实验二 软件白盒测试 某工资计算程序功能如下:若雇员月工作小时超过40小时,则超过部分按原小时工资的1.5倍的加班工资来计算。若雇员月工作小时超过50小时,则超过50的部分按原小时工资的3倍的加班工资来计算,而40到50小时的工资仍…...
【数据结构】String字符串的存储
目录 一、存储结构 1.字符串常量池 2.字符串哈希表 2.1结构 2.2基础存储单位 2.2.1键对象 2.2.2值对象 二、存储过程 1.搜索 2.创建 三、存储位置 四、存储操作 1.new新建 2.intern入池 这是String类的详解:String类变量 一、存储结构 1.字符串常量池…...
LLMs Tokenizer Byte-Pair Encoding(BPE)
1 Byte-Pair Encoding(BPE) 如何构建词典? 准备足够的训练语料;以及期望的词表大小;将单词拆分为字符粒度(字粒度),并在末尾添加后缀“”,统计单词频率合并方式:统计每一个连续/相邻字节对的出现频率,将最高频的连续字…...
npm,yarn,pnpm,cnpm,nvm,npx包管理器常用命令
前端比较主流的包管理器主要有三个npm,yarn,pnpm 多层级依赖,通常发生在依赖之间存在复杂的版本要求时 包 A 依赖于包 B1.0.0 包 B 依赖于包 C2.0.0 另一个包 D 也依赖于 C3.0.0 一、NPM (Node Package Manager) https://www.npmjs.cn/…...
使用mybatis实例类和MySQL表的字段不一致怎么办
在 MyBatis 中,当 Java 实体类的属性名与数据库表的字段名不一致时,会导致查询结果无法正确映射。以下是几种常见解决方案及代码示例: 1. 使用 resultMap 显式映射(推荐) 场景:字段名与属性名差异较大&…...
阿里发布新一代通义千问 Qwen3模型
近日,阿里巴巴发布了新一代通义千问 Qwen3 模型,一举登顶全球最强开源模型。 这是国内首个“混合推理模型”,将“快思考”与“慢思考”集成进同一个模型,大大节省算力消耗。 旗舰模型 Qwen3-235B-A22B 在代码、数学、通用能力等…...
React pros比较机制
将 count1作为prop传递给Memoson组件 引用类型情况 虽然list值没有发生变化,但是仍旧重新渲染 解决方法使用useMemo()函数,传递一个空依赖项 // 传递数据为引用类型 比较的是引用 // 使用useMemo函数改写、const list useMemo(()>{return [1,2,3]},[…...
Flowable7.x学习笔记(十七)审批我的待办
前言 前文完成了我的待办的查询功能,本文就在此基础上从源码解读到完成审批任务的功能,审批界面我就先不带表单,直接单纯审批通过,这里需要注意的事,审批的表单其实每个节点都可能需要不同的表单内容,后续要…...
HTTP 状态码详解:用途与含义
HTTP 状态码详解:用途与含义 HTTP 状态码详解:用途与含义1. (2xx)成功类200 OK201 Created204 No Content206 Partial Content 2. (3xx)重定向类301 Moved Permanently302 Found(临时重定向&…...
AI日报 · 2025年05月02日 | 再见GPT-4!OpenAI CEO 确认 GPT-4 已从 ChatGPT 界面正式移除
1、OpenAI CEO 确认 GPT-4 已从 ChatGPT 界面正式移除 在处理 GPT-4o 更新问题的同时,OpenAI CEO Sam Altman 于 5 月 1 日在 X 平台发文,正式确认初代 GPT-4 模型已从 ChatGPT 主用户界面中移除。此举遵循了 OpenAI 此前公布的计划,即在 4 …...
ppt设计美化公司_杰青_长江学者_优青_青年长江学者_万人计划青年拔尖人才答辩ppt模板
WordinPPT / 持续为双一流高校、科研院所、企业等提供PPT制作系统服务。 / 近期PPT美化案例 - 院士增选、科学技术奖、杰青、长江学者特聘教授、校企联聘长江、重点研发、优青、青长、青拔.. 杰青(杰出青年科学基金) 支持已取得突出成果的45岁以下学…...
文章四《深度学习核心概念与框架入门》
文章4:深度学习核心概念与框架入门——从大脑神经元到手写数字识别的奇幻之旅 引言:给大脑装个"GPU加速器"? 想象一下,你的大脑如果能像智能手机的GPU一样快速处理信息会怎样?这正是深度学习的终极目标&…...
HTML5+JavaScript实现连连看游戏之二
HTML5JavaScript实现连连看游戏之二 以前一篇,见 https://blog.csdn.net/cnds123/article/details/144220548 连连看游戏连接规则: 只能连接相同图案(或图标、字符)的方块。 连线路径必须是由直线段组成的,最多可以有…...
2025年- H19-Lc127-48.旋转矩阵(矩阵)---java版
1.题目描述 2.思路 画出矩阵,新的旋转矩阵的列坐标等于原始矩阵的矩阵长度-i-1(也就是减去当前遍历的i),前后对调。然后新的旋转矩阵的横坐标,是原始矩阵的列坐标。 3.代码实现 public class H48 {public void rota…...
深入理解 MyBatis 代理机制
在 Java 开发领域,MyBatis 是一款优秀的持久层框架,它极大地简化了数据库操作,提高了开发效率。其中,代理机制作为 MyBatis 的核心特性之一,在连接 Java 代码与数据库操作中发挥着关键作用。本文将深入探讨 MyBatis 代…...
游戏引擎学习第254天:重新启用性能分析
运行游戏并尝试让性能分析系统恢复部分功能 我们现在的调试系统这几天基本整理得差不多了,因此我们打算开始清理一些功能,比如目前虽然已经在收集性能分析数据,但我们没有办法查看或有效利用这些信息。今天的计划可能会围绕这方面展开&#…...
性能测试工具篇
文章目录 目录1. JMeter介绍1.1 安装JMeter1.2 打开JMeter1.3 JMeter基础配置1.4 JMeter基本使用流程1.5 JMeter元件作用域和执行顺序 2. 重点组件2.1 线程组2.2 HTTP取样器2.3 查看结果树2.4 HTTP请求默认值2.5 JSON提取器2.6 用户定义的变量2.7 JSON断言2.8 同步定时器&#…...
【Hive入门】Hive性能调优之Join优化:深入解析MapJoin与Sort-Merge Join策略
目录 前言 1 Hive Join操作基础 1.1 Join操作的类型与挑战 1.2 Hive Join执行机制 2 MapJoin优化策略 2.1 MapJoin原理 2.2 MapJoin适用场景 2.3 MapJoin关键参数 3 Sort-Merge Join优化策略 3.1 Sort-Merge Join原理 3.2 Sort-Merge Join优势 3.3 关键配置参数 3…...
【Unity】使用XLua实现C#访问Lua文件
先引入XLua文件中的Plugins和XLua文件夹于Unity项目的Asset文件中 XLua_github链接 建立Lua虚拟机:LuaEnv luaEnv new LuaEnv(); 关闭虚拟机,及时释放资源:luaEnv.Dispose(); Resources文件夹下加载lua文件(假设文件路径为Resour…...
AXI中的out of order和interleaving的定义和两者的差别?
AXI中的out of order和interleaving的定义和两者的差别 摘要:在 AXI (Advanced eXtensible Interface) 协议中,Out-of-Order 和 Interleaving 是两个与事务处理顺序和数据传输相关的概念,它们都与 AXI 协议支持的多事务并发处理能力有关&…...
生产级RAG系统一些经验总结
本文将探讨如何使用最新技术构建生产级检索增强生成(RAG)系统,包括健壮的架构、向量数据库(Faiss、Pinecone、Weaviate)、框架(LangChain、LlamaIndex)、混合搜索、重排序器、流式数据接入、评估策略以及实际部署技巧。 引言:检索增强生成的力量 大型语…...
sftp连接报错Received message too long 168449893
sftp连接报错Received message too long 168449893 一、openEuler传文件报错二、分析问题三、解决问题endl 一、openEuler传文件报错 [rootRocky9-12 ~]# scp apache-tomcat-10.1.33.tar.gz root10.0.0.14:Authorized users only. All activities may be monitored and report…...
Java中修饰类的关键字
Java中修饰类的关键字 在web编程课上,老师提问了Java中各种修饰类的关键字的用途和区别,一时间我头脑空白,现在课后重新梳理一遍Java中修饰类的各种关键字的区别和用法。在Java编程中,修饰类的关键字起着至关重要的作用ÿ…...
2025年人工智能火爆技术总结
2025年人工智能火爆技术总结: 生成式人工智能 生成式人工智能可生成高质量的图像、视频、音频和文本等多种内容。如昆仑万维的SkyReels-V2能生成无限时长电影,其基于扩散强迫框架,结合多模态大语言模型和强化学习等技术,在运动动…...
脑机接口技术:开启人类与机器的全新交互时代
在科技飞速发展的今天,人类与机器的交互方式正经历着前所未有的变革。从最初的键盘鼠标,到触摸屏,再到语音控制,每一次交互方式的升级都极大地提升了用户体验和效率。如今,脑机接口(Brain-Computer Interfa…...
Arduino程序函数详解与实际案例
一、Arduino程序的核心架构与函数解析 Arduino程序的核心由两个函数构成:setup() 和 loop()。这两个函数是所有Arduino代码的骨架,它们的合理使用决定了程序的结构和功能。 1.1 setup() 函数:初始化阶段 setup() 函数在程序启动时仅执行一次,用于完成初始化配置,例如设置…...