4. Software environment ExpertPRIZ Overview of PRIZ - family systems SystemComputerYearAdditional-...

22
4. Software environment ExpertPRIZ rview of PRIZ - family systems System Computer Year Additional- components SMP Minsk-22 1973 PRIZ-32 Minsk-32 1975 PRIZ ES ES (IBM-360/370) 1978 DB MIS ES 1981 ELBRUS-I SM BESM-6 MicroPRIZ Apple II 1982 -- “ -- Labtam 3000 1984 ES -- “ -- IBM PC 1985 ES ExpertPRIZ IBM PC 1987 ES, DB NUT Labtam-Kronos 1988 SUN NEXT IBM PC(Linux) C-PRIZ IBM PC ES WExpPRIZ IBM PC 1991 Cocovila IBM PC (Linux) 2004 (Windows) Basics of CAD * A.Kalja *

Transcript of 4. Software environment ExpertPRIZ Overview of PRIZ - family systems SystemComputerYearAdditional-...

4. Software environment ExpertPRIZ

Overview of PRIZ - family systems

System Computer Year Additional-components

SMP Minsk-22 1973PRIZ-32 Minsk-32 1975PRIZ ES ES (IBM-360/370) 1978 DBMIS ES 1981

ELBRUS-ISMBESM-6

MicroPRIZ Apple II 1982-- “ -- Labtam 3000 1984 ES-- “ -- IBM PC 1985 ESExpertPRIZ IBM PC 1987 ES, DBNUT Labtam-Kronos 1988

SUNNEXTIBM PC(Linux)

C-PRIZ IBM PC ESWExpPRIZ IBM PC 1991Cocovila IBM PC (Linux) 2004

(Windows)

Basics of CAD * A.Kalja *

Basics of CAD * A.Kalja *

ExpertPRIZ

User interface

Xpert Solver Database

ExpertKnowledge bases

ConceptualKnowledge bases

Databases

Application

The structure of ExpertPRIZ

Basics of CAD * A.Kalja *

Basics of CAD * A.Kalja *

Basics of CAD * A.Kalja *

Basics of CAD * A.Kalja *

Basics of CAD * A.Kalja *

Basics of CAD * A.Kalja *

4.1 Solver

- to solve different computational problems - to perform data input-output (from problem model)- to perform database queries- to perform symbolic calculation

Problem solving steps:-description of concepts-description of problem -solving of problem

Basic concepts

ObjectObject - any entity with name and specified properties; - any entity with name and specified properties; it may have a complicated internal structure.it may have a complicated internal structure. Object specificationObject specification – a description of object in the input – a description of object in the input language of ExpertPRIZ. When describing an object, the name language of ExpertPRIZ. When describing an object, the name and the type of the object are specified: and the type of the object are specified: numeric, text, numeric, text, undefined, structure, concept.undefined, structure, concept.ConceptConcept - - a specification of properties of a class of objects of a specification of properties of a class of objects of some kind. Concepts are used for specifying objects. The object some kind. Concepts are used for specifying objects. The object that is specified by means of a prototype concept acquires all the that is specified by means of a prototype concept acquires all the properties of this concept and contains all its components, too. properties of this concept and contains all its components, too. Conceptual knowledge baseConceptual knowledge base – a set of concepts stored in a file – a set of concepts stored in a file.

Basics of CAD * A.Kalja *

Problem specificationProblem specification -- a text in the input language of a text in the input language of ExpertPRIZ where objects and relations between ExpertPRIZ where objects and relations between the objects are specified.the objects are specified.RelationRelation -- a specification showing how to derive values of a specification showing how to derive values of some objects from the values of other objects.some objects from the values of other objects. Relations can be presented as equations or modules.Relations can be presented as equations or modules.Problem modelProblem model -- an extended representation of problem an extended representation of problem specification, which is used in carrying out computations.specification, which is used in carrying out computations. Problem statementProblem statement -- a statement indicating the objects for a statement indicating the objects for whose values or analytical expression for dependencies of whose values or analytical expression for dependencies of these numeric objects are to be found.these numeric objects are to be found. CommandsCommands are intended to perform some actions without are intended to perform some actions without choosing them "manually" from the menu.choosing them "manually" from the menu.

Concept. KB.

Concept

ObjectProblem specification

Basics of CAD * A.Kalja *

Squarea numeric *side*s numeric *area*d numeric *diagonal*p numeric *perimeter*s=a^2d^2=2*a^2p=4*a Q square d=3

? Q.s--> Q.s=4.5

1

Q1 square a=1Q2 circle d=Q1.ax=Q1.s-Q2.s?x--> x=0.2146

The algorithm for calculating x:Q1.a=1 -->Q1.aQ2.d=Q1.a -->Q2.dQ2.pi=3.1416-->Q2.piQ2.d=2*Q2.r-->Q2.rQ2.s=Q2.pi*Q2.r^2-->Q2.sQ1.s=Q1.a^2-->Q1.sx=Q1.s-Q2.s-->x

* Solve the problem* Store the concept* Problem froma file

Basics of CAD * A.Kalja *

4.2 Input language

Statements 1)specifications2)problem statements3)commands4)comments

Names and identifiersx Ident. consist letters and numbers,A333 always beginning with a letter.x_3 _ is regarded equivalent to letters Identifikaat Capital and lover caseIdentifik letters are different. 8 letters.

Errors: 3_kassi x7$kujund.ruut.diagonaal – compound name

