Open access peer-reviewed chapter

Multiset-Based Knowledge Representation for the Assessment and Optimization of Large-Scale Sociotechnical Systems

Written By

Igor Sheremet

Submitted: 28 June 2018 Reviewed: 26 September 2018 Published: 21 November 2018

DOI: 10.5772/intechopen.81698

From the Edited Volume

Enhanced Expert Systems

Edited by Petrică Vizureanu

Chapter metrics overview

926 Chapter Downloads

View Full Metrics

Abstract

This chapter is dedicated to a new knowledge representation model, providing convergence of classical operations research and modern knowledge engineering. Kernel of the introduced model is the recursively generated multisets, selected according to the predefined restrictions and optimization criteria. Sets of multisets are described by the so-called multiset grammars (MGs), being projection of a conceptual background of well-known string-generating grammars on the multisets universum. Syntax and semantics of MGs and their practice-oriented development—unitary multiset grammars and metagrammars—are considered.

Keywords

  • systems analysis
  • operations research
  • knowledge engineering
  • digital economy
  • multisets
  • recursive multisets
  • multiset grammars
  • unitary multiset grammars and multimetagrammars
  • sociotechnical systems assessment and optimization

1. Introduction

Large-scale sociotechnical systems (STS) usually have hierarchical structure, including personnel and various technical devices, which, in turn, consume various material, financial, information resources, as well as energy. As a result, they produce new resources (objects), which are delivered to other similar systems. Main features of such STS are large dimensionality and high volatility of their structures, equipment, consumed/produced objects, and at all, operation logics and dynamics [1, 2, 3, 4, 5].

Knowledge and data representation models, used in STS, provide comparatively easy and comfortable management of very large knowledge and data bases with dynamic structures and content [6, 7, 8, 9, 10]. These model bases are objects other than matrices, vectors, and graphs, traditionally used in operations research and systems analysis [11, 12, 13, 14], and they are much more convenient for practical problem consideration. But, on the other hand, aforementioned models in general case do not incorporate strict theoretical background and fundamental algorithmics, compared with, for example, mathematical programming, which provides strictly optimal solutions for decision-makers. So, practically all decision-support software in the considered STS is based on various heuristics, which correctness and adequacy are not proved usually in the mathematical sense. As a consequence, quality of the adopted decisions, based on such heuristics, in many cases may be far of optimal.

This chapter is dedicated to a primary survey of the developed knowledge representation model, providing convergence of classical operations research and modern knowledge engineering. This convergence creates new opportunities for complicated problem formalization and solution by integrating best features of mathematical programming (strict optimal solution search in solution space, defined by goal functions and boundary conditions) and constraint programming [15, 16, 17] (natural and easily updated top-down representation of logic of the decision-making in various situations). Kernel of the considered model is multisets (MS)—relatively long ago known and in the last 20 years intensively applied object of classical mathematics [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]. This background is generalized to the recursively generated, or, for short, recursive multisets (RMS) by introduction of so-called multiset grammars, or, again for short, multigrammars (MGs), which were described by the author in [30, 31]. Last, in turn, are peculiar “projection” of the conceptual basis of classical formal grammars by Chomsky [32, 33], operating strings of symbols, to the multisets universum in such a way, that MGs provide generation of one multiset from another and selection (filtration) of those, which satisfy necessary integral conditions: boundary restrictions and/or optimality criteria.

MGs may be considered as prolog-like constraint programming language for solution of problems in operations research and systems analysis areas. Taking into account relative novelty of the multigrammatical approach and absence of any substantial associations with mathematical constructions presented lower, we introduce main content of the chapter by short informal description of the main elements of this approach in Section 2. Basic formal definitions are presented in Section 3. Section 4 is dedicated to multiset grammars, while Section 5—to detailed consideration of the so-called unitary multigrammars (UMGs) and unitary multimetagrammars (UMMGs), which are main tool of the aforementioned problem formalization and solution.

Advertisement

2. Informal description

Let us consider a company, which consists of director, three departments, and one separate laboratory. This fact may be simply represented as follows:

company 1 director , 3 department , 1 laboratory . E1

In this notation, a whole structure of the company, detailed to employee positions, may be described in such a way:

department 1 head department , 3 laboratory , laboratory 1 head laboratory , 2 analyst , 3 assistant . E2

This set of constructions is of the form:

a n 1 a 1 , , n m a m E3

describes following set, created by multiplying and summarizing quantities of identical positions:

1 director 3 head department 10 head laboratory 20 analyst 30 assistant , E4

where n i a i means there are n i positions of type a i in this company.

Let us join to the company structure knowledge about employees’ month salary, represented in the same unified manner:

director 10000 eur , head department 5000 eur , head laboratory 3000 eur , analyst 1500 eur , assistant 500 eur . E5

