Problem 4175 --2025AHCPC_C强化学习

4175: 2025AHCPC_C强化学习

"
Time Limit $1$ 秒/Second(s) Memory Limit $128$ 兆字节/Megabyte(s)
提交总数 $0$ 正确数量 $26$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签

    在人工智能迅猛发展的今天,强化学习 (RL) 已经成为智能体构建,大模型对齐等技术的重要支柱. Q 学习是强化学习的一种经典算法,而迷宫问题是 Q 学习的一个经典问题,小明设计了利用 Q 学习走迷宫的智能体,这个迷宫是三维的,内含很多障碍物,但是他编程基础太差,只完成了代码框架,所以需要你的帮助,完成整个智能体.

         Q 学习是一种无监督学习方法,他主要有以下几个部分组成.


         1.状态 (state):智能体所处的环境表示,在当前问题下,即为智能体目前所处的位置 (x0,y0,z0).


         2.动作 (Action):智能体在某个状态下可执行的操作,在当前问题中,包括在 (x,y,z) 三个方向的六种移动,包括向前,向后,向左,向右,向上,向下移动一格和停留在原地七种,不允许在多个维度上同时移动,也不能移动到障碍物上和地图之外,形式化地:

         Ai∈{(0,0,1),(0,0,−1),(0,1,0),(0,−1,0),(1,0,0),(−1,0,0),(0,0,0)}


         3.奖励 (Reward):智能体执行动作后环境返回地即时反馈 R(s,a),在此问题中定义如下:


         到达目标每执行一次动作但未达到目标R(s,a)={N3,到达目标−1,每执行一次动作但未达到目标


         4.Q 表 (Q−Table):存储某一状态 (State) 下的预期累计奖励 (Q 值 ),即 Q(s),他表示从初始状态 Sbegin 到当前状态 S1 的所进行操作序列的奖励值之和.


         小杨正在帮小明优化奖励函数,他想知道,从起点 (1,1,1) 出发,到达终点 (N,N,N) 状态 Send 下的 Qend 值最大是多少.但小明视力非常不好,如果给他太多的数字会头晕眼花,所以小明采用了一种新颖的方法将地图数据告诉小明和你,请你帮他解决这个问题.


     题目有多组测试数据.

         输入的第一行,为一个正整数 T,代表数据组数.

         对于每一组数据,第一行输入一个整数 N,表示指定的三维地图每一维度的大小.

         第 2∼N+1 行,每行输入 N 个数,共 N2 个数,对于 (i,j) 位置上的数 ai,j,其二进制下的第 k 位代表地图中位置 (i,j,k+1) 的值 mapi,j,k+1,其中 mapi,j,k+1∈{0,1},值为 0 代表地图中该位置为空,值为 1 代表地图中该位置为障碍物.


         输出 T 行,每行一个正整数,代表从起点 (1,1,1) 出发,到达终点 (N,N,N) 状态 Send 下的 Q(Send) 最大值,若无法到达终点,请输出 IMPOSSIBLE.
2
3
6 0 7
1 0 7
0 0 2
3
6 1 7
1 0 7
0 0 2
22
IMPOSSIBLE

样例解释


对于样例 1,机器人通过 6 步到达终点,其中前 5 步的奖励为 −1,最后一步的奖励为 27,总和为 22.

对于样例 2,机器人无法到达终点.

数据规模与约定


对于 100% 的数据, 1≤T≤100,1≤N≤64,0<mapi,j<2N−1.


推荐代码 查看4175 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$2 $ms] 少侠OJ管理员 1195761 2025-05-29 23:19:17
内存最少[$2152 $KB] 记忆 1195851 2025-06-06 22:04:45
第一AC idiot152 1195653 2025-05-25 13:21:35
第一挑战 idiot152 1195653 2025-05-25 13:21:35

赛题来源/所属竞赛 2025安徽省大学生程序设计大赛 N/A

竞赛编号 竞赛名称 竞赛时间 访问比赛