  Our input is a directed, rooted graph $G = (V \cup \{r\},E)$ where each
vertex in $V$ has a partial order preference over its incoming edges. The
preferences of a vertex extend naturally to preferences over arborescences
rooted at $r$. We seek a popular arborescence in $G$, i.e., one for which there
is no "more popular" arborescence. Popular arborescences have applications in
liquid democracy or collective decision making; however, they need not exist in
every input instance. The popular arborescence problem is to decide if a given
input instance admits a popular arborescence or not. We show a polynomial-time
algorithm for this problem, whose computational complexity was not known
previously.
  Our algorithm is combinatorial, and can be regarded as a primal-dual
algorithm. It searches for an arborescence along with its dual certificate, a
chain of subsets of $E$, witnessing its popularity. In fact, our algorithm
solves the more general popular common base problem in the intersection of two
matroids, where one matroid is the partition matroid defined by any partition
$E = \bigcup_{v\in V} \delta(v)$ and the other is an arbitrary matroid on $E$
of rank $|V|$, with each $v \in V$ having a partial order over elements in
$\delta(v)$. We extend our algorithm to the case with forced or forbidden
edges.
  We also study the related popular colorful forest (or more generally, the
popular common independent set) problem where edges are partitioned into color
classes, and the task is to find a colorful forest that is popular within the
set of all colorful forests. For the case with weak rankings, we formulate the
popular colorful forest polytope, and thus show that a minimum-cost popular
colorful forest can be computed efficiently. By contrast, we prove that it is
NP-hard to compute a minimum-cost popular arborescence, even when rankings are
strict.
