construct approximation DAG