Armaselu and Daescu (TCS, 2015) present algorithms that, given a convex polygon $P$ and an integer $m$ (which must be a power of $2$), return a partition of $P$ into $m$ convex polygons with the same area and same perimeter.
If we only want the area to be equal (and do not care about perimeter), then the problem becomes easy for any $m$: move a "knife" (a straight line) over $P$ from left to right, and make a cut whenever the area covered by the knife is $1/m$. Since $P$ is convex, the resulting pieces are convex too.
But what if $P$ is not convex? Then, cutting $P$ by a knife might generate pieces that are not convex and even not connected.
What is an algorithm for partitioning a polygon (that is connected but not necessarily convex) into $m$ connected polygons?
My guess is that the problem should be much easier for hole-free polygons. But even for this case, I could not find an algorithm.