104 lines
3.5 KiB
Python
104 lines
3.5 KiB
Python
|
|
from EXP.exp_tools import collect_action_nodes,get_start,BTTest,goal_transfer_str,collect_cond_nodes,BTTest_easy_medium_hard
|
|
import copy
|
|
import random
|
|
import re
|
|
from dataset.data_process_check import format_check,word_correct,goal_transfer_ls_set
|
|
import time
|
|
|
|
seed = 1
|
|
random.seed(seed)
|
|
|
|
multiple_num= 2
|
|
action_list = collect_action_nodes(random,multiple_num)
|
|
# for act in action_list:
|
|
# print(act.name,act.cost)
|
|
|
|
start_robowaiter = get_start()
|
|
|
|
# 计算state总数
|
|
state_num, vaild_state_num= collect_cond_nodes()
|
|
print("meta states num: ",state_num)
|
|
print("states num: ",vaild_state_num)
|
|
print("act num: ",len(action_list))
|
|
|
|
goal_states = []
|
|
|
|
easy_data_set_file = "../dataset/easy_instr_goal.txt"
|
|
medium_data_set_file = "../dataset/medium_instr_goal.txt"
|
|
hard_data_set_file = "../dataset/hard_instr_goal.txt"
|
|
with open(easy_data_set_file, 'r', encoding="utf-8") as f:
|
|
easy_data_set = f.read().strip()
|
|
with open(medium_data_set_file, 'r', encoding="utf-8") as f:
|
|
medium_data_set = f.read().strip()
|
|
with open(hard_data_set_file, 'r', encoding="utf-8") as f:
|
|
hard_data_set = f.read().strip()
|
|
|
|
|
|
all_result=[]
|
|
|
|
# dataset_ls = [easy_data_set,medium_data_set,hard_data_set]
|
|
# parm_difficule_ls = ['Easy','Medium','Hard']
|
|
|
|
dataset_ls = [hard_data_set]
|
|
parm_difficule_ls = ['Hard']
|
|
|
|
|
|
# sections = re.split(r'\n\s*\n', dataset)
|
|
# outputs_list = [[] for _ in range(len(sections))]
|
|
#
|
|
# goal_set_ls=[]
|
|
# for i,s in enumerate(sections):
|
|
# x,y = s.strip().splitlines()
|
|
# x = x.strip()
|
|
# y = y.strip().replace("Goal: ","")
|
|
# # goal_set_ls.append(goal_transfer_ls_set(y))
|
|
# goal_set_ls.append(y)
|
|
|
|
|
|
# goal_states = goal_set_ls
|
|
# goal_states={"On_Milk_WindowTable6"}
|
|
# goal_states={"On_Chips_WindowTable6 & (On_Milk_WindowTable6 | On_Yogurt_WindowTable6 )"}
|
|
# goal_states={"(~On_Coffee_Table1 | ~On_Dessert_Table2) & ~RobotNear_Bar2"}
|
|
# goal_states={"(~On_Milk_Bar | ~On_Yogurt_Bar) & ~RobotNear_Bar"}
|
|
|
|
# goal_states={"IsClean_Table1 & (On_Coffee_Table1 | On_Yogurt_Table1)" }
|
|
# goal_states={"IsClean_Table1 & (IsClean_Floor | IsClean_Chairs)" }
|
|
# goal_states={"~(On_VacuumCup_Bar | On_VacuumCup_Bar2) & ~Low_ACTemperature"}
|
|
# goal_states={"IsClean_Table1 & On_Coffee_Table1"}
|
|
|
|
# goal_states={"(On_Coffee_Table | On_Tea_Table) & ~Active_AC"}
|
|
goal_states={"(On_Coffee_Table | On_Tea_Table) & ~Active_AC"}
|
|
|
|
obt_result = BTTest_easy_medium_hard(bt_algo_opt=True, goal_states=goal_states,action_list=action_list,start_robowaiter=start_robowaiter)
|
|
# print("\n")
|
|
# 对比
|
|
# baseline_result = BTTest_easy_medium_hard(bt_algo_opt=False, goal_states=goal_states,action_list=action_list,start_robowaiter=start_robowaiter)
|
|
|
|
# param_ls=[parm_difficule_ls[index]]
|
|
#
|
|
# a_result=[]
|
|
# a_result.extend(param_ls)
|
|
# a_result.append("OBTEA")
|
|
# a_result.extend(obt_result)
|
|
# all_result.append(a_result)
|
|
#
|
|
# a_result=[]
|
|
# a_result.extend(param_ls)
|
|
# a_result.append("Baseline")
|
|
# a_result.extend(baseline_result)
|
|
# all_result.append(a_result)
|
|
#
|
|
# import pandas as pd
|
|
# df = pd.DataFrame(all_result, columns=[
|
|
# 'difficult',
|
|
# 'btalgorithm',
|
|
# 'tree_size_avg', 'tree_size_std',
|
|
# 'ticks_avg', 'ticks_std',
|
|
# 'cost_avg', 'cost_std',
|
|
# 'plan_time_avg', 'plan_time_std', 'plan_time_total'])
|
|
#
|
|
# time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()).replace("-","").replace(":","")
|
|
# csv_file_path = 'cage_bt_result_='+time_str+'.csv'
|
|
# df.to_csv(csv_file_path, index=True)
|
|
# print("CSV文件已生成:", csv_file_path) |