  A new general algorithm for optimization of potential functions for protein
folding is introduced. It is based upon gradient optimization of the
thermodynamic stability of native folds of a training set of proteins with
known structure. The iterative update rule contains two thermodynamic averages
which are estimated by (generalized ensemble) Monte Carlo. We test the learning
algorithm on a Lennard-Jones (LJ) force field with a torsional angle
degrees-of-freedom and a single-atom side-chain. In a test with 24 peptides of
known structure, none folded correctly with the initial potential functions,
but two-thirds came within 3{\AA} to their native fold after optimizing the
potential functions.
