Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Грамматика экспертной системы
- Экспертная система
- <expert system> ::= <defenition> <initialization> <rule block> <variable block> <completion>
- Общие нетерминалы
- <output> ::= OUTPUT: {<output data>,…}
- <output data> ::= <expertise variable name> | <text>
- <value> ::= <simple value> | {<fuzzy value>,…}
- <fuzzy value> ::= <simple value> CF 1..100
- <assigment> ::= <variable name> = <value>
- <variable name> ::= <expertise variable name> | <environment variable name>
- <input> ::= INPUT: <expertise variable name> <type> WITH <text>
- 1.Блок цели
- <definition> ::= GOAL: <expertise variable name>
- 2.Блок инициализации
- <initialization> ::= INITIAL: {<initialization command>,…}
- <initialization command> ::= <output> | <assignment> | <input>
- 3.Блок правил
- <rule block> ::= {<rule>,…}
- <rule> ::= [{<auxiliary element>,…}] [<ready>] IF: <premise> THEN: <conclusion> [<reason>] [<variables>]
- <auxiliary element> ::= <priority> | <cost> | <test> | <comment>
- <priority> ::= PRIORITY: 1..100
- <cost> ::= COST: 1..100
- <test> ::= TEST: {S | E | P}
- <comment> ::= COMMENT: <text>
- <ready> ::= READY: {<ready command>,…}
- <ready command> ::= <output> | <assignment>
- <premise> ::= < logical expression >
- <logical expression> ::= <logical operand> | <logical expression> <logical operator> <logical expression>
- <logical operand> ::= (<logical expression> ) | <comparison expression>
- <logical operator> ::= AND | OR
- <comparison expression> ::= <comparison operand> <comparison operator> <comparison operand>
- <comparison operand> ::= <expertise variable name> | <value> | <function name>(<expertise variable name>)
- <comparison operator> ::= > | < | >= | <= | ==
- <conclusion> ::= {<action>,…}
- <action> ::= <expertise variable name> <operator> <value> | <output>
- <operator> ::= +=, -=, =
- <reason> ::= REASON: <text >
- <used variables> ::= <needs> | <changes>
- <needs> ::= NEEDS: {<expertise variable name>,…}
- <changes> ::= CHANGES: {<expertise variable name>,…}
- 4.Блок переменных
- <variable block> ::= {<variable>,…}
- <variable> ::= VAR: <expertise variable name> [{<variable command>,…}]
- <variable command> ::= <find> | <label> | <when> | <cf type> | <rigor> | <limit>
- <find> ::= FIND: {<find command>,…}
- <find command> ::= <assignment> | <input>
- <label> ::= LABEL: <text>
- <when> ::= WHEN: {F | L | N}
- <cf type> ::= CF TYPE: <cf type value><cf type value>
- <cf type value> ::= {M | P}
- <rigor> ::= RIGOR: {M | C | A}
- <limit> ::= LIMIT: <number>
- 5.Блок завершения
- <completion> ::= DO: {<completion command>,…}
- <completion command> ::= <assignment> | <output>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement