▁certain ▁queries ▁that ▁are ▁too ▁on er ous ▁for ▁B DD s . ▁Complex ▁families ▁of ▁subset ▁can ▁readily ▁be ▁constructed ▁from ▁elementary ▁families . ▁To ▁search ▁words ▁containing ▁a ▁certain ▁pattern , ▁one ▁may ▁use ▁family ▁algebra ▁on ▁Z DD s ▁to ▁compute ▁▁ ▁where ▁P ▁is ▁the ▁pattern , ▁e . g ▁. ▁ ▁Z DD s ▁to ▁represent ▁simple ▁paths ▁One ▁may ▁use ▁Z DD s ▁to ▁represent ▁simple ▁paths ▁in ▁an ▁und irect ed ▁graph . ▁For ▁example , ▁there ▁are ▁ 1 2 ▁ways ▁to ▁go ▁from ▁the ▁upper ▁left ▁corner ▁of ▁a ▁three ▁by ▁three ▁grid ▁( sh own ▁in ▁Figure ▁ 1 1 ) ▁to ▁the ▁lower ▁right ▁corner , ▁without ▁visit ing ▁any ▁point ▁twice . ▁ ▁These ▁paths ▁can ▁be ▁represented ▁by ▁the ▁Z DD ▁shown ▁in ▁Figure ▁ 1 3 . ▁In ▁this ▁Z DD , ▁we ▁get ▁the ▁first ▁path ▁by ▁taking ▁the ▁H I ▁branches ▁at ▁node ▁ 1 3 ▁, ▁node ▁ 3 6 ▁, ▁node ▁ 6 8 ▁, ▁and ▁node 8 9 ▁of ▁the ▁Z DD ▁( LO ▁branches ▁that ▁simply ▁go ▁to ▁ ⊥ ▁are ▁omitted ). ▁Although ▁the ▁Z DD ▁in ▁Figure ▁ 1 3 ▁may ▁not ▁seem ▁significant ▁by ▁any ▁means , ▁the ▁advantages ▁of ▁a ▁Z DD ▁become ▁obvious ▁as ▁the ▁grid ▁gets ▁larger . ▁For ▁example , ▁for ▁an ▁eight ▁by ▁eight ▁grid , ▁the ▁number ▁of ▁simple ▁paths ▁from ▁corner ▁to ▁corner ▁turns ▁out ▁to ▁be ▁ 7 8 9 , ▁