I know about Convex Hull, but convex hull is convex, which isn't what I want. I want a polygon that will always try to minimize it's perimeter however will not have multiple surfaces:
For example, I don't wanna this to happen:
I don't even know how to solve this by hand. Hell, when drawing the images above, when I made them more complicated I didn't even know how to connect the points for the lowest perimeter.
I tried to google concave hull, but that's not what I want. I want the polygon to traverse all points.
What should I look for to solve this problem?

