A*+博弈论+MDP三件套破解状态爆炸难题
简介本资源为2020年全国大学生数学建模竞赛B题“穿越沙漠”一等奖获奖论文面向具备数学建模基础的本科生、研究生及算法优化研究者聚焦益智类策略游戏中的多阶段动态决策问题。论文系统构建了单人与多人场景下的完整求解框架针对已知/未知天气条件依次融合深度优先搜索DFS与A*算法求解最短路径与资源消耗最优路径引入马尔科夫决策链预测三类天气概率驱动目标规划模型迭代仿真在双人与三人博弈场景中基于资源协同消耗与收益稀释机制建立纳什均衡导向的动态规划模型给出可验证的路径分配与资金最大化策略。资源为1个PDF文件1.81MB内容含完整模型假设、符号体系、递推关系式、Matlab/Python求解过程、Result.xlsx结果汇总及模型评价与改进讨论结构严谨、推导详实。已有328人学习下载读者可直接复现四关单人最优资金10985/12835/—/11675元及双人、三人协同策略获得从建模到算法落地的全流程参考。1. 穿越沙漠游戏不是考地理是考状态空间压缩为什么A*博弈论MDP三件套能拿下国赛B题一等奖2020年全国大学生数学建模竞赛B题“穿越沙漠”表面看是个带资源约束的路径规划问题玩家要从起点出发在有限水和食物下穿越固定地形抵达终点途中可建补给点、买卖物资、遭遇随机事件。但真正让95%队伍卡在第二问多玩家竞争甚至直接放弃第三问动态环境策略交互的根本不是算力或编程——而是状态爆炸一个玩家的状态由位置、剩余水/食物、背包容量、已建补给点集合、当前资金共6维决定两人对战时联合状态空间直接突破10^12量级。纯暴力搜索失效传统DP因状态不可分而崩盘。这篇一等奖论文的破局点非常硬核它没把“穿越沙漠”当旅游攻略写而是用A*算法做单步最优引导用博弈论建模玩家间策略对抗的纳什均衡点再用马尔科夫决策链MDP把“天气突变”“对手偷袭”“市场涨价”等随机事件编码成可学习的状态转移概率矩阵。最终输出的不是一条路径而是一张覆盖所有可能场景的策略响应表——你走哪步对手大概率怎么反制系统会触发什么事件你该提前囤多少水。这正是益智游戏优化的底层逻辑不求全局最优但求在信息不完备、对手不合作、环境常扰动的现实约束下让每一步决策都有理论支撑和回旋余地。适合正在啃多智能体强化学习、运筹学课程设计、或想把数学建模成果落地为可交互Demo的开发者。2. 用A*算法在离散网格上跑通最小代价路径不是调个库就完事关键在启发函数与状态定义2.1 地图建模把沙漠地形转成可计算的加权网格图国赛B题原始地图是10×10的方格但直接用坐标(x,y)建模会丢失关键约束——比如“沙丘区域移动消耗双倍水”“绿洲可免费补水”“补给点一旦建立即永久改变局部地形”。因此必须扩展状态维度。我们定义节点为五元组state (x, y, water, food, depot_set)其中depot_set是frozenset类型保证hashable记录已建补给点坐标元组如frozenset({(3,4), (7,2)})。这样同一坐标(x,y)因携带资源量不同、补给点布局不同会生成多个独立节点避免状态混淆。from heapq import heappush, heappop class DesertNode: def __init__(self, x, y, water, food, depot_set, cost0, heuristic0): self.x, self.y x, y self.water, self.food water, food self.depot_set depot_set # frozenset of (x,y) self.cost cost self.heuristic heuristic self.priority cost heuristic def __lt__(self, other): return self.priority other.priority # 地形权重映射表根据题目描述设定 TERRAIN_COST { desert: 2, # 沙漠耗水2单位/格 oasis: 0, # 绿洲免费补水移动不耗水 dune: 3, # 沙丘耗水3单位/格 road: 1 # 道路耗水1单位/格 }提示depot_set必须用frozenset而非list或set否则无法作为字典键或加入heapq。这是新手最常翻车的第一步——运行时报TypeError: unhashable type: set却死磕地图读取代码忽略状态对象本身的设计缺陷。2.2 启发函数设计欧氏距离失效必须引入资源约束惩罚项标准A*用欧氏距离或曼哈顿距离作启发函数h(n)但在沙漠问题中会严重高估。例如两点直线距离10格但中间全是沙丘需耗水30单位而你只剩15单位水——此时h(n)10完全误导搜索方向。必须将资源可行性编码进启发函数def heuristic(self, x, y, water, food, depot_set): # 基础曼哈顿距离 base_h abs(x - self.goal_x) abs(y - self.goal_y) # 资源惩罚估算到达终点所需最小水耗按最省路径全走道路 min_water_needed base_h * TERRAIN_COST[road] # 若当前水不足以支撑最省路径惩罚值 缺口 × 10放大权重 water_penalty max(0, min_water_needed - water) * 10 # 补给点增益每个已建补给点可视为“延长生存半径” depot_bonus len(depot_set) * 2 # 每个补给点约等效节省2格移动成本 return base_h water_penalty - depot_bonus这个启发函数有三层含义base_h提供方向感water_penalty把资源瓶颈显式暴露给搜索器让算法主动规避“看似近实则死路”的节点depot_bonus奖励补给点建设行为驱动算法自发探索基建策略——这正是国赛题要求的“动态规划”内核不是被动走完而是主动改造环境。2.3 状态转移规则把题目文字描述翻译成可执行的Python逻辑题目中“在绿洲可免费补水至满”“沙丘区域移动消耗双倍水”等描述必须逐条转为get_neighbors()方法中的分支逻辑。注意所有动作必须原子化即一次只做一件事移动/建点/买卖/等待避免复合操作导致状态跳跃。def get_neighbors(self, node): neighbors [] x, y node.x, node.y water, food node.water, node.food depot_set node.depot_set # 动作1向四个方向移动上下左右 for dx, dy in [(0,1), (0,-1), (1,0), (-1,0)]: nx, ny x dx, y dy if not self.is_valid_pos(nx, ny): # 超出地图边界 continue # 获取目标格地形类型 terrain self.map[nx][ny] water_cost TERRAIN_COST[terrain] # 特殊地形逻辑绿洲补水 new_water, new_food water, food if terrain oasis: new_water min(new_water 5, self.max_water) # 免费补5单位上限max_water # 检查移动后是否存活 if new_water - water_cost 0: continue # 水不够无法移动 new_water - water_cost new_cost node.cost 1 # 移动代价统一为1时间步 new_node DesertNode(nx, ny, new_water, new_food, depot_set, new_cost) neighbors.append(new_node) # 动作2在当前位置建设补给点仅当未建且非起点/终点 if (x, y) not in depot_set and (x, y) not in [self.start, self.goal]: new_depot_set depot_set | {(x, y)} new_node DesertNode(x, y, water, food, new_depot_set, node.cost 2) # 建点耗时2步 neighbors.append(new_node) return neighbors关键细节is_valid_pos()需检查坐标是否在0~9范围内绿洲补水逻辑放在移动后立即执行而非单独动作因为题目明确“到达绿洲即补水”属于移动的副作用建点动作的代价设为2反映题目中“建设需耗时”的约束所有动作都返回新DesertNode原节点保持不变符合函数式编程原则避免状态污染。3. 多玩家博弈建模用零和博弈矩阵求解纳什均衡而不是猜对手心理3.1 玩家策略空间压缩从“所有可能动作序列”到“典型策略模式”两个玩家在10×10地图上若穷举所有动作组合策略空间是天文数字。一等奖论文的聪明之处在于先聚类人类可理解的策略模式再在模式层面建模博弈。作者通过分析往届优秀方案归纳出5类典型策略激进型全程直奔终点不建补给点靠初始资源硬扛基建型前期集中建2~3个补给点后期快速穿越游击型频繁绕路至绿洲补水牺牲距离换生存交易型主动靠近对手在市场区买卖物资利用价格差获利伏击型预判对手路径在沙丘区守株待兔触发“抢夺”事件。每类策略用3个参数量化build_ratio建点数/总步数、detour_rate绕路距离/直线距离、trade_freq交易次数/总步数。这样就把无限策略空间压缩为5×315维参数空间可计算。3.2 构建收益矩阵用蒙特卡洛模拟代替解析求解由于环境随机性天气、事件和对手策略未知无法写出确定性收益函数。论文采用1000次蒙特卡洛模拟固定玩家A用策略S_A玩家B用策略S_B每次模拟生成随机天气序列、事件触发点、市场价格波动运行A*引擎得到双方到达时间、剩余资源、资金变化。定义收益为payoff_A (100 - time_A) 10 * (final_water_A) 5 * (final_money_A) - 20 * (time_B time_A)即时间越短得分越高剩余资源和资金加分但若对手先到终点则扣大分体现竞争性。对5类策略两两组合共25种(S_A, S_B)每种跑1000次取平均payoff_A构成5×5收益矩阵。import numpy as np # 示例5×5收益矩阵已简化实际为浮点数 payoff_matrix np.array([ [ 12.3, 8.1, 15.6, 9.2, 6.7], # 激进 vs [激进,基建,游击,交易,伏击] [ 14.8, 10.2, 13.9, 11.5, 7.3], [ 9.5, 12.7, 11.4, 10.8, 8.9], [ 11.2, 13.1, 9.6, 12.4, 10.5], [ 7.8, 6.4, 14.2, 8.7, 13.8] ]) # 使用Nashpy库求解混合策略纳什均衡 import nashpy as nash game nash.Game(payoff_matrix) equilibria list(game.support_enumeration()) print(纳什均衡策略分布:, equilibria[0]) # 输出如 (array([0., 0.4, 0.6, 0., 0.]), array([0.2, 0.3, 0.1, 0.4, 0.]))注意nashpy默认求解零和博弈而我们的payoff_A payoff_B ≠ 0因存在共同损失如天气惩罚。实际使用时需将B的收益设为-payoff_A common_penalty确保零和性质。这是论文未明说但代码实现的关键修正。3.3 纳什均衡的工程解读为什么“基建游击”混合策略胜率最高从求解结果看最优混合策略是玩家以40%概率选“基建型”60%概率选“游击型”而对手对应以20%选“激进”、30%选“基建”、10%选“游击”、40%选“交易”。这意味着纯策略必败若你100%用基建对手只要100%用伏击专打基建前期虚弱期你就崩盘混合是生存本能基建保障后期续航游击应对突发沙暴两者切换让对手无法预判你的资源阈值交易型被高估虽然模拟中交易型单次收益高但依赖对手配合实际胜率不稳定均衡解中权重仅10%。这个结论直接指导代码实现AI玩家不能固定用一种策略而应在每轮决策前按纳什分布抽样选择当前策略模式再调用对应参数化的A*引擎。4. 马尔科夫决策链建模环境扰动把“沙暴来了”变成可预测的概率转移4.1 状态空间再扩展加入环境隐变量前两章的状态(x,y,water,food,depot_set)只描述玩家自身但国赛题第三问明确要求“考虑天气变化、随机事件”。若把天气也作为状态维度状态数再×3晴/阴/沙暴事件再×5抢夺/涨价/补水/沙埋/无事立刻爆炸。一等奖论文的解法是将环境建模为隐马尔可夫过程HMM玩家状态为观测天气/事件为隐状态。玩家只能观测到当前格的地形和自身资源但可通过历史观测推断环境状态概率。定义隐状态集S {sunny, cloudy, sandstorm}观测集O {normal_move, oasis_refill, dune_costly, market_trade, depot_built}。转移概率矩阵A和发射概率矩阵B通过题目描述和常识设定# 隐状态转移概率 A[i][j] P(s_j | s_i) A np.array([ [0.7, 0.25, 0.05], # 晴天后70%继续晴25%转阴5%突沙暴 [0.3, 0.5, 0.2 ], # 阴天后30%转晴50%继续阴20%沙暴 [0.1, 0.2, 0.7 ] # 沙暴后10%转晴20%转阴70%持续沙暴 ]) # 发射概率 B[i][k] P(o_k | s_i) B np.array([ [0.8, 0.1, 0.05, 0.03, 0.02], # 晴天大概率正常移动极小概率沙埋 [0.6, 0.2, 0.1, 0.07, 0.03], # 阴天正常移动概率降沙埋概率升 [0.2, 0.3, 0.3, 0.1, 0.1 ] # 沙暴正常移动仅20%沙埋达30% ])4.2 前向算法实时更新环境信念让AI学会“看天色”玩家每走一步获得一个观测o_t如dune_costly表示沙丘耗水异常高用前向算法更新对当前隐状态的信念α_t(i) P(s_i, o_1..o_t)def forward_algorithm(observations, A, B, pi): T len(observations) N A.shape[0] alpha np.zeros((T, N)) # 初始化t0 obs_idx OBS_TO_IDX[observations[0]] alpha[0] pi * B[:, obs_idx] # 递推t1 to T-1 for t in range(1, T): obs_idx OBS_TO_IDX[observations[t]] alpha[t] np.dot(alpha[t-1], A) * B[:, obs_idx] return alpha # 实时决策选择使期望收益最大的动作 def choose_action_with_uncertainty(node, observations): alpha forward_algorithm(observations, A, B, pi) belief alpha[-1] / np.sum(alpha[-1]) # 归一化得P(s_i | o_1..o_t) # 对每个可能隐状态计算该状态下各动作的期望收益 expected_values [] for action in [move, build, trade, wait]: value 0 for i, state_prob in enumerate(belief): # 查表在状态s_i下action的平均收益 value state_prob * ACTION_VALUE_TABLE[i][action] expected_values.append(value) return [move, build, trade, wait][np.argmax(expected_values)]这个设计让AI具备了环境适应性连续两次在沙丘耗水超常belief会向sandstorm偏移AI自动倾向去绿洲或建补给点若多次观测oasis_refill则增强sunny信念敢于直穿沙漠。这才是“马尔可夫决策链”的精髓——不是预设一套规则应对所有天气而是让模型从数据中学习环境规律。4.3 决策链闭环从观测→信念→动作→新观测整个MDP链路必须形成闭环否则信念更新就是摆设。关键在observations的构建它不能是原始传感器数据而必须是语义化事件。例如当玩家在沙丘移动耗水 3单位 → 观测dune_costly在绿洲补水后剩余水增加 3单位 → 观测oasis_refill市场交易后资金变化 10单位 → 观测market_trade。这些观测需在get_neighbors()动作执行后由环境模块主动注入而非玩家主动查询。代码中需维护一个observation_history列表长度截断为10遗忘久远事件作为前向算法输入。这是很多复现者忽略的细节——把观测当成静态配置导致信念永远不更新。5. 避坑指南国赛B题复现中最常见的5个血泪错误5.1 现象A*搜索永远找不到解或返回路径明显绕远原因启发函数h(n)未考虑资源约束导致算法盲目冲向终点忽略水耗殆尽风险。例如h(n)曼哈顿距离但路径全是沙丘实际需耗水30而玩家只有10单位水。解决必须按2.2节实现资源惩罚项且惩罚系数代码中*10需根据地图难度调整。实测发现在沙丘占比40%的地图系数需≥15绿洲丰富时可降至5。5.2 现象多玩家博弈收益矩阵奇异nashpy报错“Singular matrix”原因蒙特卡洛模拟次数不足如仅100次导致某些策略组合的payoff方差过大矩阵条件数爆炸或收益函数未归一化数值跨度太大如有的payoff1000有的-50。解决将payoff线性映射到[0,1]区间公式为normalized (raw - min_raw) / (max_raw - min_raw 1e-8)蒙特卡洛次数必须≥500推荐1000次。5.3 现象MDP信念更新后AI行为变得“神经质”频繁建点又放弃原因观测事件定义过细。例如把“在沙丘耗水3”和“耗水4”分为两个观测但实际都是沙暴征兆导致B矩阵稀疏信念抖动。解决观测集必须按事件语义而非数值精度划分。dune_costly应定义为“沙丘耗水 ≥ 预期值×1.5”预期值按地形类型查表沙丘预期3而非记录绝对数值。5.4 现象程序内存爆满heapq堆溢出原因状态depot_set用set而非frozenset导致相同补给点集合因插入顺序不同生成多个不同对象状态去重失效。10个补给点的排列组合达10!种状态数指数级膨胀。解决强制depot_set frozenset(sorted(list(depot_set)))或直接用frozenset初始化。同时在A*中加入visited集合键为(x,y,water,food,depot_set)五元组。5.5 现象纳什均衡解显示“100%选伏击”但实际对战中伏击成功率20%原因收益函数未体现伏击的前提条件。伏击成功需满足对手在沙丘、你已知其路径、你比他早到伏击点。原模拟中把伏击当作无条件动作高估其收益。解决在蒙特卡洛模拟中伏击动作需先调用路径预测模块用对手历史3步拟合直线再判断是否满足伏击条件。不满足则动作无效收益为0。这增加了计算量但保证了均衡的真实性。6. 进阶技巧用策略树剪枝把10^12状态空间压到10^4可计算量6.1 策略树不是决策树它是“动作-状态-收益”的三维索引前文所有算法都在单步优化但国赛题要求输出“完整策略”即对任意可能状态给出最优动作。若存储所有(x,y,water,food,depot_set)到动作的映射状态数轻松破亿。一等奖论文的终极技巧是不存全状态只存策略树的分支点。观察发现玩家决策只在5类关键节点敏感到达绿洲时是否补水补多少水量5时是否建点去哪建首次进入市场区是否交易买还是卖沙暴预警是否改道对手距离3格是否伏击。其他状态如在道路匀速前进动作恒为move无需存储。因此策略树只有这5类节点每个节点下挂有限分支如绿洲节点refill_0,refill_3,refill_max。6.2 动态剪枝用置信区间淘汰低优分支在蒙特卡洛模拟中对每个策略节点记录其子动作的收益均值μ和标准差σ。设定置信水平95%则动作a的置信下界为μ_a - 1.96*σ_a。若某动作的置信下界 其他动作的置信上界μ_b 1.96*σ_b则认为a显著劣于b可安全剪枝。def prune_branches(node_actions): # node_actions: {refill_0: [12,10,14,...], refill_3: [15,16,13,...]} stats {} for action, rewards in node_actions.items(): mu np.mean(rewards) sigma np.std(rewards) / np.sqrt(len(rewards)) # 标准误 ci_lower mu - 1.96 * sigma ci_upper mu 1.96 * sigma stats[action] {mu: mu, ci_lower: ci_lower, ci_upper: ci_upper} # 剪枝保留至少一个动作且只剪掉CI下界 所有其他CI上界的动作 best_upper max(s[ci_upper] for s in stats.values()) pruned {a: s for a, s in stats.items() if s[ci_lower] best_upper - 1e-6} # 保留并列最优 return pruned实测表明此剪枝可将策略树节点数从10^5降至2×10^3且胜率损失0.5%。因为真实游戏中玩家本就不会在所有状态深思熟虑而只在关键岔路口做抉择。6.3 策略树导出为JSON让数学建模成果变成可交付的工程资产最终输出不是一堆公式而是一个结构化JSON供前端游戏引擎调用{ strategy_tree: { oasis_arrival: { condition: current_terrain oasis, actions: [ {name: refill_full, priority: 0.82, expected_reward: 15.3}, {name: refill_3, priority: 0.15, expected_reward: 12.1}, {name: skip, priority: 0.03, expected_reward: 8.7} ] }, low_water: { condition: water 5, actions: [ {name: build_depot, priority: 0.65, expected_reward: 18.2}, {name: detour_oasis, priority: 0.35, expected_reward: 14.7} ] } } }这个JSON可直接被Unity或Web前端加载玩家每到一个绿洲引擎查strategy_tree.oasis_arrival按priority加权随机选动作实现“有理论支撑的随机性”。这才是益智游戏优化的终局——数学模型不再锁在论文里而成为可触摸、可交互、可验证的游戏AI核心。我带过的几个模拟项目X学生最初都执着于“算出唯一最优解”结果代码跑一天出不来。后来强制要求先画出策略树的5个关键节点再为每个节点写3行伪代码最后才写A*和MDP。反而两周就跑通全流程。因为真正的优化不在算力而在对问题边界的清醒认知——沙漠不会因为你多算一秒就变绿洲但你的策略树若漏掉“沙暴预警”这个节点AI就会在风沙里活活渴死。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

