220 likes | 252 Views
4. Software environment ExpertPRIZ. Overview of PRIZ - family s ystems. S ystem Computer Year Additional - c omponen ts 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
E N D
4. Software environment ExpertPRIZ Overview of PRIZ - family systems SystemComputerYearAdditional- 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 *
ExpertPRIZ User interface Xpert Solver Database Expert Knowledge bases Conceptual Knowledge bases Databases Application The structure of ExpertPRIZ 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 Object - any entity with name and specified properties; it may have a complicated internal structure. Object specification – a description of object in the input language of ExpertPRIZ. When describing an object, the name and the type of the object are specified: numeric, text, undefined, structure, concept. Concept- a specification of properties of a class of objects of some kind. Concepts are used for specifying objects. The object that is specified by means of a prototype concept acquires all the properties of this concept and contains all its components, too. Conceptual knowledge base – a set of concepts stored in a file. Basics of CAD * A.Kalja *
Problem specification- a text in the input language of ExpertPRIZ where objects and relations between the objects are specified. Relation- a specification showing how to derive values of some objects from the values of other objects. Relations can be presented as equations or modules. Problem model- an extended representation of problem specification, which is used in carrying out computations. Problem statement- a statement indicating the objects for whose values or analytical expression for dependencies of these numeric objects are to be found. Commands are intended to perform some actions without choosing them "manually" from the menu. Concept. KB. Concept Problem specification Object Basics of CAD * A.Kalja *
Square a numeric *side* s numeric *area* d numeric *diagonal* p numeric *perimeter* s=a^2 d^2=2*a^2 p=4*a Q square d=3 ? Q.s --> Q.s=4.5 Q1 square a=1 Q2 circle d=Q1.a x=Q1.s-Q2.s ?x --> x=0.2146 1 The algorithm for calculating x: Q1.a=1 -->Q1.a Q2.d=Q1.a -->Q2.d Q2.pi=3.1416-->Q2.pi Q2.d=2*Q2.r-->Q2.r Q2.s=Q2.pi*Q2.r^2-->Q2.s Q1.s=Q1.a^2-->Q1.s x=Q1.s-Q2.s-->x * Solve the problem * Store the concept * Problem from a file Basics of CAD * A.Kalja *
4.2 Input language Statements 1)specifications 2)problemstatements 3)commands 4)comments Names and identifiers x Ident. consist letters and numbers, A333 always beginning with a letter. x_3 _ is regarded equivalent to letters IdentifikaatCapital and lover case Identifik letters are different. 8 letters. Errors: 3_kassi x7$ kujund.ruut.diagonaal – compound name Keywords cannot be used - num, tex, und, sup Constants numeric text 3.14 ‘see on tekstikonstant’ -0.286 5E6 5e-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>…) Example: S1(a b) T text S2(T) S3(S1 S2 T) 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 move Car2 move v=Car1.v S=1000 <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 andCar.t. * and outputs only the last three ?Car Basics of CAD * A.Kalja *
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: Equations Arithmetical equations: [+] <expression> = <expression> equation’ systems- num objects, binaryoperators + - * / ^ functions sin asin cos acos tan atan sqr sqrt exp ln log abs sign parentheses( and ) Basics of CAD * A.Kalja *
Logical equations: <name> = <extended_expression> num • It containsat least one of the follo- • wing operators and expressions • - relational operators • lt, le, gt, ge, eq, ne • - logical operators • and, or, not • - conditional expressions • if <expr1> then <expr2> else<expr3> fi If nonzero , then <expr2> v. true - 1 false - 0 Text type objects will be compared lexicographically The order of these operations: - logical not; - arithmetical operations; - relational operations; - logical and; - logicalor. Basics of CAD * A.Kalja *
Equivalences: <name1> = <name2> <name1> = <value> not num-type 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. 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>... containsthe names of objects of a problem model Meaning:-compute the values of the objects <name>… ? - to find values of the all objects Finding dependencies:finding analytical dependences of some numerical 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 comment Basics of CAD * A.Kalja *
Example: A) concepts * Resistor u=i*r g=i/r p=u*i *Serial connection super res x1 res i=i x2 res i=i u=x1.u+x2.u r=x1.r+x2.r * Parallel connection super res x1 res u=u x2 res u=u i=x1.i+x2.i g=x1.g+x2.g u res i r ser x1 x2 par x1 x2 Basics of CAD * A.Kalja *
5W r1 20W r3 u=10v r2 15W r s !clear y * r1 res r=5 r2 res r=15 r3 res r=20 r ser x1=r1 x2=r2 s 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 Basics of CAD * A.Kalja *
Computational model M=(X,S) , where X set of variables S set of relations CM graphical presentation relation with input variable relation with output variable relation with weakly related variable relation with strongly related variable relation with a module Describing and solving a problem M X A B Y=V C Z D Q Basics of CAD * A.Kalja * U={A,B,C,D}
Compute V on model M by using U A B Y C CM in logic (representation on knowledge) Axioms X->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|-Q Formula,, which shows the solvability of the prolem Set of propositional formulas. Basics of CAD * A.Kalja *
THEORY PROBLEM PROOF PROGRAM LOGIC COMPUTING Basics of CAD * A.Kalja *