Algorithmic strategies for the SNPs haplotype assembly problem