def init():
    global RENDER, S, R, S_, env, state_dim, action_dim, action_bound, actor, critic
    env = Env(np.ones([
        39,
    ]) * 1e-5)

    state_dim = env.observation_space()
    action_dim = env.action_space()
    action_bound = env.action_bound()

    with tf.name_scope('S'):
        S = tf.placeholder(tf.float32, shape=[None, state_dim], name='s')
    with tf.name_scope('R'):
        R = tf.placeholder(tf.float32, [None, 1], name='r')
    with tf.name_scope('S_'):
        S_ = tf.placeholder(tf.float32, shape=[None, state_dim], name='s_')

    sess = tf.Session()

    actor = Actor(sess, action_dim, action_bound, LR_A, REPLACE_ITER_A)
    critic = Critic(sess, state_dim, action_dim, LR_C, GAMMA, REPLACE_ITER_C,
                    actor.a, actor.a_)
    actor.add_grad_to_graph(critic.a_grads)

    sess.run(tf.global_variables_initializer())