Militants kill at least 21 Algerian police in ambush