Ngā hua rapu - basic (difference OR (differents OR diferentes)) evolution (algorithm OR algorithms)~