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)