After applying to the joined set of constructions just the same multiplying-summarizing procedure, we may obtain resulting set containing the only element {100,000 eur}, which defines company’s total financial resource, necessary for employees’ provision a month.

Presented knowledge representation concerns systems analysis, that is, obtaining integral parameters of the system given its structure and local parameters.

Consider more sophisticated task-relating systems design and concerning development of company structure given its integral parameters. Goal is to determine rational quantity of departments and laboratories in the department, as well as quantities of analysts and assistants in one laboratory. Total salary is no more than 120,000 eur, quantity of analysts in one laboratory may be from 1 to 3, while corresponding quantity of assistants may be from 2 to 6. Total quantity of employees must be maximal. There may be three different variants of company structure: (1) three departments and one laboratory; (2) two departments and three laboratories; and (3) four departments. Corresponding set of constructions is as follows:

company 1 director , 3 department , 1 laboratory , E6
company 1 director , 2 department , 1 laboratory , E7
company 1 director , 4 department , E8
department 1 head department , m laboratory , E9
laboratory 1 head laboratory , n analyst , l assistant . E10

Constructions, defining employees’ salary, and other aforementioned restrictions are as follows (for definiteness, let us take that quantity of laboratories in one department does not exceed five):

director 1 employee , 10000 eur , E11
head department 1 employee , 5000 eur , E12
head laboratory 1 employee , 3000 eur , E13
analyst 1 employee , 1500 eur , E14
assistant 1 employee , 500 eur , E15
employee = max , E16
eur 120000 , E17
1 m 5 , E18
1 n 3 , E19
1 l 6 . E20

As seen, along with already introduced “detailing” constructions, there are additional constructions, defining sets of values of variables, having places in the first ones, as well as conditions, determining optimization criterion (there may be several such criteria), and bounds of quantities of some objects in the resulting sets. Evidently, due to presence of alternatives in the description of company structure (there are three such alternatives) and variables in some of “detailing” constructions, there may be more than one resulting set like Eq. (4). These sets are of the form x employee y eur , where x is the quantity of employees, while y—total salary, corresponding to this variant. Conditions (16)(20) provide selection of those sets, which satisfy them in the described sense. In general, Eqs. (16)(20) may be interpreted as a query, determining subset of all possible variants, described by Eqs. (6)(15).

To “mark” “detailing” constructions, used while resulting set creation, one can add to their “bodies” elements like 1 variant i , for example,

company 1 variant 1 , 1 director , 3 department , 1 laboratory , E21
company 1 variant 2 , 1 director , 2 department , 3 laboratory , E22
company 1 variant 3 , 1 director , 4 department . E23

If so, then resulting sets will be of the form:

1 variant i x employee y eur . E24

To implant to these sets values of variables, it is sufficient to represent them in resulting sets in “usual” form j v , where v is variable and j is its value, so considered example will lead us to sets like:

1 variant i x employee y eur i m j n k l . E25

As seen, shortly introduced by this example knowledge and query representation language, being easy to understand and to use, allows formalization of multicriterial optimization problems, for years associated with mathematical programming. On the other hand, “detailing” constructions have form of productions (rules), far and wide used in knowledge engineering and being common background of prolog-like declarative (nonprocedural) knowledge representation [34, 35, 36]. As will be shown lower, such constructions may be used not only for structuring, but in many other cases, enabling description of various systems behavior and interaction, as well as their mutual impacts. For such reasons, this informally described technique is taken as a basis for the description of the developed mathematical toolkit considered thoroughly in the following sections.

Advertisement

3. Basic operations on multisets

Classical set theory is based on the concept of set as unordered assembly of elements, different from one another. Theory of multisets assumes presence of equal (“indistinguishable”) elements:

v = a 1 , , a 1 n 1 times a i , , a i n i times a m , , a m n m times E26

Expression (26) is recorded as:

v = n 1 a 1 n m a m , E27

where v is called multiset, a 1 , , a m —objects, n 1 , , n m —multiplicities of these objects, and n 1 a 1 , , n m a m —multiobjects. Following Eq. (27), one may consider v as set of multiobjects; also, from substantial point of view, set a 1 a m and multiset 1 a 1 1 a m are equivalent. Empty multiset, as well as empty set, is designated as . Multiplicity of object may be zero, what is equivalent to absence of this object in the multiset:

n 1 a 1 n m a m 0 a m + 1 = n 1 a 1 n m a m . E28

Fact that object a or multiobject n a belongs to multiset v (“enters v ”) is designated by one and the same symbol : a v , n a v . Set β v = a n a v is called basis of multiset v .

There are five main operations on multisets, used lower: join, intersection, addition, subtraction, and multiplication by constant [26, 27].

Consider two multisets:

v = n 1 a 1 n m a m , v = n 1 a 1 n m a m . E29

Result of their join (recorded as ) is multiset.

