Detection and tracking of overlapping communities in dynamic complex networks