Abstract
Reinforcement programming is a new technique for using computers to automatically create algorithms. By using the principles of reinforcement learning and Q-learning, reinforcement programming learns programs based on example inputs and outputs. State representations and actions are provided. A transition function and rewards are defined. The system is trained until the system converges on a policy that can be directly implemented as a computer program. The efficiency of reinforcement programming is demonstrated by comparing a generalized in-place iterative sort learned through genetic programming to a sorting algorithm of the same type created using reinforcement programming. The sort learned by reinforcement programming is a novel algorithm. Reinforcement programming is more efficient and provides a more effective solution than genetic programming in the cases attempted. As additional examples, reinforcement programming is used to learn three binary addition problems.
Degree
MS
College and Department
Physical and Mathematical Sciences; Computer Science
Rights
http://lib.byu.edu/about/copyright/
BYU ScholarsArchive Citation
White, Spencer Kesson, "Reinforcement Programming: A New Technique in Automatic Algorithm Development" (2006). Theses and Dissertations. 480.
https://scholarsarchive.byu.edu/etd/480
Date Submitted
2006-07-03
Document Type
Thesis
Handle
http://hdl.lib.byu.edu/1877/etd1368
Keywords
genetic reinforcement programming Q-learning RPSort algorithm automatic
Language
English