def update_target_graph(actor_tvars, target_tvars, tau):
    """ Updates the variables of the target graph using the variable values from the actor, following the DDQN update
    equation. """
    op_holder = list()
    # .assign() is performed on target graph variables with discounted actor graph variable values
    for idx, variable in enumerate(target_tvars):
        op_holder.append(
            target_tvars[idx].assign(
                (variable.value() * tau) + ((1 - tau) * actor_tvars[idx].value())
            )
        )
    return op_holder