例として、木幅kのグラフの最大独立集合を見つける問題を考える。この問題を解くために、木分解のノードを任意に一つ選んで根とする。木分解のノードXiに対して、DiをXiの下のノードXj全体の和集合とする。独立集合S ⊂ Xiに対して、A(S,i)をDiの独立集合Iであって、
I ∩ Xi = Sを満たす最大のもののサイズとする。同様に、隣接するノードXi , Xj(Xjの方が根に近い)と独立集合S ⊂ Xi ∩ Xjに対して、B(S,i,j)をDiの独立集合Iであって、
I ∩ Xi ∩ Xj = Sを満たす最大のもののサイズとする。AとBは木をボトムアップにたどることによって以下のように計算することができる:
この動的計画法によるアプローチは、機械学習において、決められた木幅のグラフにおける確率伝搬法を行うen:junction tree algorithmに用いられる。また木幅を計算し木分解を構成するためにも用いられる。典型的には、そのようなアルゴリズムは最初に木幅を近似し、その近似した木幅の木分解を構成し、次にその木分解の上で動的計画法を行うことで正確な木幅を計算する。[3]
Arnborg, S.; Corneil, D.; Proskurowski, A. (1987), “Complexity of finding embeddings in a k-tree”, SIAM Journal on Matrix Analysis and Applications8 (2): 277–284, doi:10.1137/0608024.
Arnborg, S.; Proskurowski, A. (1989), “Linear time algorithms for NP-hard problems restricted to partial k-trees”, Discrete Applied Mathematics23 (1): 11–24, doi:10.1016/0166-218X(89)90031-0.
Bern, M. W.; Lawler, E. L.; Wong, A. L. (1987), “Linear-time computation of optimal subgraphs of decomposable graphs”, Journal of Algorithms8 (2): 216–235, doi:10.1016/0196-6774(87)90039-3.
Bodlaender, Hans L. (1988), “Dynamic programming on graphs with bounded treewidth”, Proc. 15th International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science, 317, Springer-Verlag, pp. 105–118, doi:10.1007/3-540-19488-6_110.