v v = a a 1 a m a 1 a m n a v n a v max n n a a a 1 a m a 1 a m n a v n a a a 1 a m a 1 a m n a v n a , E30

where , and designate operations of set-theoretical join, intersection, and subtraction of two sets correspondingly, while designates operation of set-theoretical join of sets determined by underwritten conditions.

Result of v , v multisets intersection (recorded as ) is multiset.

v v = a a 1 a m a 1 a m n a v n a v min n , n a . E31

Result of v , v multisets addition (recorded as bold + ) is multiset.

v + v = a a 1 a m a 1 a m n a v n a v n + n a a a 1 a m a 1 a m n a v n a a a 1 a m a 1 a m n a v n a . E32

Result of v multiset subtraction from v multiset (recorded as bold ) is multiset.

v v = a a 1 a m a 1 a m n a v n a v n > n n n a a a 1 a m a 1 a m n a v n a . E33

At last, result of v multiset multiplication by integer number n (recorded as v n ) is multiset.

v n = n × n 1 a 1 n × n m a m E34

(here integers’ usual multiplication is recorded as × )

There are also two basic relations on multisets: inclusion ( ) and strict inclusion ( ).

Multiset v is included to multiset v , that is, v v , if

n a v n a v n n , E35

and multiset v is strictly included to multiset v , that is, v v , if v v & v v .

Example 1. Let v 1 = 3 analyst 2 assistant , v 2 = 4 assistant 1 director , then

v 1 v 2 = 3 analyst 4 assistant 1 director , v 1 v 2 = 2 assistant , v 1 + v 2 = 3 analyst 6 assistant 1 director , v 2 v 1 = 2 assistant , v 1 2 = 6 analyst 4 assistant , 1 analyst 2 assistant v 1 , 4 assistant 1 director v 2 .

All defined operations are known from widespread sources (e.g., aforementioned [26, 27]). At the same time, filtering operations, defined lower, operate sets of multisets (SMS), creating subsets of these sets by selection of multisets, which satisfy some conditions, being operands of these operations.

There are two types of conditions: boundary and optimizing.

Boundary condition may be elementary or concatenated (for short, “chain”). Elementary boundary condition (EBC) may have one of the following forms:

nρa , E36
aρn , E37
a , E38

where a and a are the objects, n is the integer number, and ρ < = . Chain boundary condition (CBC) is constructed from elementary by writing them sequentially:

e 1 ρ 1 e 2 ρ 2 e i ρ i e i + 1 e m ρ m e m + 1 , E39

where e 1 , , e m + 1 are the objects or nonnegative integers, while ρ 1 , , ρ m are the symbols of relations ( < , = , ).

EBC semantics is following. Let V be set of multisets, and v V . Multiset v satisfies EBC n ¯ ρa , if n a V , and n ¯ ρn is true. Similarly, v satisfies EBC n ¯ , if n ¯ ρn is also true. At last, v satisfies EBC aρa ' , if n a v , n a v , and nρn ' is true. There is one addition to all listed definitions, concerning particular case, when n a v n ' a v , which is equivalent to n = 0 n ' = 0 .

CBC semantics is defined as follows. CBC (39) is replaced by CBC sequence

e 1 ρ 1 e 2 , e 2 ρ 2 e 3 , , e i ρ i e i + 1 , , e m ρ m e m + 1 , E40

and v V is considered satisfying CBC (39), if it satisfies all EBC having place in Eq. (40).

Result of application of boundary condition b to SMS V is recorded as V b .

Example 2. Let V = v 1 v 2 , where v 1 = 5 analyst 3 assistant 1 director , v 2 = 2 assistant 4 director 3 employee , and boundary conditions are 2 analyst 4 , assistant < employee , 1 director assistant 3 , and analyst = assistant < 5 . Table 1 contains result of application of listed boundary conditions to V.

condition V condition
2 analyst 4 v 2
assistant < employee v 2
1 director assistant 3 v 1
analyst = assistant < 5

Table 1.

Results of application of boundary conditions.

Optimizing condition has form a = opt, where a is the object, and opt min max . Semantics of this construction is following. Multiset v V satisfies condition a = min , if for every v V , such that v v , multiplicity n in multiobject n a v is not greater, than multiplicity n in multiobject n a v , that is, n n . Similarly, v V satisfies condition a = max , if for every v V , such that v v , multiplicity n in multiobject n a v is not less, than multiplicity n in multiobject n a v , that is, n n . If a v a v , we consider n a v n a v , where n = 0 n = 0 .

Filter is join of boundary F and optimizing F opt subfilters:

F = F F opt , E41

where F is set of boundary conditions, and F opt is set of optimizing conditions. Result of filtration of set of multisets V by filter F is denoted as V F and is defined by expression

V F = V F F opt E42

where

F = c 1 c k , E43
F opt = opt 1 opt l , E44
V F = i = 1 k V c i = V , E45
V F opt = j = 1 l V opt j , E46