Keywords cannot be used - num, tex, und, sup

Constants

numeric text3.14 ‘see on tekstikonstant’-0.2865E65e-5

Basics of CAD * A.Kalja *

Specification of objects Primitive objects

<id> numeric<id> text

Objects of undefined type<id> undefined

Specification of structural objects<id> (<name>…)

Specification of objects by means of concepts

<id><concept_name>[<binding>…]

<binding> is an equation in the form<component_name>=<value><component_name=<name>

Example: Car1 moveCar2 move v=Car1.v S=1000

Example: S1(a b)T textS2(T)S3(S1 S2 T)

<id>.<component_name>

Basics of CAD * A.Kalja *

Virtual objects

[<vir_id>] * / ja ^ are equal to letters

If a compound object contains components that are virtual objects, then the value of the compound object does not contain the values of its virtual components.When finding a value of such an object, it is not com-pulsory for the system to find values for its virt. comp.

Example:* Concept move1

s=v*t[min]*60=t[h]*60=[min][km]*1000=s[km/h]=[km]/[h]

* Contains virtual components [min],[h],[km],[km/h]

* Let us describe the object Car Car move1 v=30 [min]=25

* Finding value to Car, the system finds values* only for Car.[min],Car.s,Car.v and Car.t.* and outputs only the last three

?Car

Inheritance (super-concept)

super <concept_name>Example:

super move[min]*60=t[h]*60=[min][km]*1000=s[km/h]=[km]/[h]

NB! You can have more than one super‑concept for a concept or a problem, if there are no coincidences of names.

Specification of relations:EquationsArithmetical equations:

[+] <expression> = <expression>

equation’ systems - num objects,binaryoperators+-*/^

functionssin asincos acostan atansqr sqrtexp ln logabs sign

parentheses( and )

Basics of CAD * A.Kalja *

Logical equations:<name> = <extended_expression>

num - It contains at least one of the follo-wing operators and expressions- relational operators

lt, le, gt, ge, eq, ne- logical operators

and, or, not- conditional expressionsif <expr1> then <expr2> else

<expr3> fi

true - 1false - 0

Text type objects will be compared lexicographicallyThe order of these operations:- logical not;- arithmetical operations;- relational operations;- logical and;- logical or.

If nonzero , then<expr2> v.

Basics of CAD * A.Kalja *

Equivalences:<name1> = <name2><name1> = <value>

Equivalences are used for three purposes:- to equalize a textual object with a textual

constant or another object of textual type;- to assign type to an undefined

object <name1>. - to "equalize" compound objects.

not num-type

Relations given by built in functions

<input_obj>... ‑> <output_obj> {<function_name>}

<subtask>... <input_obj>... ‑> <output_obj> {<module_name>} Each subtask <subtask> has the form: ( <sub_input_obj>... ‑> <sub_output_obj> )

Basics of CAD * A.Kalja *

Problem statement

There are two kinds of problem statements:- to compute values of objects;-to find analytical expressions for dependences of some objects (of numeric type) on some other obj.

Computing values:? [<name>]… , where <name>... contains

the names of objects of a problem modelMeaning:-compute the values of the objects <name>…

? - to find values of the all objects

Finding dependencies: finding analytical dependences of some num erical objects on some other numerical objects is represented by a statement :

?[<name1>]…->[<name2>]… [+|-] - if<nimi1> missing... results are constamts - if<nimi2> missing…for all obj. that are possible

Commands !<command_name> [<parameter>…]!clear [y|n] !reset !file<filename>[#<entry_name>]!expert <KB_name> !use <concept_base_name>!concept <concept_name> !show

Comments * This is a commentBasics of CAD * A.Kalja *

Example:

A) concepts

* Resistoru=i*rg=i/rp=u*i

*Serial connectionsuper resx1 res i=ix2 res i=iu=x1.u+x2.ur=x1.r+x2.r

* Parallel connectionsuper resx1 res u=ux2 res u=ui=x1.i+x2.ig=x1.g+x2.g

resu

i

r

ser

par

x1 x2

x1

x2

Basics of CAD * A.Kalja *

!clear y*r1 res r=5r2 res r=15r3 res r=20r ser x1=r1 x2=r2s par x1=r x2=r3 u=10*? s.i? r1 r2 r3?? r1.r r2.r r3.r s.u -> s.p? r1.r r2.r r3.r -> s.r

r

s

r1

r2

r3 u=10v5

15

20

Basics of CAD * A.Kalja *

Computational model

M=(X,S) , where X set of variablesS set of relations

CM graphical presentation

Describing and solving a problem

relation with input variable

relation with weakly related variable

relation with strongly related variable

relation with a module

A

B

C

D

U={A,B,C,D}

M

X

Y=V

Z

Q

Basics of CAD * A.Kalja *

relation with output variable

CM in logic (representation on knowledge)

AxiomsX->Y(U-V)->(X->Y)Formulas|-X->Y; A|-X------------------------ -

A|-Y’

|-(U->V)->(X->Y); A|-X; A,U|-V;-------------------------------------------------------------- --

A|-Y’

A,X|-Y----------------- +

A|-X->Y

A|-QA|-Q

Set of propositional formulas.

Formula,,which shows

the solvabilityof the prolem

Compute V on model M by using U

A

B

C

Y

Basics of CAD * A.Kalja *

THEORYTHEORY

PROBLEM

PROGRAM

PROOF

LOGIC

COMPUTING

Basics of CAD * A.Kalja *