Iterative dynamic programming for (conditional) mutual information through optimized discretization.
Useful links