The Dismantling Problem In Complex Networks And Its Applications