Best代写-最专业靠谱代写IT | CS | 留学生作业 | 编程代写Java | Python |C/C++ | PHP | Matlab | Assignment Project Homework代写

C++代写 | Use genetic programming to perform symbolic regression

C++代写 | Use genetic programming to perform symbolic regression


Use genetic programming to perform symbolic regression. Your goal is to find the symbolic algebraic expression of the form y=f(x) best fits a set of 1000 (x,y) pairs. Assume only algebraic operators (+, –, ´, ¸), sine and cosine, and as terminals assume real constants (in the range ±10) and the variable x. The program can be written in any language of your choice.

Run your program on the dataset data.txt

Use any representation, variation operators, selection mechanism you like. You may reuse your code from assignment #1. This assignment is individual.

A week ahead of the deadline, submit single-page result from random search.


Hand in a PDF report containing:

  1. Cover page, with Your name, UNI, Course name and number, instructor, Date Submitted, Grace hours used and grace hours remaining.
  2. Results page with one figure showing dataset and best fit curve and error metric (mean average error), as well as the analytical solution found
  3. Methods (2 pages max)
    1. A brief description of the representation, variation operators and selection process you used for your implementation.
    2. Analysis of what worked and what didn’t, and why
  4. Performance plot:
    1. Learning curves (fitness vs. evaluations) averaged on at least four runs, with error of the mean, for each approach tested
    2. Baseline curves for comparison (hillclimber, random)
    3. Any other diagnostic plot you choose
  5. Appendix: Listing of all the code you wrote (do not include code you did not author yourself, for example external libraries or auto-generated code)
    1. Use Courier font, size 8, single line spacing, highlight function declarations

Grading Rubrics

This assignment has a maximum of 100 points. Grading of this assignment is incremental: You collect points for reaching various goals, and you can choose which goals you want to meet. If you accumulate more than 100 points, only 100 points will be recorded as the final grade for this assignment. You can get a maximum of five points for each of following tentative rubrics:

  1. Cover page includes all information
  2. General quality of the report (grammar, layout)
  3. Result page showing information requested
  4. Code included (8pt courier single spacing)
  5. Random search submitted a week ahead of deadline
  6. Dot plot for any one of the methods
  7. Diversity plot for any one of the methods
  8. Convergence plot for any one of the methods
  9. Plot showing accuracy vs complexity (of all evaluations
  10. Description of representation used
  11. Description of random search
  12. Description of hill climber
  13. Description of EA variation operators used
  14. Description of EA selection methods used
  15. Analysis of performance. Did it work? Why or why not?
  16. Learning curve of random search
  17. Learning curve of hill climber
  18. Learning curve of GP
  19. Learning curve of some variation of the GP
  20. learning curves clearly labeled, labeled axes
  21. learning curves have error bars
  22. Overall correctness of the result
  23. Overall efficiency of the algorithm (accuracy versus number of evaluations)
  24. Simpler problem(s) tested for debugging
  25. Automatically draw tree representing best solution
  26. Show video where every frame is data point and best function found so far (include link to video online in the PDF, along with a frame from the video)