The PC algorithm starts with a candidate undirected graph, removes edges using conditional independence tests over increasing conditioning-set sizes, records separating sets, then orients unshielded colliders and propagates orientations. Under oracle tests and faithfulness of a directed acyclic graph, it estimates the graph's Markov equivalence class.
New to topics? Read the docs here!