and c 1 , , c k are EBC. As seen, set V is filtered by boundary conditions, so there are selected multisets, satisfying all of these conditions, and intermediate result V is then filtered by optimizing conditions, so, that multisets, satisfying all of them, are included to the final result.

Example 3. Consider set V = v 1 v 2 v 3 v 4 , where

v 1 = 3 analyst 2 assistant 2 employee , v 2 = 6 assistant 2 director , v 3 = 1 analyst 3 assistant 5 director 2 employee , v 4 = 1 analyst 2 assistant 2 employee .

Let F = 1 analyst 3 2 director employee analyst = min assistant = max . Then, according to Eqs. (41)(46),

V F = V F F opt ,

where

F = 1 analyst 3 2 director employee , F opt = assistant = min employee = max .

Filtration is performed as follows:

V 1 analyst 3 = v 1 v 3 v 4 , V 2 director 4 = v 1 v 2 v 4 , V F = v 1 v 4 , v 1 v 4 assistant = min = v 1 , v 1 v 4 employee = max = v 1 v 4 , V F = v 1 v 1 v 4 = v 1 .

Due to commutativity of set-theoretic join and intersection operations, filtration inside subfilters may be executed in the arbitrary order.

Advertisement

4. Multiset grammars

As mentioned higher, multiset grammars are tool, providing generation of one multisets from another, or, what is the same, generation sets of multisets.

By analogy with classical grammars, operating strings of symbols [32, 33], we shall define multigrammar as a couple.

S = v 0 R , E47

where v 0 is a multiset called kernel, while R, called scheme, is finite set of the so-called rules, which are used for generation of new multisets from already generated. Rule has the form:

v v , E48

where v (left part of the rule) and v (right part of the rule) are multisets, and v . Semantics of rule is as follows. Let v ¯ be multiset; with that we shall speak, that rule (48) is applicable to v ¯ , if v v ¯ , and result of its application is a multiset.

v ¯ = v ¯ v + v . E49

Speaking informally, if v ¯ includes v , then the last is replaced by v . Application of rule r R to multiset v ¯ is denoted as v ¯ r v ¯ , and any sequence v ¯ r r v ¯ is called generation chain.

Set of multisets, defined by MGs S = v 0 R , is denoted as V S . Iterative representation of MG semantics, that is, SMS V S generation by application of MG S, is the following:

V 0 = v 0 , E50
V i + 1 = V i v ¯ V i r R π v ¯ r , E51
V S = V , E52

where

π v ¯ v v = v ¯ v + v , if v v ¯ , otherwise . E53

As seen, function (53) implements application of rule v v to multiset v ¯ as described higher. As a result of i + 1-th step of generation, new SMS is formed by application of all rules r R to all multisets v ¯ V i , and it is joined to SMS V i . If multiset v ¯ is generated from multiset v ¯ by some sequence of such steps, it is denoted as v ¯ v ¯ .

V S is fixed point of the described process, that is, V S = V i , where i . If for some finite i V i = V i + 1 , then V S = V i , and V S is finite. In the introduced notation,

V S = v v 0 v . E54

V S includes subset V ¯ s V s of the so-called terminal multisets (TMS) v V ¯ s such that π v r = for all r R , that is, no one multiset may be generated from terminal multiset. Set V ¯ S is called final; final set consists of terminal multisets only.

Example 4. Let S = v 0 R , where v 0 = 3 eur 4 usd ,

R = r 1 r 2 , where

r 1 is 2 eur 1 usd 1 eur 1 gbp ,

r 2 is 1 eur 2 usd 1 eur 2 gbp .

As seen,

v 0 = 3 eur 4 usd r 1 2 eur 3 usd 1 gbp r 1 1 eur 2 usd 2 gbp r 2 1 usd 4 gbp ,
2 eur 3 usd 1 gbp r 2 1 a 1 2 usd 3 gbp r 2 1 usd 5 gbp ,
3 eur 4 usd r 2 2 eur 3 usd 2 gbp r 1 1 eur 2 usd 3 gbp r 2 1 usd 5 gbp ,
2 eur 3 usd 2 gbp r 2 1 eur 2 usd 4 gbp r 2 1 usd 6 gbp

(for short, identical parts of different generation chains are omitted). So

V ¯ s = 1 eur 4 gbp 1 usd 5 gbp 1 usd 6 gbp .

By analogy with classical string-generating grammars, multigrammars may be context-sensitive and context-free (CF). In the last one, left parts of all rules have form 1 a , while in the first, there are no any limitations on both parts of rules, excluding, that left part must be nonempty multiset.

Advertisement

5. Unitary multiset grammars and metagrammars

Start point for unitary multigrammars (UMGs), developed on the considered basis, is simplified representation of CF rules: instead of

1 a n 1 a 1 n m a m E55

they are written as:

