资源简介
中国电子科技集团公司认知与智能技术重点实验室发布的MaCA(Multi-agent Combat Arena)环境,是国内首个可模拟军事作战的轻量级多智能体对抗与训练平台,是多智能体对抗算法研究、训练、测试和评估的绝佳环境,可支持作战场景和规模自定义,智能体数量和种类自定义,智能体特征和属性自定义,支持智能体行为回报规则和回报值自定义等。
代码片段和文件信息
#! /usr/bin/env python
# -*- coding: utf-8 -*-
“““
@author: Gao Fang
@contact: gaofang@cetc.com.cn
@software: PyCharm
@file: fight.py
@time: 2018/3/9 0009 16:41
@desc: execution battle between two agents
“““
import argparse
import importlib
import os
import time
from interface import Environment
if __name__ == “__main__“:
parser = argparse.ArgumentParser()
parser.add_argument(“--map“ type=str default=“1000_1000_2_10_vs_2_10“ help=‘map name only name not file path‘)
parser.add_argument(“--agent1“ type=str default=“fix_rule“ help=‘agent 1 name only name not path‘)
parser.add_argument(“--agent2“ type=str default=“fix_rule“ help=‘agent 2 name only name not path‘)
parser.add_argument(“--round“ type=int default=1 help=‘play rounds‘)
parser.add_argument(“--fps“ type=float default=0 help=‘display fps‘)
parser.add_argument(“--max_step“ type=int default=5000 help=‘max step in a round‘)
parser.add_argument(“--random_pos“ action=“store_true“ help=‘if the initial positions are random or fix‘)
parser.add_argument(“--log“ action=“store_true“ help=‘saving log‘)
parser.add_argument(“--log_path“ type=str default=“default_log“ help=‘log folder name‘)
args = parser.parse_args()
print(‘Map:‘ args.map)
print(‘Side1 agent:‘ args.agent1)
print(‘Side2 agent:‘ args.agent2)
print(‘Round number:‘ args.round)
side1_win_times = 0
side2_win_times = 0
draw_times = 0
# file path constructing
map_path = ‘maps/‘ + args.map + ‘.map‘
agent1_path = ‘agent/‘ + args.agent1 + ‘/agent.py‘
agent2_path = ‘agent/‘ + args.agent2 + ‘/agent.py‘
agent1_import_path = ‘agent.‘ + args.agent1 + ‘.agent‘
agent2_import_path = ‘agent.‘ + args.agent2 + ‘.agent‘
if not os.path.exists(map_path):
print(‘Error: map file not exist!‘)
exit(1)
if not os.path.exists(agent1_path):
print(‘Error: agent1 file not exist!‘)
exit(1)
if not os.path.exists(agent2_path):
print(‘Error: agent2 file not exist!‘)
exit(1)
# delay calc
if args.fps == 0:
step_delay = 0
else:
step_delay = 1 / args.fps
# laad agents
agent1_module = importlib.import_module(agent1_import_path)
agent2_module = importlib.import_module(agent2_import_path)
agent1 = agent1_module.Agent()
agent2 = agent2_module.Agent()
agent1_obs_ind = agent1.get_obs_ind()
agent2_obs_ind = agent2.get_obs_ind()
# environment initiation
if args.log:
if args.log_path == ‘default_log‘:
log_flag = args.agent1 + ‘_vs_‘ + args.agent2
else:
log_flag = args.log_path
else:
log_flag = False
env = Environment(map_path agent1_obs_ind agent2_obs_ind max_step=args.max_step render=True
random_pos=args.random_pos log=log_flag)
# get map info
size_x size_y = env.get_map_size()
side1_detector_num side1_fighter_num side2_detector_num s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1635 2019-05-05 11:58 MaCA-master\.gitignore
文件 687 2019-12-21 20:25 MaCA-master\.idea\MaCA-master.iml
文件 294 2019-12-21 19:29 MaCA-master\.idea\misc.xm
文件 281 2019-12-21 19:29 MaCA-master\.idea\modules.xm
文件 239 2019-12-21 20:25 MaCA-master\.idea\other.xm
文件 21122 2020-02-16 16:07 MaCA-master\.idea\workspace.xm
文件 554 2019-05-05 11:58 MaCA-master\agent\ba
文件 943 2019-05-05 11:58 MaCA-master\agent\fix_rule\agent.py
文件 28387 2019-05-05 11:58 MaCA-master\agent\fix_rule\agent_core.py
文件 212 2019-05-05 11:58 MaCA-master\agent\fix_rule\license.lic
文件 140 2019-05-05 11:58 MaCA-master\agent\fix_rule\product.key
文件 140 2019-05-05 11:58 MaCA-master\agent\fix_rule\pyshield.key
文件 288 2019-05-05 11:58 MaCA-master\agent\fix_rule\pyshield.lic
文件 8607 2019-05-05 11:58 MaCA-master\agent\fix_rule\pytransform.py
文件 697856 2019-05-05 11:58 MaCA-master\agent\fix_rule\_pytransform.dll
文件 650764 2019-05-05 11:58 MaCA-master\agent\fix_rule\_pytransform.dylib
文件 720936 2019-05-05 11:58 MaCA-master\agent\fix_rule\_pytransform.so
文件 1190 2019-12-21 19:32 MaCA-master\agent\fix_rule\__pycache__\agent.cpython-37.pyc
文件 7271 2019-12-21 19:32 MaCA-master\agent\fix_rule\__pycache__\agent_core.cpython-37.pyc
文件 7690 2019-12-29 22:36 MaCA-master\agent\fix_rule\__pycache__\pytransform.cpython-37.pyc
文件 1620 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\agent.py
文件 21435 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\agent_core.py
文件 212 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\license.lic
文件 140 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\product.key
文件 140 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\pyshield.key
文件 288 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\pyshield.lic
文件 8607 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\pytransform.py
文件 697856 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\_pytransform.dll
文件 650764 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\_pytransform.dylib
文件 720936 2019-05-05 11:58 MaCA-master\agent\fix_rule_no_att\_pytransform.so
............此处省略106个文件信息
- 上一篇:NetAnalyze 建立网络
- 下一篇:Python 编程手册 (CHM)
评论
共有 条评论