Simple ai to generate lakes on a map

I am searching an algorythm to create lakes on an array map[][].
The algorythm should select a random place a create a lake (with a random size) but with a regular shape (not with tiles around everywhere).

Does anywone know some guide, tutorial or can explain me how to do it?

Two ideas:

a) Place a number of random ‘hot spots’, then include everything within a given radius from these hot spots. Then smooth the edges.

b) Fractal approach: Generate a random, convex polygon. Then iteratively replace each edge by a number of shorter edges, randomly displaced. The random factor should decrease with the scale, until you reach pixel / tile level.