a n 1 a 1 , , n m a m . E56

Construction (56) is called unitary rule (UR), object a—its head, and unordered sequence (list) n 1 a 1 , , n m a m —its body.

Let us consider UMG formal definition and illustrating example. Unitary multigrammar is couple S = a 0 R , where a is the so-called title object, and R, as in multigrammars, is scheme—set of unitary rules (56).

Iterative representation of UMG semantics, i.e., generation of SMS V S , where S = a 0 R , is following:

V 0 = 1 a 0 , E57
V i + 1 = V i v ¯ V i r R π ¯ v ¯ r , E58
V S = V , E59
V ¯ S = v ¯ v ¯ V S & β v ¯ A ¯ s , E60

where

π ¯ v ¯ a n 1 a 1 n m a m = v ¯ n a + n n 1 a 1 n m a m , if n a v ¯ , otherwise . E61

Here, A ¯ s is set of the so-called terminal objects, such that a A ¯ s , if and only if R does not include URs, which head is a (i.e., a has place only in the UR bodies). A ¯ s is subset of set A s of all objects, having places in scheme R of UMG S. Multiset, generated by UMG S, all objects of which are terminal, is also called terminal multiset (as seen, this notion of TMS does not contradict to the defined higher regarding MGs). In Eq. (61), UR a n 1 a 1 , , n m a m is written in the angle brackets for unambiguity.

As seen, Eq. (59) defines V S —set of all multisets, generated by UMG S,—while Eq. (60) by condition β v ¯ A ¯ s provides selection of V ¯ S —set of terminal multisets (STMS)—from V S .

Example 5. Consider unitary multigrammar S = company R , where R includes following unitary rules:

company 3 group , 2 analyst , company 3 analyst , group 1 analyst , group 2 analyst .

According to Eqs. (57)(61),

V S = 1 company 3 group 2 analyst 3 analyst 5 analyst 8 analyst , V ¯ S = 3 analyst 5 analyst 8 analyst .

Filtering unitary multigrammars (FUMGs) are UMG generalization, providing generation of terminal multisets and selection those of them, which satisfy conditions, assembled to filters, which were described higher in Section 3.

FUMGs are triple S = a 0 R F , where a 0 , R, and F have the same sense, as above, and set of terminal multisets, generated by S, is defined as follows:

V ¯ S = V ¯ a 0 R F , E62

that is, set of terminal multisets, generated by S, is result of filtering STMS, generated by UMGs a 0 R , by filter F.

Example 6. Let S = company R F , where R is as in Example 5, while F = analyst > 3 analyst = min . Then, according to Eqs. (57)(62),

V ¯ S = 3 analyst 5 a 2 analyst 8 analyst analyst > 3 analyst = min = 5 analyst 8 analyst analyst = min = 5 analyst .

Filtering unitary multigrammars are, in turn, basis for unitary multiset metagrammars, or, for short, multimetagrammars, which are considered at all the rest part of the chapter and are main toolkit for the description and solution of the optimization problems, mentioned in the introduction.

Unitary multimetagrammar S is, as higher, triple a 0 R F , where a 0 is the title object, and R is the scheme, containing unitary rules and so-called unitary metarules (UMR), while F is the filter. Consider UMMG syntax and semantics.

Unitary metarule has the form:

a μ 1 a 1 , , μ m a m , E63

where μ i is the positive integer number, as in UMGs/FUMGs, or variable γ Γ , where Γ is the universum of variables. When μ i is γ i Γ , then it is called multiplicity-variable (MV). As seen, unitary rule is the simplest particular case of unitary metarule with all multiplicities μ 1 , , μ m being constants. As in URs, object a in Eq. (55) is called head, while μ 1 a 1 , , μ m a m —body of metarule.

Filter F is set of conditions, which may be of the following forms:

n a n , E64
a = opt , E65
n γ n , E66

where opt max min . As seen, boundary condition (64) and optimizing condition (65) are the same, as in FUMG filters, while boundary condition (65), called variable declaration, defines set of values (domain) of variable γ and is denoted lower as N γ . If F includes subfilter F Γ = n 1 γ 1 n 1 n l γ l n l , containing boundary conditions of form (66), then every combination of variable values n ¯ 1 N γ 1 , , n ¯ l N γ l provides creation of one unitary multigrammar by substitution of n ¯ 1 , , n ¯ l to all unitary metarules, having places in scheme R, instead of multiplicities-variables being in their bodies; unitary rules, already having place in R, are transferred to new scheme, denoted R n ¯ 1 n ¯ l , without any transformations. Every such UMGs generates set of terminal multisets, after what all these STMS are joined, and resulting set is filtered by filter F = F F Γ , containing all “FUMG-like” conditions (From the described, it is obvious nature of “multimetagrammar” notion—in mathematical logic, or “metamathematics,” “metalanguage” is language, used for description of another language, so “multimetagrammar” is “unitary-like” multigrammar, used for description of other unitary multigrammars by means of unitary metarules, variables-multiplicities, and boundary conditions, defining their domains.). As may be seen from this informal description, UMMGs are simple unified tool for compact representation of sets of FUMGs (for practically valuable problems, containing very large numbers of elements—millions and greater).