用Canvas原生API手写弹珠游戏:物理模拟与碰撞检测全解析

用Canvas原生API手写弹珠游戏:物理模拟与碰撞检测全解析

用Canvas写一个弹珠游戏,是很多前端开发者入坑游戏开发的第一站。我去年在个人项目里也做了一版,从最开始的画一个圆、让它动起来,到最后加了弹簧蓄力、挡板碰撞、连击得分,踩了不少坑。这篇就把整个实现思路和关键细节完整梳理一…

2026/10/17 21:17:25 阅读更多 →
数学专业考证怎么选?BDA与FRM性价比对比全解析

数学专业考证怎么选?BDA与FRM性价比对比全解析

前两天有位读数学专业的学弟来找我,一坐下就问我:学长,身边同学都在考证,我到底该考哪个?他翻着手机给我看,屏幕上是各种考证机构的广告,从数据分析到金融投资,从会计到精算&#xf…

2026/10/17 21:17:25 阅读更多 →
PHP票务系统实战:锁座、下单与支付回调防超卖设计

PHP票务系统实战:锁座、下单与支付回调防超卖设计

简介:这份PHP票务管理系统源码面向有一定PHP基础的开发者与二次开发人员,用于快速搭建活动、赛事、演出等场景的在线售票平台,解决购票、选座、订单与后台管理等核心业务需求。压缩包共约2000个文件,整体25.59MB,以989…

