The following conventions are used throughout this document.
'Enter' means the Enter key or the Return key.
Type 'key' means press the specified key without 'Enter'.
Press F? means press the specified function key without 'Enter'.
Enter means type in the specified text and followed by 'Enter' key.
Select/Use an option:
use cursor keys to move the highlighted option and press
'Enter', or type the upper-cased character on the left.
GAF is not case sensitive, use either upper or lower cased key.
The GAF system menu, at the top of the screen, is the primary user
interface to the system. System menu provides sub-menu function
selection (function menus): Info, Run, Display, Control, Adapt, Method,
Segment, Feedback, Eval, Other, and Help. Following sections describe
each function in detail. Use the first character of each selection or use
cursor keys (right/left arrows) to select the sub-menu. When a function
menu is selected a pull down menu appears to provide function selection.
To select a function either by the character on the left of that function
or move the cursor with up/down arrow keys and then "Enter". When a
function is selected, further menu selection or data entry menu may be
provided by that function. Press ESC in function menu will return to
system menu. Press ESC under system menu will bring run function menu,
except when the system menu was ESCaped from any of the running mode
(i.e. from adapting or simulation). Before discussing each function menu
in detail, the screen windows are explained for clarification.
There are five types of system windows and four types of display windows.
The system windows are: menu window, hint window, adapt status window,
segment title window, and segment display window. The segment display
window contains four sub-windows: rule text window (text window), trend
plot window (plot window), combined result window (result window), and fuzzy
rule firing window (firing window).
The menu window is at the top of the screen occupied by the system
menu as described above. In any of the run mode, the menu window is
closed; use ESC or F10 to get back to system menu.
The hint window is at the bottom of the screen to provide user hints
(available keys or functions) to the user. Note that in run modes the
hint window also displays the current schedule rate.
Segment Title Window
The segment title window (title window) shows the information for the
selected segment, see Segment section for selecting a segment. The
title window is located immediately above segment display window.
Example of title window:
Segment 0 20 Symbols 2 Inp VAR: MOVEMENT POS_ERR
Cycle 0.06 11 Rules 1 Out VAR: CURRENT
Where, the first line shows the segment ID, number of fuzzy
membership symbols, number of input variables, and the names of input
variables. The second line shows the cycle rate of the segment,
number of rules, number of output variables, and the names of output
Adapt Status Window
The adapt status window (adapt window) shows the status of genetic
adaptation. Adapt window only exists under genetic adapting mode, it
is immediately above the title window. Example of adapt window:
Iteration=50 Items=10 Best=0.95 Last=0.85 Worst=0.55 Good=11 Bad=39
Generation=4 From=2 Method=ADJUST_INPUT_SET.INTENSIFY_DILUTE
Mutated set NEG_LARGE defined for POS_ERROR
Average=0.935 Result= 0.935 0.935 0.935 0.935
Iteration indicates number of iterations
Items items in the best list (gene pool)
Best the best score in the gene pool
Last the last score in the gene pool
Worst the worst score of all iterations
Good number of good iteration
Bad number of bad iteration
Generation the generation of current iteration
From which one (in the pool) been picked for adapting
Method the method used to adapt
Average average score for all tests
Result score for each test
The third line indicates what was changed for the new generation.
Segment Display Window
The segment display window (display window) displays important status
and information of the selected segment. The display window occupies
the most part of the screen immediately above the hint window. There
are four types of sub-windows inside display window for showing fuzzy
rules and running status: rule text window (text window), trend plot
window (plot window), combined result window (result window), and fuzzy
rule firing window (firing window). The place and area of these sub-
windows can be rearranged by the user, please see "Display" section
for rearranging display windows.
The text window shows the rules and status of the rules for current
selected segment. Each rule is presented in a row with several
columns associated with it. The first column indicates whether the
rule is disabled (marked with 'x') or fired (marked with '*'). The second
column shows the rule number. The rest of columns display the
content of the rule, i.e., the fuzzy membership set symbol for
corresponding inputs and outputs. These content columns are
presented, in different color, with inputs first then the outputs as
the same sequence shown in the title window above. if local variables
are selected (see Display section) the local variables are displayed
after input variables. In run modes, use cursor keys to scroll up,
down, right, and left for undisplayed contents.
Trend Plot Window
The plot window draws the trend graph for all inputs, outputs, and
selected local variables with time in x-axis and value in y-axis. Each
variable has its own sub-window, started from top to bottom, with the
same sequence and color as in the text window. See sub-section "Set
Plot Time Frame" under Display for changing the frame duration.
Combined Result Window
The result window depicts the result for selected output of the
segment. The trapezoid result of all fired rules, rules generate non-
zero output, are in the upper portion of the window . In the lower
portion of the window the defuzzified result (combined result) and the
output value are displayed. Multiple outputs can be selected with
split display area. See sections Segment and Display for selecting
output and arranging display window.
Rule Firing Window
The firing window shows the fuzzy inference status (firing condition)
of selected rules. This feature along with the stepping mode, under
simulation or check segment, is the best way to tuneup or debug the
control system. You'll find the selected rule's fuzzy sets are
displayed to the left of the combined result. The corresponding input
value for each set is plotted vertically in the same window. Note
that each fuzzy set input has the same color as in the text window.
Refer to Display section for arranging display window, and Segment
section for selecting rules.
Info : About GAF System
The Info menu shows the version, system wide limits, and current free
IO length (in bits)
the supported analog IO bits
Number of IO channels
maximum number of IO channels supported
Number of sets per segment
maximum number of fuzzy input sets in a segment
Number of rules per segment
maximum number of rules in a segment
Total variables per segment
maximum number of variables (IN, OUT, and LOCAL) in a segment
Number of segments
maximum number of segments in the system
Number of fuzzy symbols
maximum number of fuzzy symbols in a segment
Name length (IO & symbol)
number of characters for names (variable name or symbol name)
Number of best genes
the maximum limit of the gene pool (best list)
Run : System Run Modes
The Run menu provides different modes for running GAF system. GAF
offers following five running modes: control, monitor, check segment,
simulation, and adapt. Also provided is to terminate (quit) the program.
Although there are five running modes, they can be divided into two
categories: the control (simulation) portion and the automatic adaptation.
While in any of the running modes, use ESC or F10 to escape back to system
menu for other functions, then ESC again will bring you back to original
running mode. Use Alt-Q to quit the program.
Q: Quit the program
Select this option or type 'Q' to quit the program.
R: Control Mode
The control mode provides users for online control and limited user
interfaces for interacting with the real control environment and
fuzzy rule segments. The output of all segments are routed through
output channels, and the inputs are brought in through the input
M: Monitor Mode
The monitor mode provides users for online monitoring and analyzing
the real control environment and fuzzy rules. The output of all
segments are for display only, they are NOT routed through output
channels, but the inputs are brought in through the input channels.
See Simulation mode for detail user interfaces.
C: Check Segment
This feature allows user to examine one segment at a time. Combined
with other segment functions, i.e. preset and modify variables, user
can check the response of the selected segment with fixed (constant)
or manual values for inputs and local variables. See Simulation mode
for detail user interfaces.
S: Simulation Mode
The simulation mode offers user to simulate the system with feedback
segment(s) for integration test. The feedback can be user defined
segment(s) with FEEDBACK keyword or user provided measured data
set. Refer to Feedback section for details about setting up
feedback. In simulation mode GAF automatically closes the control
and feedback loop with the same variable names. For example, if there
is an input variable "POS_ERR" defined in the control segment, and it
is also declared as an output in the feedback segment. Then GAF
automatically use the result value from the feedback segment as the
input value of the control segment. On initialization GAF searches
through all segments to find matches among normal (control) and
For monitor, check segment, and simulation modes, the following
interactive user interfaces are supported.
C : toggles on/off continuous mode
F : continue until the end of the plot frame
1 ~ 9 : run 1 ~ 9 steps
0 : run 10 steps
+ - : increase/decrease sample rate (see below)
enter : single step
alt-Q : quit the program
cursor keys to scroll up, down, right, and left of text window
All other keys, while not in continuous mode, are treated as
"Enter" for single step.
Another major feature in GAF is that you can tune your system by
trying different schedule rate (or cycle time defined in each
segment). There are different time modes offered by simulation mode
and check mode. These time modes are: real time mode, simulated time
mode, sim-schedule mode, and 24 hours clock mode. Please refer to
the Control section for details about these time modes. There is an
easy way to change the sampling rate in sim-schedule and simulated
time mode. That is to use the '+' and '-' keys. By press '+' or '-' key,
GAF adjusts the schedule rate or cycle time by increasing or
decreasing an adjustable amount. Please refer the Control section
for setting the adjust amount. The current sample rate value will be
displayed in the hint window.
A: Adapt mode
The genetic-adapt mode is an offline adaptation mode. While fuzzy
logic mimics the human's imprecise reasoning, the genetic algorithm
mimics the evolution of the nature. The genetic algorithm uses
randomization techniques to reach local optimum without exhausting
searching through the solution state space. With randomization,
genetic algorithm is also capable of escaping from local optimum and
hopping into a new better state. GAF uses genetic algorithm to
derive proper rules and fuzzy sets from the initial rules. By
changing, adding, deleting rules and fuzzy membership sets of the
fuzzy system, the genetic algorithm automatically adapts and
optimizes the fuzzy control system.
Besides the feedback segment, the adapt mode also needs an
evaluation segment for evaluating the result of adaptation. There
are two ways to specify evaluation segment, canned evaluation or
user defined segment. See Evaluation section for detail.
The evaluation process for genetic-adapt is defined as follow. GAF
runs through all preset cycles, which are preset conditions defined
in evaluation segment. After each cycle the result score from the
evaluation segment (see Evaluation for defining result) is compared
to the minimum score. If it is below the minimum and the gene pool
(saved best generations) has been filled up, GAF stops further
evaluation of any unfinished cycles. The overall evaluation result
will be the average score of all the preset cycles.
The creating of a new generation is described as follow. In order to
produce a new generation, GAF picks, with weighed random, one or two
out of the gene pool (saved best generations) based on genetic
algorithm and availability in the pool. Then applies the selected
genetic algorithm to the picked item(s) to create a new generation.
After starting adapt, GAF evaluates the selected adapt segment and
saves it on the top of the gene pool. The pool can save up to one
hundred best adaptations (or generations) in the order of their
performance -- the evaluation result. See section Adapt for setting
number of gene pool. GAF then produces a new generation and
evaluates this new generation. The evaluation result is compared
with those in the pool, and the new generation will be either inserted
in the pool or thrown away. GAF repeats this process -- creation,
evaluation, and judging the result, until reaches a pre-specified
maximum iteration or quit from the user.
User can specify the test time for preset test cycle and number of
samples should be taken for evaluation. The test time is used to run
each preset test, then GAF samples the score result for the
specified number of times. The preset evaluation result will be the
average of all samples, and the final result will be the average of all
preset cycles. For example, if the test time is two seconds and the
number of samples is 4 (with 0.1 sample rate), the total time for a
preset cycle will be 2.3 seconds. See Evaluation section for how to
define evaluation result.
The following interactive interfaces are supported in adapt mode.
C : continue
Alt-C : switch to continuous mode
Alt-P : turn on iteration pause
Alt-A : turn on preset cycle pause
Alt-Q : quit the program
cursor keys to scroll up, down, right, and left of text window
All other keys will halt adapting temporary.
Control: Change Simulation Parameters
The control menu allows user to change the control and simulation
environment. Currently only following functions are supported.
R: Real time mode
T: Sim time mode
S: Sim schedule mode
As mentioned, there are four different time modes: real time mode,
simulated time mode, sim-schedule mode, and 24 hours clock mode. The
real time mode uses actual system clock (computer clock) for
scheduling the segments. This mode is the only allowed mode for
running in the control mode. The following is an example of how real
time mode schedules a three segments system with 0.1, 0.2, and 0.3
cycle time. Assume that each segment takes 0.05 second to run. GAF
scheduling table will be:
Sweep # Time Seg 1 Seg 2 Seg 3
-------- -------- -------- -------- --------
1 0.00 Run Run Run
2 0.15 Run --- ---
3 0.20 --- Run ---
4 0.25 Run --- ---
5 0.30 --- --- Run
Instead of using real system time, the simulated time mode uses fixed
time interval to simulate the schedule rate for the system. For
example if the user specifies schedule interval is 0.1 second. Then
the above scheduling table will be:
Sweep # Time Seg 1 Seg 2 Seg 3
-------- -------- -------- -------- --------
1 0.0 Run Run Run
2 0.1 Run --- ---
3 0.2 Run Run ---
4 0.3 Run --- Run
5 0.4 Run Run ---
The sim-schedule mode resembles the simulated time mode, except that
it does not use the cycle time of each segment for scheduling.
Instead the sim-schedule mode uses the schedule rate for all
segments, i.e. runs all segments all the time. Therefor, the
scheduling table will be:
Sweep # Time Seg 1 Seg 2 Seg 3
-------- -------- -------- -------- --------
1 0.0 Run Run Run
2 0.1 Run Run Run
3 0.2 Run Run Run
4 0.3 Run Run Run
5 0.4 Run Run Run
C: Sim schedule rate
Use this option to set desired time interval in seconds for either
simulated time mode or sim-schedule mode.
K: Sim clock mode
The simulated clock mode is a variation of sim-schedule mode. This
mode allows user to simulate 24 hours clock within a single plot
I: Increment value
As mentioned, an easy way to change the simulated schedule rate is
to use the '+' and '-' keys to increase and decrease the schedule rate.
This option allows user to set the amount of increasing/decreasing,
the default value is 0.005 second.
Segment: Change segment and value
The segment menu offers user three major functions:
Select a segment for display or for following actions
Change/modify the segment
Control/change the display of the segment
S: Segment number
Use this option to select a segment. The default selected segment
is the first segment (the segment 0). The selected segment is
displayed in the display window and title window.
C: Cycle time
Change the cycle time for the selected segment. Note that the real
cycle time may depend on the running mode and time mode been
selected. Refer to Run and Control sections for more information.
I: Set input value
O: Set output value
L: Set local variable value
These options allow user to manually set a variable's value. After
select one of these options, GAF pops up a window with all variable
names alone with their variable number. Select a variable, GAF then
requests for new value. Enter the new desired value will close all
windows. Note that you can use F7 to reset the system, see function
key for detail.
G: Set output gain
Use this selection to change the gain of selected output. Again, just
like setting variable value, GAF asks for output variable and then
the new gain value.
E: Enable rule
D: Disable rule
GAF allows you to enable or disable the rule(s) in any of the running
modes. The disabled rules are marked with 'x' at the first column in
text window. Select one of these options, GAF then highlights the
first rule at the second column in text window. Use cursor keys to
move highlighted cursor and then press 'Enter' to enable or disable
A: Enable all rules
This option gives user an easy way to enable all rules.
P: Display result
After changing the Display window's arrangement, i.e. selecting whole
display or no plot mode, use this option to select the desired output
you want to display. GAF automatically selects the first output for
R: Display rule firing
The above option (Display result) allows user to specify the output
to display, this allows user to select rule to be displayed with its
detail inferencing in firing window. When select this option, like
disable/enable rule, GAF uses the text window for selecting menu.
Note that selected rules are marked with 'x'.
N: Combined result only
When this option is selected, GAF deselects all rules from displaying
its inference (firing window). So only the combined result will be
S: Preset to
Use this option to preset to a specific state defined by "PRESET"
statements in segment(s). GAF will prompt for the preset number.
Display: Arrange Display Windows
The display menu allows user to arrange and select the screen layout,
text font, and color of the screen display. In future version, GAF will
also allow user to put all these features in a configuration file, which
will be read in during initialization.
1: Use standard font
2: Use small font
With these two options, you can switch between normal text display
or small font text display.
3: Select normal display mode
The normal display mode displays the text window on the left portion
of the display window and the plot window on the right. See window
split for changing the size of text window.
4: Select whole display mode
In this mode the text window still occupies the left portion, but the
right portion of the display window splits into two parts, the upper
half shows the plot window, and the lower half displays the combined
result and firing window. See Segment section for more information
about selecting rules and outputs. See window split for changing size
of text window.
5: Select plot only mode
This option allows you to see only the plot. GAF dedicates the entire
display window to plot sub-window except reduces the text window to
only first two columns on the left (the status and rule number).
6: Select no plot mode
This display mode removes plot window from the right portion. So the
combined result and firing window are displayed on the right along
with text window on the left.
7: Select text only mode
This mode shows the text window only. Because graphics, i.e. trend
plot draw result, and draw firing condition, takes much of CPU time,
this mode allows you to speed up the test or control.
P: Plot duration
The default plot frame period is five seconds (except in auto clock
mode). Use this option to change the frame duration, the value is
specified in seconds.
Use this option to switch between color and mono mode.
W: Window split (Change size of text window)
Allows user to change the size of the text window. The value is
specified in percent, i.e. 60 means that text window occupies 60% of
the display window. If the value is greater than 90, GAF
automatically switches to text only mode. If the value is less than
10, GAF shuts text window off (except the left most two columns).
D: Display local variable
The default display mode is to display/plot IN, OUT, and INOUT
variables. The LOCAL variables are not displayed. Use this option to
enable LOCAL variables.
Adapt: Setup adapt environment
The adapt menu is used to change the overall environment for genetic
adaptation. See the Method section for more information about
controlling the genetic algorithm.
C: Continuous mode
Set the adaptation to continuous mode without pause or delay, unless
user interferes. The continuous mode is the default mode after
P: Iteration pause
Y: Pause per cycle
These two options allow user to halt the adapting process in order
to examine it. The iteration pause is to halt at the end of each
iteration. The cycle pause is to halt at the end of each preset cycle.
Type 'C' to continue, press Alt-C to switch back to continuous mode.
S: Sample number
Specifies number of samples should be taken for calculating each
preset test's evaluation result.
W: Weight increment
GAF uses linear propotional weight for random selecting from the
gene pool. This option is to set the linear increment of the weight.
For example the increment is 2, then the weight for the best in the
gene pool will be 2 * 100 = 200, and the weight for the worst in the
pool will be 2.
B: Max best items
The number of items kept in the best list (gene pool). The limit of this
value is 1 to 10.
I: Max iteration
This allows user to specify the maximum number of iterations. GAF
stops after this number of iterations is reached. If the value is
less than or equal to 0, there is no limit.
T: Test time
As explained the test time is the time for each preset test before
evaluate the result. Use this to set the proper value, in general it
should be greater than the rising time for the longest response in all
D: Iteration delay
L: Cycle delay
Instead pause for each iteration/preset cycle, users can specify
time delay between iterations or preset cycles. Zero value means
O: Minimum score
This value defines the minimum score for a successful preset test
cycle. GAF tries to go through all preset tests, but stops after any
preset test failed to score the minimum value. The default value is
A: Adapt segment
Use this option to change the segment you want to adapt. The name
of the selected adapt segment is shown on the next line in the menu.
Note that the selected adapt segment may not be the same as the
selected display segment.
U: Use best list
G: Use original segment
The first option allows user to pick one adaptation out of the best
list and then switch to simulation mode for testing or debugging. The
"Use original segment" option allows user to switch back to the
original segment, which is loaded from the file.
R: Reset best list
This option allows user to clear the gene pool, i.e. delete every
sample in the gene pool.
Feedback: Setup feedback module
GAF supports two kinds of feedback modules. The first one is using user
data, from field measured data or generated from higher level model. The
other choice is to use user defined feedback segment.
A user defined segment is just like a control segment with FEEDBACK
keyword instead of SEGMENT. You can define the feedback segment with
fuzzy rules or with math formulas. Multiple feedback segments are
allowed. The outputs from feedback segment(s) are routed to all segments'
inputs if they have the same variable name. Please refer to Fuzzy Control
Language (FCL) guide for constructing a GAF segment.
To use user data as feedback, user simply put data in a text file with
spread sheet like format, i.e., one column per variable, with different
variables in a row. The data must be an evenly distributed complete data
set with both input and output variables specified like a feedback
segment. GAF only has limited capability to handle non-evenly distributed
data set. The output variables defined in this file will be treated as
output of a feedback segment. Besides put data in the text file, user can
specify following options in the same file or interactively.
whether to compress data or not
type of fuzzy set
bandwidth of fuzzy set
D: Use feedback data
With this option to select the use of feedback data specified in a
text data file. This option and the option "user feedback" are
R: Reload data
Use this option to load or reload data from specified data file.
F: Feedback data file
This option specifies the file name of the text feedback data file.
E: Examine feedback
Use this option to check/examine the response of the feedback. When
selected, GAF uses check segment mode for user to examine its
U: User feedback
S: Feedback segment
These two options are used to specify user defined feedback segment.
Use 'U' to select user feedback. This will deselect feedback data
option. The "feedback segment" option specifies which one is the
Evaluation: Setup evaluation module
The Eval menu provides user for specifying type of evaluations and
related parameters. There are two types of evaluation: the user defined
evaluation segment and the canned evaluation. With user evaluation
segment, the user has to specify which segment is the evaluation segment
and what is the final result (an output variable) of the evaluation. The
default evaluation segment name is "EVALUATION", and the default result
variable is "EVAL_RESULT". When user starts adapt mode, GAF tries to
find both evaluation segment and result variable, if not defined GAF
stops. With GAF supported canned evaluation the user must specify
variable(s) to evaluate
the target of those variable(s)
the deadbands of those variable(s)
the rising time
the preset tests
User can use non-symmetric deadband to achieve overshoot or undershoot
D: Default evaluation
To select default (canned) evaluation. This will deselect user
evaluation. After select canned evaluation, user must specify
output variable(s) for evaluation.
V: Variable to eval
Use this option to specify the variable to evaluate and its target,
rising time, and dead bands for selected display segment. GAF pops
up a window for user to select and fill in all parameters.
U: User evaluation
E: Eval segment
R: Eval result variable
These three options are used to specify user defined segment. Use
'U' to select user evaluation. This will deselect default evaluation.
The "eval segment" option specifies which one is the evaluation
segment, and the "eval result variable" option specifies the
evaluation result variable.
Method: Control Genetic Algorithm
GAF uses weighed random to select one of the genetic algorithms for
creating next generation. The method menu allows user to control these
algorithms by setting new weight factor. A method can be disabled by
setting zero weight. For example, if no new rules are allowed then set
"adding rules" to zero. The method menu is divided into two parts, the
upper half for changing weights for overall adapting methods. The lower
half is to change the detailed weight for specific adapting method.
Z: Zero all weights
This option zeros all weights in the upper half adapting methods.
C: Change rules
4: Change rules ...
The change rules method adapts the existing rules inside that
generation. The first option (in the upper half) changes the overall
weight for adapting existing rules. The second option is used to
change the detail adapting weights inside change rules. When the
second option is selected, GAF pops up a sub menu under method menu.
The followings are options in the sub menu.
I: Adjust input set
5: Adjust input set ...
The adjust input set method alters the fuzzy membership sets defined
in the segment. The first option (in the upper half) changes the
overall weight for adapting input fuzzy membership set. The second
option is used to change the detail adapting weights inside input set
adaptation. When the second option is selected, GAF pops up a sub
menu under method menu. The followings are options in the sub menu.
The mutate method randomly change one or two "cell" in the
membership set. Use this option to set the weight of mutation.
The crossover method uses two parent genes (two generations
from the gene pool) to generate next generation by inheriting
cells from either parent.
The intensify method intensifies the membership set, the dilute
method dilutes the membership set.
This method either broaden or restrict the fuzzy membersip set.
S: Shift fuzzy set
The shift method shifts the membership set along the value
without changing its shape.
T: Change truth
This method alters the truth value of the selected fuzzy
K: Scale (0 - 1)
The scale factor defines how much the above methods, except
mutate and crossover, would change the set's value. One means
100% and zero means none.
A: Adding new rule
This method creates new generation by adding new rule to the
segment. The new rule is created with the same way as described in
E: En/dis-able rule
This method disable (or enable) rule to form a new segment.
T: Alter cycle time
This method creates new generation by modifying the cycle time of the
old segment. The range of cycle time can be specified with max and min
under adapt menu.
G: Alter output gain
This method adjusts the output gain to form a new generation.
1: Max cycle time
2: Min cycle time
These two values clamp the sample rate, the cycle time of the
segment. GAF will not exceed these limits during adaptation when
adapting of cycle time is enabled (the weight for alter cycle time is
greater than 0).
3: Maximum rules
This option allows user to set a limit for number of rules is allowed
during adaptation. If the number is less than 1 there will be no limit.
Other: Report and Other Functions
The Other menu provides the following functions:
B: Report selected best list
A: Report all items in list
R: Report file
These options allow user to generate report about the item(s) in the
best list. Use 'R' to set the file name of the report. Use 'A' to report
all items in the list, and use 'P' to select one out of the list.
L: Enable adapt log
D: Enable detail log
O: Log file to
In adapt mode, GAF can generate a log file for user to review. Use 'L'
to enable (disable) the log, use 'D' to switch on (off) detail log. Use
'O' to specify the log file name.
E: Enable plot data
P: Plot data to
When enabled, GAF generates a data file for the result of each
iteration. The data file can be used by MyPlot to plot. The 'T' option
specifies the file name of the data file.
S: Generate statistic log
T: Statistic to
These options allow user to generate statistic report about the
adaptation. Use 'T' to set the file name of the statistic log. The log
includes statistics for all methods. Based on the statistic you may
want to adjust the weight of the methods.
F1: Get help
GAF provides context sensitive help. Press F1 to call up the on-line
help. Inside help you can jump to other topic by selecting listed
F2: Display the system info
Press F2 to see the system limits.
F3: Next segment
Press F3 to switch the display segment.
F4: View segment information
Press F4 to see the variable definition, initialization and run
functions, and other information for the selected display segment.
F5: View symbol definition
Press F5 to see the fuzzy set symbols' definition for this segment.
F6: View preset definition
Press F6 to see the preset definition for this segment.
F7: Reset the system
The F7 function key allows you to reset the system. The system
reset is defined in each segment's INITIALIZATION declaration. GAF
goes through all segments executes the initialization defined in each
segment and reset the segment scheduler.
When starts up, GAF searches configuration file "GAF.CFG" under current
directory or where GAF.EXE resides. The configuration file is a text file
for setting up the GAF environment. The format of the configuration file
is a series of "attribute = attribute_value;". The attribute can be in any
order and can be defined multiple times with the latter value overrides
the previous value. The configuration attribute can also be included
inside FCL module file by enclosing it within "CONFIGURATION" and
"END_CONFIGURATION;" keywords. Because FCL modules are proce( *(after
GAF.CFG, so FCL's configuration will override GAF.CFG. The following
configuration attributes are provided by GAF.
Enable/disable color display. Valid values are YES and NO. The
default is COLOR_MODE = YES;
Sets the color for the system menu and pulldown menus. Available
colors are: BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN,
LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED,
LIGHTMAGENTA, YELLOW, WHITE. The default is MENU_COLOR = CYAN;
Sets the foreground text color for the system menu and pulldown
menus. The default is MENU_TEXT_COLOR = BLUE;
Sets the color for the highlight bar. The default is HIGHLIGHT_COLOR
Sets the foreground text color for the highlighted entry.
The default is HIGHLIGHT_TEXT_COLOR = RED;
Initializes the display mode. Available values are: NORMAL_DISPLAY,
DISPLAY_PLOT_ONLY, DISPLAY_WHOLE, DISPLAY_NO_PLOT,
DISPLAY_TEXT_ONLY. Please refer to Display section for details.
The default is DISPLAY_MODE = NORMAL_DISPLAY;
Initializes the size of the text window. The value is in percentage of
the screen. Please refer to Display section for details.
The default is WINDOW_SPLIT = 55;
Assigns the duration of the trend plot in seconds.
The default is PLOT_DURATION = 5.0;
Configures the text font. Available font are: NORMAL and SMALL. The
size should be 1 for normal font and 4 for small font.
The default is TEXT_FONT = NORMAL; FONT_SIZE = 1;
This attribute determines whether local variables will be displayed
along with input/output variables.
The default is DISPLAY_LOCAL_VARIABLE = NO;
The SIM_SCHEDULE_RATE determines the simulated schedule rate. The
value should be a floating number in seconds.
The default is SIM_SCHEDULE_RATE = 0.06;
The SIM_INC_RATE attribute defines the increment of + and - keys
during simulation mode. The default is SIM_INC_RATE = 0.005;
This attribute defines how many samples should GAF take for
calculating average evaluation result during adaptation.
The default is EVAL_SAMPLE = 3;
Defines the proportion weight increment for gene pool.
The default is GENE_WEIGHT_INC = 2;
Initializes the gene pool size, i.e. number of best genes saved in the
best list. The default is MAX_BEST_ITEM = 10;
The TEST_TIME attribute initializes the duration for each evaluation
cycle for adaptation. The value is in seconds, and default is
TEST_TIME = 2.0;
This attribute sets the minimum evaluation score for the adaptation
mode. The default is MIN_SCORE = 0.6;
These attributes are used to assign the weight for genetic adapting
methods. The values should be in integer, and the defaults are 1.
Please refer Method section for details.
These attributes are used to assign the weight for adjusting the
input fuzzy membership set. The values should be in integer, and the
defaults are 1. Please refer Method section for details.
The MAX_RULE defines the maximum number of rules allowed during
adaptation. The default is zero, i.e. there is no limit for number of
These two attributes define the limit of cycle rate for the
adaptation. The default are:
MAX_CYCLE_RATE = 0.50;
MIN_CYCLE_TIME = 0.03;
Defines the null band for the score of evaluation result. The default
is EVAL_NULL_BAND = 0.02;
These attributes initialize the status of enable or disable adapt log,
adapt detail log, or the plot data log. Valid values are: YES to enable
and NO to disable. The defaults are NO.
These attributes define the file names for the adapt log, plot data,
adapt report, or the statistic report. The defaults are:
ADAPT_LOG_FILE = "adaptlog.log";
PLOT_DATA_FILE = "adaptlog.dat";
ADAPT_REPORT_FILE = "adaptlog.rpt";
STATISTIC_REPORT_FILE = "adaptlog.sta";