Coming back to Section 2, one can see that Eqs. (6)(20) are set of elements of unitary metamultigrammar: Eqs. (6)(8) and Eqs. (11)(15) are unitary rules, Eqs. (9)(10) are unitary metarules, Eq. (16) is optimizing condition, Eq. (17) is boundary condition, while Eqs. (18)(20) are variable declarations. As seen,

N m = 1 2 3 4 5 , E67
N n = 1 2 3 , E68
N l = 1 2 3 4 5 6 , E69

so, this one UMMG, consisting of 15 lines, replaces 5 × 3 × 5 = 75 filtering unitary multigrammars, each scheme consisting of 10 lines.

Let us now give strict definition of unitary multimetagrammar notion. UMMG S = a 0 R F defines set of terminal multisets V ¯ S in such a way:

V ¯ S = S ¯ S V ¯ S ¯ F , E70
S = γ 1 n 1 n 1 γ l n l n l a 0 R γ 1 γ l , E71
R n ¯ 1 n ¯ l = r n ¯ 1 n ¯ l r R , E72
F = F F Γ , E73
F Γ = i = 1 l n i γ i n i , E74

and, at last, if r is a μ 1 a 1 , , μ m a m , then r n ¯ 1 n ¯ l is unitary rule.

a μ 1 n ¯ 1 n ¯ l a 1 , , μ m n ¯ 1 n ¯ l a m , E75

where

μ i n ¯ 1 n ¯ l = μ i , if μ i N , n ¯ j , if μ i is γ j Γ . E76

As seen, according to Eqs. (75) and (76), all multiplicities-variables of unitary metarule a μ 1 a 1 , , μ m a m are replaced by their corresponding values from the tuple n ¯ 1 n ¯ l , while all multiplicities-constants (elements of positive integer numbers set N) remain unchanged. Evidently, if all μ 1 , , μ m are constants, that is, if unitary metarule is UR, it remains unchanged.

Let us note, that multiplicities-variables area of actuality is whole UMMG scheme, that is, if there are n > 1 occurrences of one and the same variable γ in different unitary metarules (and, of course, in one and the same unitary metarule), they all are substituted by one and the same value from the applied sequence n ¯ 1 n ¯ l .

Example 7. Let us consider UMMG S = < company , R , F > , where scheme R contains following three unitary metarules:

company 2 group , γ 1 analyst , group 3 analyst , γ 2 assistant , group γ 1 analyst , γ 2 assistant ,

and filter F includes following conditions, the first being boundary, the second—optimizing, while the last two—variable declarations:

2 analyst 6 , assistant = min , 0 γ 1 1 , 2 γ 2 3 .

According to Eqs. (70)(76), this UMMG defines four UMGs:

S 0 , 2 = < company , R < 0 , 2 > > , S 0 , 3 = < company , R < 0 , 3 > > , S 1 , 2 = < company , R < 1 , 2 > > , S 1 , 3 = < company , R < 1 , 3 > > ,

where

R < 0 , 2 > = { < company 2 group > , < group 3 analyst , 2 assistant > , < group 1 2 assistant > } , R < 0 , 3 > = { < company 2 group > , < group 3 analyst , 3 assistant > , < group 3 assistant > } , R < 1 , 2 > = { < company 2 group , 1 analyst > , < group 3 analyst , 2 assistant > , < group 1 analyst , 2 assistant > } , R < 1 , 3 > = { < company 2 group , 1 analyst > , < group 3 analyst , 3 assistant > , < group 1 analyst , 3 assistant > } ,

(URs are represented in angle brackets for unambiguity). These UMGs define, respectively, following sets of terminal multisets:

V ¯ S 0 , 2 = 6 analyst 4 assistant 4 assistant , V ¯ S 0 , 3 = 6 analyst 6 assistant 6 assistant , V ¯ S 1 , 2 = 7 analyst 4 assistant 3 analyst 4 assistant , V ¯ S 1 , 3 = 7 analyst 6 assistant 3 analyst 6 assistant , V ¯ S = V ¯ S 0 , 2 V ¯ S 0 , 3 V ¯ S 1 , 2 V ¯ S 1 , 3 2 analyst 6 ) assistant = min = { 6 analyst 4 assistant , 6 analyst 6 assistant , 6 assistant , 3 analyst 4 assistant , 3 analyst 6 assistant } assistant = min = 6 analyst 4 assistant 3 analyst 4 assistant .

As may be seen, Eqs. (64)(66) define boundary conditions, concerning objects and variables, and optimizing conditions, concerning only objects, that is why from both theoretical and practical points of view, it is reasonable to extend UMMG filters by optimizing conditions, relating variables. By analogy with Eq. (65), such conditions will have the form:

γ = opt . E77

This form defines optimality of the generated terminal multisets through multiplicity-variable values, used while these TMS generation. Eq. (77) semantics is quite clear: select those TMS, which are generated by the help of value of variable γ , which (value) is minimal (maximal) among all other TMS, generated by γ application. As seen, Eq. (77) extends optimality definition from only multiplicities-constants, having places in TMS, to also multiplicities-variables, having places in unitary metarules, applied while TMS generation.

Most simple formal definition of the verbally described sense of Eq. (77) optimizing condition may be as follows. Let us introduce l auxiliary terminal objects γ ¯ 1 , , γ ¯ l corresponding variables γ 1 , , γ l , having places in UMMG S = a 0 R F , i.e., unitary metarules and boundary condition (66). After that, let us add one new unitary metarule:

a 0 1 a 0 , γ 1 γ ¯ 1 , , γ k γ ¯ l E78

to scheme R, thus creating scheme R , which contains Eq. (78) and all elements of R, and substituting all optimizing conditions of the form γ = opt by γ ¯ = opt in filter F, thus converting them to the “canonical” form (65)—remember, γ ¯ is object not variable and, more, terminal object, because there is no any UR or UMR with head γ ¯ in R. Obtained filter will be denoted as F .

As seen now, UMMG S = a 0 R F generates terminal multisets of the form:

n i 1 a i 1 n i k a i k n ¯ 1 γ ¯ 1 n ¯ l γ ¯ l , E79

where

n i 1 a i 1 n i l a i l V ¯ S , E80

and TMS (79) will be selected to V ¯ S , if and only if TMS (80) satisfies all conditions, entering F and concerning terminal objects a i 1 , , a i k , as well as TMS n ¯ 1 γ ¯ 1 n ¯ l γ ¯ l satisfies all optimizing conditions of the form γ ¯ i = opt F , corresponding γ i = opt F . .

It is not difficult to define V ¯ S by subtracting from all v V ¯ S multisets of the form n ¯ 1 γ ¯ 1 n ¯ l γ ¯ l , but from the practical point of view, it is more useful to consider not V ¯ S but V ¯ S as a result of application of unitary multimetagrammar S: it is clear that all v V ¯ S contain values n ¯ 1 , , n ¯ l of variables γ 1 , , γ l as terminal objects γ ¯ 1 , , γ ¯ l multiplicities, which computation is often main purpose of the mentioned application.

Example 8. As may be seen, problem, described in Section 2, is to obtain m quantity of laboratories, as well as n and l quantities of analysts and assistants, respectively, in one laboratory. Although Eqs. (18)(20) do not contain optimizing conditions of the form γ = opt , generating TMS like

100 employee 115000 eur 3 m 2 n 5 l E81

is much more useful than TMS like {100 employee, 115,000 eur} because of Eq. (81) with greater informativity (here, we use m, n, l instead of n ¯ , m ¯ , l ¯ ).

So we shall use V ¯ S as a result of S = a 0 R F unitary multimetagrammar application, even if R does not include variable-containing optimizing conditions.

To finish with syntax and semantics of UMGs/UMMGs, let us note that class of unitary multigrammars is strict subclass of filtering unitary multiset grammars (UMGs FUMGs): every UMGs is FUMGs with empty filter. From the other side, FUMGs are strict subclass of unitary multiset metagrammars (UMGs FUMGs): every FUMGs is UMMGs without variable multiplicities and corresponding variable declarations inside filter.

UMG/UMMG algorithmics and applications are considered in the separate chapter of this book.

