Disturbance decoupling control design for Boolean control networks: a Boolean algebra approach