HNET 新游戏开源及测试

本文介绍了基于Unreal Engine 4.20的HNET新游戏规则,包括开局设定、基础移动、迷雾、吃子、进场与晋升、禁锢陷阱、强行删除等策略,以及特殊排列如线性加速和三角防守。游戏胜负条件为失去所有CoreObject。源代码已开源,转载请注明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 编译及测试本游戏需要安装Unreal Engine 4.20

游戏规则

(红方棋盘例子)

 

开局:

1,开局在己方阵营(棋盘对应方向两行内)随机位置生成9个初始卡,CoreObject(C),TrojanHorse(T),FakeTarget(F)各三个。

(从左到右依次C,T,F)

 

2,手牌七个FakeTarget。

3,初始状态下双方卡为反面放置,对方无法看到是什么卡。

 

基础移动:

 

1,无特殊排列(见下文)情况下,每回合可以使任意一个棋子挪动一个格子。

(移动范围例子,注:因左边连子构成线性加速并且碰壁所以可以吃掉)

 

迷雾:

1,己方棋子视野周围一步(前后左右),其他格除己方陷阱外不可见。

 

吃子:

### HNET与传统NET的区别 #### 定义与架构差异 HNET(HyperNetworks)是一种特殊的神经网络结构,旨在通过生成权重来控制另一个网络的行为。这种设计允许HNET动态调整目标网络的参数,从而提高灵活性和适应性[^3]。 相比之下,传统的NET通常指的是标准的前馈神经网络或其他类型的固定架构网络,在训练完成后其内部连接权值基本不变。这类模型依赖于静态的学习过程,即一旦完成训练阶段,则不再改变自身的参数配置除非重新启动整个训练流程。 #### 应用场景比较 ##### 持续学习环境中的表现 对于需要处理连续数据流或者不断引入新类别样本的任务来说,HNET展现出明显的优势。由于具备良好的抗遗忘能力以及跨任务知识迁移特性,因此非常适合应用于终身机器学习框架之下。实验结果显示采用超网保护机制后的ResNet-32能够在不丧失过往技能的前提下顺利掌握新的识别模式,并且整体效能接近甚至超越单独针对每项作业调优的情况。 而普通的NET可能难以应对这种情况下的挑战,容易遭遇所谓的“灾难性遗忘”,即随着新信息的到来原有习得的内容会被迅速覆盖掉,造成性能急剧下滑。特别是在面对序列化的多任务学习需求时,缺乏有效策略的传统网络往往无法维持长期稳定的工作状态。 ##### 参数效率方面考量 值得注意的是,尽管HNET提供了更强的功能性和鲁棒性,但这并不意味着它总是优于常规的选择。实际上,构建一个完整的HNET体系可能会涉及到更多的计算资源消耗,包括但不限于更大的内存占用率及更长时间的迭代周期。所以在实际部署过程中应当综合评估具体应用场景的要求再做决定。 ```python # 这里展示一段简单的Python代码片段用于区分两者概念上的区别 class TraditionalNN(nn.Module): def __init__(self, input_size, hidden_layers, output_size): super(TraditionalNN, self).__init__() layers = [] current_dim = input_size for next_dim in hidden_layers: layers.append(nn.Linear(current_dim, next_dim)) layers.append(nn.ReLU()) current_dim = next_dim layers.append(nn.Linear(current_dim, output_size)) self.model = nn.Sequential(*layers) def forward(self, x): return self.model(x) def generate_weights(hyper_net_input): # Hypernetwork generates weights dynamically based on the given input. pass class HyperNetworkControlledModel(nn.Module): def __init__(self, hyper_network_generator_function, target_model_structure): super(HyperNetworkControlledModel, self).__init__() self.hyper_gen_func = hyper_network_generator_function self.target_architecture = target_model_structure def forward(self, x): generated_params = self.hyper_gen_func(x) result = apply_generated_parameters_to_target(generated_params, self.target_architecture)(x) return result ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值