Postgis has two simplification function based both on Douglas-Peucker
ST_Simplify - Returns a "simplified" version of the given geometry using the Douglas-Peuker algorithm.
ST_SimplifyPreserveTopology do the same but preserve topology

For theory, a reference for me is http://www.spatialanalysisonline.com
Look on the web version and search "smoothing".
You can also look on http://www.geom.unimelb.edu.au/gisweb/LGmodule/LGModule.htm (more for an introduction to concepts but really interesting in particular for mc master method)