nodeMaxMinimalInformation :: (Floating prob, Ord prob, Ord a)
                           => [String]
                           -> [[[String]]]
                           -> ModelDistribution prob a
                           -> prob
nodeMaxMinimalInformation sv avss m =
  let p_s = (extract $ marginalize sv m)
  in expected p_s (\s -> maximum' $
                         map (\avs -> minimum $
                                      map (\av -> nodeSpecificInformation sv s av m)
                                      avs) avss)
nodeMaxMinimalInformation :: (Floating prob, Ord prob, Ord a)
                           => [String]
                           -> [[[String]]]
                           -> ModelDistribution prob a
                           -> prob
nodeMaxMinimalInformation sv avss m =
  let p_s = (extract $ marginalize sv m)
  in expected p_s (\s -> maximum' $
                         map (\avs -> minimum $
                                      map (\av -> nodeSpecificInformation sv s av m)
                                      avs) avss)
nodeMaxMinimalInformation sv avss m =
  let p_s = (extract $ marginalize sv m)
  in expected p_s (\s -> maximum' $
                         map (\avs -> minimum $
                                      map (\av -> nodeSpecificInformation sv s av m)
                                      avs) avss)