📄 gpdata_gp96.readme
字号:
W. B. Langdon 21 March 1995TEST CASES FOR GP-96 PAPER "USING DATA STRUCTURES WITHIN GENETIC PROGRAMMING"This file documents three data files each of which contains the testcase for one of the experiments described in the paper "Using DataStructures within Genetic Programming" by W. B. Langdon to bepresented at GP-96. These test cases are made available so as to makeit easier for you to reproduce the experiments described. Please feelfree to contact me if you have any questions.A postscript version of the paper is available via anonymous ftp fromnode cs.ucl.ac.uk in directory genetic/papers file WBL.gp96.ps Thepaper describes GP solving three ``classic'' problems. The first tworequire the GP to distinguish between sentences that are in a languageand those that are not given positive and negative training examplesof the language. The two languages are, correctly nested brackets and a Dyck language(correctly nested brackets of different types).The third problem is to evaluate integer Reverse Polish (postfix)expressions. W. B. Langdon, Phone +44 171-380-7214 Computer Science Dept. Fax +44 171-387-1397 University College London, Gower Street, W.Langdon@cs.ucl.ac.uk London, WC1E 6BT England http://www.cs.ucl.ac.uk/staff/W.Langdon/----------------------------------------------------------------------Files r1.7 gp.test.brack (Nested brackets)r1.15 gp.test.karp (Dyck problem)r1.12 gp.test.rpn (Reverse Polish Expression)Format of data % indicates start of comment which finished at the end of the lineGPtests nnn nnn indicates max size of test casestop_on nnn nnn is a bit mask. Each bit indicates if the testing may continue following a program indicating a particular exception. These are explained in the paper and follwing comment start nnn Start of a sequence of tests. nnn is a seed used to initialise indexed memory. 0 indicates initialise to zero.r0..r9 writable registerstree rN xx Call tree (ie run the GP program under test using from tree). Typically tree will be "rpb", ie run the main result producing branch. rN indicates a register in which to store the value returned by the program and xx is the input to the program. This may be an integer or the contents of a register. If the tree takes no arguments xx is omitted, if it has two arguments then xx would be followed by another value or register. If the tree doesn't return a value rN is omittedend_test end of test sequenceFINISHED_TESTS Whole test case is finishedA number of statements allow specific conditions to be testedfor. These are logically combined by the next break statement. Ie atest is only passed if ALL tests since the last "start" or "break" havebeen passed. If any test fails then the "stop_on_error" on exceptionbit (1024) is set. If this bit is set in the stop_on mask the testingof this subsequence will stop at the next breakbreak Iff previous tests are true then increment the number of passes else may stop testing (depending on stop_on_error) Testing will stop if following an exception (eg loop_too_nested_error) if the corresponding bit was set by stop_onscorneq_ rN ss if(NOT rN) increase score by ss. In these tests ss is always one. In the first two experiments the programs score is the number of "scorexx"/"break" it passes.scoreq_ rN ss if(rN) increase score by ss (always one). scoreq rN xx if(rN==xx). In the reverse polish experiment a separate score is kept for each of the five main trees. Each time a "scorexx"/"break" is passed the score for each tree executed since the previous break (or start) is increased by one. hurdle pp Do not run any more test sequences, unless pp or more breaks have been passed.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -