  In recent years, several information-theoretic upper bounds have been
introduced on the output size and evaluation cost of database join queries.
These bounds vary in their power depending on both the type of statistics on
input relations and the query plans that they support. This motivated the
search for algorithms that can compute the output of a join query in times that
are bounded by the corresponding information-theoretic bounds. In this paper,
we describe PANDA, an algorithm that takes a Shannon-inequality that underlies
the bound, and translates each proof step into an algorithmic step
corresponding to some database operation. PANDA computes answers to a
conjunctive query in time given by the the submodular width plus the output
size of the query. The version in this paper represents a significant
simplification of the original version [ANS, PODS'17].