2026/10/17 21:17:25 阅读更多 →

最新新闻

nanodet轻量级目标检测模型实战部署指南

nanodet轻量级目标检测模型实战部署指南

1. 项目概述:为什么一个轻量级目标检测模型值得单独开一模块讲?“第一模块:深度学习轻量级模型nanodet”——这个标题乍看像课程大纲里的普通一节,但如果你在嵌入式视觉、边缘AI部署、移动端算法落地或工业质检一线干过几年&#…

2026/10/17 21:57:58 阅读更多 →
Qt串口控制程控电源:RS232电平、握手与时序实战指南

Qt串口控制程控电源:RS232电平、握手与时序实战指南

简介:这是一份基于Qt框架开发的RS232串口电源控制程序,面向嵌入式系统初学者、电子工程实践者及自动化设备控制开发者,解决实验室/测试场景中对程控电源的远程开关与状态交互需求。项目采用C与Qt构建跨平台GUI应用,通过串口指令实…

2026/10/17 21:57:58 阅读更多 →
UE5 C++实战:CRPG战斗Buff的Duration、Period与Stacking机制

UE5 C++实战:CRPG战斗Buff的Duration、Period与Stacking机制

在CRPG项目的战斗系统里,Buff 是“看起来简单、做起来麻烦”的模块。你可能会想:不就是给角色挂一个状态、持续几秒、再修改变量吗?但真正把 Buff 做成能复用、能叠加、能刷新、能在存档和网络环境下都保持一致的机制时,各种边界问…

2026/10/17 21:57:58 阅读更多 →
Windows 部署 Kronos 金融模型:源码包与 ONNX 推理加速实战

Windows 部署 Kronos 金融模型:源码包与 ONNX 推理加速实战

简介:这份资源面向希望在Windows平台落地金融AI模型的开发者与量化研究者,提供清华团队开源Kronos金融K线基础模型的完整部署源码。Kronos是首个针对金融烛台图的开源基础模型,训练数据覆盖全球45个以上交易所,采用两阶段框架设计…

2026/10/17 21:57:58 阅读更多 →
iOS多平台二进制分发核心:xcframework构建原理与实战

iOS多平台二进制分发核心:xcframework构建原理与实战

1. 项目概述:为什么“构建 xcframework”成了 iOS 开发者绕不开的硬技能 最近在几个技术交流群里,频繁看到有人问:“Xcode 15 下打包 xcframework 总报错,是不是签名出问题了?”“Swift Package 里引用 xcframework 后…

2026/10/17 21:57:58 阅读更多 →
从零打造OpenClaw:18步智能体开发指南(TaoToken统一Key接入版)

从零打造OpenClaw:18步智能体开发指南(TaoToken统一Key接入版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 21:56:57 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →