•   Home   
  • Downloads
  •   Guide  
  •    FAQ   
  •  Various 
  • The Book
  • The Future
  •  Contact 
  • MOPEKS® Guide to Information


    Introduction

    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.

    http://www.mopeks.org/images/form_reception_information.gif 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!

    Continue

    When you are ready, press the button labelled 'Information'. The following form should then come up.

    http://www.mopeks.org/images/form_information.gif
    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.

    http://www.mopeks.org/images/form_mopeks_constants.gif 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

    Notes 0 to 4 Inclusive

    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

    Note 5

    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!

    Note 6

    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

    Note 7

    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.

    Note 8

    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

    Note 9

    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

    Note 10

    This is not currently in use.

    Note 11

    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

    Note 12

    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

    Note 13

    This is not currently in use.

    Note 14

    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'

    Note 15

    This is not currently in use.

    Note 16

    GAP_AFTER_CODE_LINE: This is just concerned with formatting and is of no interest to the user

    Note 17

    pHOUSE_KEEPING: This is an evolutionary remnant and is no longer in use

    Note 18

    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.

    Note 19

    INSTRUCTIONS_IN_LINE: There are 11 instructions possible in a line of code in a Method. See Method FAQ 3 and Method FAQ 4.

    Note 20

    This is not currently in use.

    Note 21

    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.

    Note 22

    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.

    Note 23

    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.

    Note 24

    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.

    Note 25

    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'.

    Note 26

    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.

    Note 27

    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.

    Note 28

    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

    Note 29

    This is not currently in use.

    Note 30

    SORTED_ASCENDING: This is just a code used to distinguish between different types of Sort when clicking on a column heading

    Note 31

    SORTED_DESCENDING: This is just a code used to distinguish between different types of Sort when clicking on a column heading

    Note 32

    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.

    Note 33

    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.

    Note 34

    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.

    Note 35

    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.

    Note 36

    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.

    Note 37

    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.

    Note 38

    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.

    Note 39

    This is not currently in use.

    Note 40

    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.

    Note 41

    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