import torch

# Global constants and hyerparameters

N_AGENTS = 4
NUM_ATTRS = 3
MSG_LEN = MAX_MSG_LEN = 3 
COMM_ROUND = MSG_LEN
N_SECTORS = 4 #3
N_SEGMENTS = 3
N_COLORS = 4
#UNI_ATTR_VAL = 9
N_CONCEPTS = 12 #10
N_VOCAB = 25
IMG_FEAT_SIZE = 25  # embedding size of the input 



# hyperparameters
NUM_EPOCHS = 1000000
BATCH_SIZE = 100
TRAINING_SIZE = 0.9



SPK_LEARNING_RATE = 0.01
LIS_LEARNING_RATE = 0.01
RNN_SIZE = 256
RL_NEGATIVE_REWARD = 0
RL_SCALE = 100
MSG_MODE =  'REINFORCE'
MSG_MODE2 =  'GUMBEL'

MSG_HARD = True
TAU = 0.5
CLIP = 50.0
LAMBDA = 1.0
NUM_AGENTS = 4
INIT_TVALUE = 10.0
W_SEL_ENTROPY = 20.0



ZERO_DATA = 10
N_VERTEX = 5
MAX_DIMENSION= 10
MIN_DIMENSION = -10
RGB_value = [[0.6, 0.0, 0.3],
            [0.2, 0.2, 1.0],
            [0.1, 0.8, 0.4],
            [0.4, 0.8, 0.7]]

RADII = torch.linspace(0, 10, steps= N_SEGMENTS)

ALPHA = 2.0

W_SELECT_HSIZE = 25
VERTEX_FEAT_VEC_SIZE = (N_VERTEX-1)*2 + 4


# 0 - NO_comm
# 1 - sector
# 2 - segment
# 3 - color

# possible orders

orders = [[1,2,3],
          [1,0,0],
          [1,0,3],
          [1,2,0],
          [0,2,0],
          [0,2,3],
          [0,0,3]]

NUM_ORDERS = len(orders)

