This section, in brown italic font, appears in many places on this website for completeness - so you can skip it in future!
The purpose of this Guide is to show you how to actually use the computer program MOPEKS. If you are not a computer programmer, please read 'Guide ⇨ Basic Principles' first.
If you are a computer programmer, please read 'Guide ⇨ Key Concepts' followed by 'Guide ⇨ How it Works'. You could even buy and read 'The Book' but that may be a step too far.
You can then experiment by actually running the program MOPEKS.
Firstly, download and install MOPEKS as explained in 'Downloads ⇨ MOPEKS Program'.
Then start it up! When you encounter the Advice form (see 'FAQ ⇨ List of Forms ⇨ Form Advice') please read what it has to say. If it has any "red" content then there is a problem and you will have to do your best to solve it with the help of the 'Troubleshooting' section. By all means send me the error log if that happens - see 'Guide ⇨ Quality Control'
Assuming there are no problems, press the green "continue" button on the Advice form and you will encounter the Wizard, which is oriented towards actions. Then press the green continue button to go straight on to Reception which is oriented towards locations. Both of these forms are merely different routes to the same thing - you can regard them as being navigational aids.
Press the appropriate radio button until the Reception form looks like below. Now read what it has to say carefully - MOPEKS is complicated. It may look like a game but it is not.
Left click on image for a full size shot in a new tab or window. Press F11 for a full screen, if you wish. Then F11 again to return
End of brown italic section!
When you are ready, press the button labelled 'Information'. The following form should then come up.
Left click on image for a full size shot in a new tab or window. Press F11 for a full screen, if you wish. Then F11 again to return
The top and bottom buttons are self explanatory - they should bring up your default browser and connect to this site. If they do not, it is hardly material as you would not be reading this if you were unable to access it!
Now press, the middle button, 'MOPEKS Constants'. This should bring up the form Mopeks Constants, as below.
Left click on image for a full size shot in a new tab or window. Press F11 for a full screen, if you wish. Then F11 again to return
Lines, Pages, Chapters, Books and Shelves are all explained in 'FAQ --> Methods --> #21'.
BOOKS_MAX: Typically, MOPEKS will stop running after it has tested 10,000,000 Books. Arguably, this is a redundant restriction and could be removed. Having said that, it would normally take at least 10 years to exceed this limit.
CHAPTERS_MAX: If MOPEKS has not found a solution after 50 Chapters it will start a new Book, irrespective of
any other settings. Arguably, this is a redundant restriction and could be removed
PAGES_MAX: If MOPEKS has not found a solution after 5,000,000 Pages it will start a new Chapter, irrespective of
any other settings. Arguably, this is a redundant restriction and could be removed
METHOD_LINES_MAX: This is the Maximum number of Lines in a Method or Page
CHAPTERS_FROM_SUCCESS: This is explained in 'FAQ --> Methods --> 15 to 21'. Specifically, if MOPEKS has not found a solution in this number of Chapters then act accordingly. This figure should arguably be set at 2!
pPAGES_SINCE_SCREEN_UPDATE: When MOPEKS is looking for Methods it tests 5,000 Methods (or Pages) before updating the screen. This will be nearer to 50 Methods in the case of the Simulator (Class 34) as that is much slower. See SIMULATOR_FACTOR below in Note 36
pSYNTHETIC_PAGES_LIMIT: When MOPEKS is looking for Methods, it will test 50,000 Random Methods to start with rather than taking Methods from the Breeding Pool. This is because the Breeding Pool is empty when it starts! This will be nearer to 500 Methods in the case of the Simulator (Class 34) as that is much slower and its Pool is much smaller. See SIMULATOR_FACTOR below in Note 36
In some cases these Methods will not actually be Random as they may be from the Line Library or even elsewhere - hence the use of the word Synthetic.
pPOOL_POPULATION: Explained in 'FAQ --> Method FAQ--> #15'. This will be nearer to 30 Methods in the case of the Simulator (Class 34) as that is much slower. See SIMULATOR_FACTOR below in Note 36
pPAGES_SINCE_POOL_ENTRY: If we have NOT had a new entry for 30,000 Pages then start a new Chapter. This will be nearer to 300 Pages in the case of the Simulator (Class 34) as that is much slower. See SIMULATOR_FACTOR below in Note 36
This is not currently in use.
pDO_STATS: Once every 1,000 Pages we update the Statistics and do other housekeeping jobs. This is because speed is essential when seeking Methods and is why many Statistics are in the exact thousands. This will be nearer to 10 Pages in the case of the Simulator (Class 34) as that is much slower. See SIMULATOR_FACTOR below in Note 36
COPIES_MAX: Currently, you cannot automatically arrange the screen tiling if you run more than 64 copies of MOPEKS finding Methods. This is an arbitrary restriction and can easily be increased if anybody requests it.
Like many arbitrary restrictions, this seems plenty but maybe not - "no one will need more than 637 kb of memory for a personal computer" Bill Gates
This is not currently in use.
EXT_LENGTH: As you will have noticed, MOPEKS uses several file extensions - specifically, ".mpkt", ".msct", ".mtxt" and ".mthd". Thes are all 4 digits long and are explained in 'FAQ --> General --> Q6'
This is not currently in use.
GAP_AFTER_CODE_LINE: This is just concerned with formatting and is of no interest to the user
pHOUSE_KEEPING: This is an evolutionary remnant and is no longer in use
ID_LENGTH: All of the MOPEs (Methods, Objects, Properties and Environments) have IDs of the form "ABC-DEF-GHI" eg the Method ID of "000-000-123". These are all 11 digits long. This may seem excessive but at one point in the evolution of MOPEKS I was minded to give every user a unique set of IDs. This is probably too complicated and is on hold for now.
This has precedent. For example, if you wish to manufacture or distribute a product your country’s EAN.UCC organization will allocate you a range of Bar Codes for your specific use.
INSTRUCTIONS_IN_LINE: There are 11 instructions possible in a line of code in a Method. See Method FAQ 3 and Method FAQ 4.
This is not currently in use.
LRM_PER_SIMULATION: LRM means "Lines Run Maximum". When you run the Simulator, (Class 34 Method), you are looking for a Method that will solve the problems of the Intelligent Object in one particular trial. If the Method you are testing AND all of the Methods it may call run for a combined total of more than 1,000,000 lines of code, it will terminate.
This is to stop the Method you seek from looping or becoming huge.
LRM_PER_SK_VISIT: LRM means "Lines Run Maximum". No Individual Method is allowed to run for more than 500 lines of executed code. Calls to other Methods are counted as just one line of execution. If it does execute more than 500 lines of code, it will be discarded.
This is to stop the Method you seek from looping or becoming too big.
A Method may call a dozen or more different Methods all of which call lots of other Methods and the total lines run by the ultimate parent Method and all the Methods called may well run up to 50,000 lines (see Note 23 below) over maybe 10 Trials. It is the individual Method we are concerned with here in one single Trial.
LRM_PER_TRIALS: LRM means "Lines Run Maximum". Suppose we are looking for a a Method of Class 1, 2, 3, 11, 12, 13, 14, 21, 22, 23 or 24, then over a total of, say, 10 Trials, if the Method you are testing AND all of the Methods it may call run to a combined total of more than 50,000 lines of code executed, it will terminate. See also Note 22 above.
This is to stop the Method you seek from looping or becoming huge.
METHODS_MAX: This is the maximum number of Methods which can be present in an Environment. That includes Methods which belong to the Environment plus Methods which belong to individual Objects in that Environment. This is explained in 'FAQ --> Methods --> Q19
This number could be increased from 128 to 256 by allocating an extra 'bit' of storage but this has a cost by slowing MOPEKS down when looking for Methods. So, like many things in real life, 128 is a compromise.
OBJECTS_MAX: Maximum number of Objects permitted in a Simulation (Class 34 Method). This is currently set on 7 (because the zero is not used in the three bit word that stores object numbers).
This number could be increased from 7 to 16 by allocating one extra 'bit' of storage and some program re-organisation. This would have a cost by slowing MOPEKS down when looking for Methods. So, again, 7 is a compromise.
The Creation of Objects is explained in 'Guide --> Library --> 3 Create an Entity'.
PROPERTIES_MAX: This is the maximum number of Properties which can be present in an Environment. That includes Properties which belong to the Environment plus Properties which belong to individual Objects in that Environment. This is explained in 'FAQ --> Methods --> Q19
This number could be increased from 32 to 64 by allocating an extra 'bit' of storage but this has a cost by slowing MOPEKS down when looking for Methods. So, again, 32 is a compromise.
ENV_PROPERTIES_MAX: This is the maximum number of Properties which can be present in just the Environment itself. This is explained in 'FAQ --> Methods --> Q19
This number could be increased from 32 to 64 by allocating an extra 'bit' of storage but this has a cost by slowing MOPEKS down when looking for Methods. So, again, 32 is a compromise.
PROBLEMS_MAX: Currently, the number of problems that can be stored on disk is restricted to 99. This is an historical anomally that needs to be changed in due course!
The creation of Problems is actually described in 'FAQ --> Methods --> Q22
This is not currently in use.
SORTED_ASCENDING: This is just a code used to distinguish between different types of Sort when clicking on a column heading
SORTED_DESCENDING: This is just a code used to distinguish between different types of Sort when clicking on a column heading
SHORT_NAME_METHODS: Currently, the name abbreviation routine reduces full Method names to 15 digits in length eg the full Method name 'Return as Percentage Multiplier' is reduced down to 'RtrnAsPrcntgMlt' which is 15 digits in length.
SHORT_NAME_OBJECTS: Currently, the name abbreviation routine reduces full Object names to 7 digits in length eg the full Object name 'Proof Reader' is reduced down to 'PrfRdr' which is 7 digits in length.
SHORT_NAME_PROPERTIES: Currently, the name abbreviation routine reduces full Properties names to 7 digits in length eg the full Properties name 'Orientation Vertical Axis' is reduced down to 'OrnttVA' which is 7 digits in length.
SHORT_NAME_ENVIRONS: Currently, the name abbreviation routine reduces full Environment names to 20 digits in length eg the full Environment name 'Added to demonstrate abbreviation of long names' is reduced down to 'AdddTDmnstrtAbbrvOLN' which is 20 digits in length.
SIMULATOR_FACTOR: The Simulator (Class 34 Methods) runs much slower than the Factory does ie slower than when the Factory seeks Methods of Classes 1, 2, 3, 11, 12, 13, 14, 21, 22, 23 and 24. For this reason some of the Constants listed in this section are reduced by a factor of 100 to allow for this.
SIMULATOR_SETUP_COLS: This used when passing certain arrays from Visual Basic 6 to routines written in Viusal C++. This is of no significance to the user of MOPEKS.
SIMULATOR_SETUP_ROWS: This used when passing certain arrays from Visual Basic 6 to routines written in Viusal C++. This is of no significance to the user of MOPEKS.
This is not currently in use.
STEPS_MAX: Currently, Trials and Simulations (ie processes involving Classes 21, 22, 23, 24 and 34) are restricted to a maximum of 100 Steps. This could easily be increased without causing any problem. Like many things in the real world, it is the way it is for purely historical reasons.
TRIALS_MAX: Currently, the search for Methods of Classes 1, 2, 11, 12, 13, 14, 21, 22, 23, 24 is restricted to a maximum of 20 Trials. Note that Class 3 Methods are restricted to one Trial for reasons explained in 'FAQ --> Methods --> Q21'
This could easily be increased without causing any problem but in practice I have rarely used more than 10 trials so it should be adequate as a maximum figure.
MOPEKS® and the Blue Logo are the Registered Trademarks of the MOPEKS Organisation
Website Published: 15th October 2013
Program Launched: 2nd November 2013
Copyright © MOPEKS Organisation 2013. All rights reserved
'MOPEKS Organisation' is the Trading name of Mopeks Ltd a company registered in England under number 07519676
The robot docking station is here
here