An overview of the haplotype problems and algorithms