References

  1. 1. Whitten JL, Bentley LD. Introduction to Systems Analysis and Design. New York: McGraw-Hill Irwin; 2006. p. 640
  2. 2. Bentley LD, Whitten JL. Systems Analysis and Design for the Global Enterprise. New York: McGraw-Hill Irwin; 2007. p. 160
  3. 3. Blanchard BS, Fabrycky WJ. Systems Engineering and Analysis. Englewood Cliffs, NJ: Prentice-Hall; 2010. p. 723
  4. 4. Lasdon SL. Optimization Theory for Large Systems. NY: Dover Publications; 2013. p. 560
  5. 5. Tilly S, Rosenblatt HJ. System Analysis and Design. Boston, MA: Cengage Learning; Ebook-dl.com. 2016. p. 572
  6. 6. Sainter P, Oldham K, Larkin A, Murton A, Brimble R. Product knowledge management within knowledge-based engineering system. – In: Proceedings of ASME 2000 Design Engineering Technical Conference. – Baltimore, Maryland: ASME, 2000. pp. 1-8
  7. 7. Akerkar R, Sajja P. Knowledge-Based Systems. Sudbury, MA: Jones and Bartlett Publishers; 2010. p. 350
  8. 8. Kendal SL, Green M. An Introduction to Knowledge Engineering. London: Springer; 2007. p. 300
  9. 9. Pannu A. Artificial intelligence and its application in different areas. International Journal of Engineering and Innovative Technology. 2015;4(4):79-84
  10. 10. Cross TB. The Uses of Artificial Intelligence in Business. New York: Prentice Hall; TECHtionary.com. 2017. p. 271
  11. 11. Gass SI, Assad AA. An Annotated Timeline of Operations Research: An Informal History. NY: Kluwer Academic Publishers; 2005. p. 213
  12. 12. Franks B. The Analytics Revolution: How to Improve Your Business by Making Analytics Operational in the Big Data Era. New York: John Wiley & Sons; 2014. p. 307
  13. 13. Hillier SF, Lieberman GJ. Introduction to Operations Research. Boston, MA: McGraw Hill; 2014. p. 1237
  14. 14. Taha HA. Operations Research: An Introduction. London: Pearson; 2016. p. 838
  15. 15. Marriott K, Stucky PG. Programming with Constraints: An Introduction. Cambridge, MA: MIT Press; 2003. p. 420
  16. 16. Apt K. Principles of Constraint Programming. Cambridge, UK: Cambridge University Press; 2003. p. 420
  17. 17. Frunkwirth T, Abdennadher S. Essentials of Constraint Programming. Berlin: Springer Verlag; 2003. p. 398
  18. 18. Lake J. Sets, fuzzy sets, multisets and functions. Journal of the London Mathematical Society. 1976;12:323-326
  19. 19. Hickman JL. A note on the concept of multiset. Bulletin of the Australian Mathematical Society. 1980;22:211-217. DOI: 10.1017/5000497270000650X
  20. 20. Meyer RK, McRobbie MA. Multisets and relevant implication. I, II. Australasian Journal of Philosophy. 1982;60:107-139. DOI: 10.1080/00048408212340551
  21. 21. Banatre J-P, Le Metayer D. Programming by multiset transformation. Communications of the ACM. 1993;36:98-111. DOI: 10.1145/151233.151242
  22. 22. Marriott K. Constraint multiset grammars. In: Proceedings of IEEE Symposium on Visual Languages. IEEE Computer Society Press; 1994. pp. 118-125. DOI: 10.1109/VL.1994.363633
  23. 23. Marriott K. Parsing visual languages with constraint multiset grammars. In: Programming Languages: Implementation, Logic and Programs. Lecture Notes in Computer Science. Vol. 1292. New York: Springer; 1996. p. 419
  24. 24. Marriott K, Meyer B. On the classification of visual languages by grammar hierarchies. Journal of Visual Languages and Computing. 1997;8:375-402. DOI: 10.1006/jvlc.1997.0053
  25. 25. Calude CS, Paun G, Rozenberg G, Salomaa A. Multisets Processing: Mathematical, Computer Science and Molecular Computing Points of View. Lecture Notes in Computer Science. Vol. 2235. NY: Springer; 2001. p. 359. DOI: 10.1007/3-540-45523-X
  26. 26. Petrovsky AB. Main Notions of the Multisets Theory. Moscow: URSS; 2002. p. 80. (In Russian)
  27. 27. Petrovsky AB. Sets and Multisets Spaces. Moscow: URSS; 2003. p. 248. (In Russian)
  28. 28. Singh D, Ibrahim AM, Yohanna T, Singh JN. An overview of applications of multisets. Novi Sad Journal of Mathematics. 2007;37:37-92
  29. 29. Red’ko VN, Bui DB, Grishko Yu A. Modern state of multisets theory from the entity point of view. Cybernetics and Systems Analysis. 2015;51:171-178
  30. 30. Sheremet I. A. Recursive Multisets and Their Applications. – Moscow: Nauka; 2010. p. 293. (In Russian)
  31. 31. Sheremet IA. Recursive Multisets and Their Applications. Berlin: NG Verlag; 2011. p. 249
  32. 32. Chomsky N. Syntactic Structures. The Hague: Mouton de Gruyter; 2002. p. 118
  33. 33. Meduna A. Formal Languages and Computation: Models and their Application. New York: CRC Press; 2014. p. 233
  34. 34. Wallace M. Constraint logic programming. In: Computational Logic: Logic Programming and Beyond. Lecture Notes in Computer Science. New York: Springer; Vol. 2407. 2002. pp. 512-556
  35. 35. Bratko I. Prolog Programming for Artificial Intelligence. NY: Addison-Wesley; 2012. p. 696
  36. 36. Diaz D. GNU Prolog. www.gprolog.org. 2018. p. 238

Written By

Igor Sheremet

Submitted: 28 June 2018 Reviewed: 26 September 2018 Published: 21 November 2018