UDC 164=111
N.O. Garanina
ELEUSIS: PERFECT RECALL FOR INDUCTIVE REASONING
This paper formalizes a variant of inductive game Eleusis. A model of the game is an interpreted system with perfect recall agents for the players and the dealer. The pecularity of Eleusis multi-agent system is that the agents have to guess the behavior of the system, rather than some static information about the system. We express some Eleusis rules and properties of the system by the formulas of propositional knowledge logic and branching time Act-CTL-Kn.
MULTIAGENT SYSTEMS"; EPISTEMIC LOGIC; ELEUSIS; PERFECT RECALL; INTERPRETED SYSTEMS.
Н.О. Гаранина
ЭЛЕВСИН: АБСОЛЮТНАЯ ПАМЯТЬ ДЛЯ ИНДУКТИВНОГО ВЫВОДА
Формализован вариант индуктивной карточной игры Элевсин. Моделью игры является интерпретированная система с агентами с абсолютной памятью, реализующими игроков и раздающего. Особенностью мультиагентной системы Элевсин является то, что агенты должны вычислить поведение самой системы, а не какую-либо статическую информацию. Некоторые правила игры Элевсин и свойства построенной мультиагентной системы выражены формулами логики знаний и действий Act-CTL-K".
МУЛЬТИАГЕНТНЫЕ СИСТЕМЫ; ЛОГИКА ЗНАНИЙ; ЭЛЕВСИН; АБСОЛЮТНАЯ ПАМЯТЬ; ИНТЕРПРЕТИРОВАННЫЕ СИСТЕМЫ.
There are a lot of puzzles that give clear comprehension of various notions from a theory of epistemic logics. For example, the Coordinated Attack Problem [3] shows unreachabil-ity of common knowledge in the environment with time gaps; in Muddy Children Puzzle [3] knowledge is based on the quantity of observations, while in Dining Cryptographers Problem [9] knowledge is based on the quality of observations; Mars Robot Puzzle [14] illustrates knowledge taken by double-checking observations; False Coin Puzzle [11] demonstrates knowledge acquisition. In the last two puzzles and in the puzzle from this paper perfect recall for agents is crucial1.
To the best of our knowledge, epistemic logics was not used for a definition of inductive knowledge of agents before. In this paper we formalize inductive game Eleusis. This game was introduced by Robert Abbot in 1956. We
1 For the Dining Cryptographers this notion is not so important because substantial information (even or odd number of differences) could be coded by a boolean variable.
give a description of the first variant of the game from [4]:
Eleusis (pronounced ee-loo-sis) is a game for three or more players. It makes use of the standard deck of playing cards. Players take turns at being the dealer, who has no part in the actual play except to serve as a kind of umpire. He deals to the other players until one card remains. This is placed face up in the center of the table as the first card of the «starter pile». To make sure that players receive equal hands, the dealer must remove a certain number of cards before dealing. For three players (including the dealer, who of course does not get a hand) he removes one card; for four players, no cards; five players, three cards, and so on. The removed cards are set aside without being shown.
After the cards are dealt and the «starter card» is in place, the dealer makes up a secret rule that determines what cards can be played on the starter pile. It is this rule that corresponds to a law of science; the players may think of the dealer as Nature, or, if they prefer, as God. The dealer writes his rule on a piece of paper,
which he folds and puts aside. This is for later checking to make sure that the dealer does not upset Nature's uniformity by changing his rule. For each player the object of the game is to get rid of as many cards as possible. This can be done rapidly by any player who correctly guesses the secret rule.
An example of a very simple rule is: «If the top card of the starter pile is red, play a black card. If the top card is black, play a red card».
There are many studies of this game, but they refer to such aspects as induction algorithms for players discovering the rule [2], machine learning technique [10] or the computational complexity of various decision problems that arise in Eleusis [7]. Multi-agent systems and epistemic logics were not in the focus of the game researchers before.
We study Eleusis in trace-based synchronous perfect recall multi-agent systems. In such systems agents have memory: their knowledge depends on the states passed and on the previous actions. We can describe this kind of agents because semantics of knowledge is defined on traces, i. e. finite sequences of states and actions, and every agent can distinguish traces with different sequences of information available for it. Each element of the trace represents a state of the system at some moment of time. A model of this game differs from other multiagent systems as in this system the agent has complete information about the system and tries to guess modus operandi of another agent or of the environment.
For formalization of Eleusis world we use a Propositional Logic of Knowledge and Branching Time Act-CTL-Kn [12] and a notion of an interpreted system [6, 3] enriched by perfect recall [8]. Properties of these systems could be checked by some model checker of multi-agent systems with perfect recall, for example, MCMAS [9].
Background Logics and Models
First, we would like to give definitions to combined Propositional Logic of Knowledge and Branching Time Act-CTL-Kn from [12] briefly. This logic is a fusion of Propositional Logic of Knowledge (PLK) [3] and Computational Tree Logic (CTL) [1] extended by action symbols. Usually, semantics of Act-CTL-K is
defined in terms of a satisfiability relation |= in environments that are a special kind of labeled transition systems. In this paper we prefer to use interpreted systems which are a specific form of environments.
Let us reformulate the definition of interpreted systems from [6]. We denote a set of agents by A = {1, ..., n} (n e N), for each agent i e A a set of local states by L. and possible actions by Acts,, and a set of local states and actions for the environment by L and Acts
J e e
respectively. Let Act = Acts^ ...xActsn*Actse be the set of joint actions. We assume that a set of protocols P. : L. ^ 2ActSi, for i e A, represents the behavior of every agent, and a protocol P : L ^ 2ActSe for the environment.
ee
A formal definition of interpreted systems is as follows:
Definition 1. (of interpreted systems). Given a set of agents A = {1, ..., n} an interpreted system is a tuple M = (G; t; P; ~1, ..., ~n; i; V), where
(1) G is the set of the global states for the system G = L1*.*Ln*Le; i e G is the initial state;
(2) a transition function t : G * Act ^ G models computations in the system;
(3) a joint protocol P : G ^ 2Act defines the behavior of the system such as P = <P1, ..., Pn, P), where P. and Pe are protocols of agents and environment;
(4) ~i c G *G (i e A) is an epistemic indistinguishability relation for each agent i e A defined by s ~ s' iff l.(s) = l.(s), where
the function l. : G ^ L. returns the local state
ii
of agent i from a global state s;
(5) V : G ^ 2Prp is a valuation function for a set of propositional variables Prp such as true e V(s) for all s e G. V assigns to each state a set of propositional variables that are assumed to be true at that state.
For every a e Act an a-run is a maximal sequence of states gs = s1...ss.+1... such as t(s., a) = s for all j > 0.
Every indistinguishability relation expresses the fact that an agent has incomplete information about system states.
Definition 2. (of Act-CTL-Kn syntax). Syntax of Act-CTL-K consists of formulas that are
n
constructed from Boolean constants {true, false}, propositional variables, connectives —,
a, v, and the following modalities. Let i e A, a e Act, 9 and y be formulas. Then formulas with the modalities are:
• knowledge modalities: K9 and S9 (they are read as 'an agent i knows' and 'an agent i supposes');
• action modalities: AXaq, EXa9, AGa9, EGa9, Afa(p, Efa(p, A<pUay, and EqUay (A is read as 'for all futures', E — 'for some futures', X — 'next time', G — 'always', F — 'sometime', U — 'until', and a sup-index a — 'in a-run(s)').
Syntax of Act-CTL-Kn combines modalities of PLK [3] and CTL [1] with action symbols. Semantics of Act-CTL-K follows semantics of
n
these logics.
Definition 3. (of Act-CTL-Kn semantics). A satisfiability relation |= between interpreted systems, states, and formulas is defined inductively with respect to a structure of formulas. For Boolean constants, propositional variables, and connectives a satisfiability relation is standard. For the action modalities semantics is almost the same as for the standard CTL-modalities, but is formulated for a-runs. For the knowledge modalities we define the semantics as follows. Let s e G, i e A, 9 be a formula, then
• s |=M (K9) iff for every s' : s ~ s' implies
s' \=m 9;
• s |=M (S.9) iff for some s' : s ~ s' and s' \=M 9.
Semantics of a formula 9 in an interpreted system M is the set of all worlds of E that satisfies this formula 9: M(9) = {s |s|=M 9}.
Further we consider just Act-CTL-Kn normal formulas in which negation is used in literals only. Every Act-CTL-Kn formula is equivalent to some normal formula due to «De Morgan» laws.
We use trace-based perfect recall synchronous (PRS) interpreted systems generated from background interpreted systems. In PRS environments (1) states are sequences of states of initial interpreted systems with a history of generating actions; (2) there are transitions from one sequence to another with an action a made by extending the sequence with a state reachable by a from the last state of the sequence; (3) perfect recall protocols take into account local traces of agents when modelling their actions; (4) an agent does not
distinguish such sequences if the background system performs the same sequence of actions, and the agent cannot distinguish the sequences state by state; (5) propositional variables are evaluated at the last state of sequences with respect to their evaluations in the background interpreted systems.
Definition 4. (of a PRS-system). Let M be an interpreted system M = (G; t; P; ~1, ..., ~n; 1; V). A trace-based Perfect Recall Synchronous interpreted system generated by M is another interpreted system prs(M) = (G rs; t s; P rs; «1, ..., « ; 1 ; V )2: P" P" P"
7 n prs7 prs /
(1) Gps is the set of all pairs (gs, as), where non-empty gs e G*, as e Act*, |gs| = |as| + 1, and t(gsj, as) = gsj+1 for every j e [1..|as|]; ls(gs) e L. * is a sequence of local states of agent i e A with (ls)j = li(gsj); \prs e Gprs is the initial state;
Let us assume that (gs, as), (gs', as') e Gpis;:
(2) a transition function t : Gprs^Act ^ G
prs prs
is defined as follows: for every a e Act: t ((gs, as), a) = (gs', as') iff as' = as^a, gs' = gs^s', and
Kg^ a) =s';
(3) a joint protocol Pprs(M) : Gprs ^ 2Act such as P = <(P.) , ., (P)PrS, (P) }prSwhere every
prs 1 prs n prs e prs
(P) : L. * —> 2Actsi does not depend on P3 and
v v prs 1 r 1
(P) : L * — 2Actse such as (P) (ls A s) = f(s);
v e prs e v e'prsx e e ev e/ 7
(4) for every i e A: (gs, as) (gs, as') iff as = as' and gsj ~ . gsj for every j e [1..gs|];
(5) for every p e Prp: (gs, as) e Vs(p) iff
gsgs| e V(p). p
In PRS-systems agents have some kind of memory because an awareness expressed by an indistinguishability relation depends on the history of the system evolution. Actions of perfect recall agents are knowledge-based because protocols of agents take into account the previous states and actions.
Eleusis Model
In order to define the background Eleusis interpreted system E-M we have to determine the following features: (1) agents and an environment; (2) their local states and
2 In the definition, for every set S let S* be the set of all finite sequences over S and the operation A stand for the concatenation of finite words.
3 We model behavior according to information history, but not to the single local state.
generated global states; (3) local agent actions and generated global actions; (4) a transition function; (5) protocols of agents and the environment; (6) indistinguishability relations for agents; (7) propositional variables and their evaluation.
(1) Agents and an environment. Let players of the game and the dealer be agents. The environment may not be specified in our case. Without loss of generality, we consider two players — Alice and Bob, and the dealer Clare.
(2) Local and global states. It is not reasonable to fix special local states for agents because they have complete information about the system. We define the global state using the following local variables:
Value = {2, 3, 4, 5, 6, 7, 8, 9, 10, Kn, Q, K, A} is a set of card values;
Suit = {4, ♦, V} is a set of suits;
Cards = Value x Suit is a set of cards;
Obs e Cards is the last observable card in the dealer's pile;
Prt e Cards u {0} is a pretender card to satisfy the rule put by some player;
Deck,, Deck„c Cards are the decks of Alice
A B
and Bob which they have to get rid of;
Turn e {A, B} determines whose move is next;
Moves e [0..n] is a number of dealer replies. Let n be big enough to discover the rule by players.
Then every global state is (Obs, Prt, DeckA, DeckB, Turn, Moves) e G, where G = Cards* *(Cards u {0})*2Cards*2Cards*{A, B}*[0..n].
We set i = (Obs, 0, DeckA, DeckB, Turn, 0), where Obs e Cards, DeckA, DeckB c Cards\ {some card}4 as initial state, and Turn e {A, B}. Further we use the following notation: for every card C e Cards let C.Val be a value of C and C.Suit be a suit of C.
(3) Local and global actions. Let us define the following actions of agents:
turn is an action of agent-players. The result of this action is a new pretender card;
accept is an action of the agent-dealer used for validation that the pretender card satisfies the rule. The result is a new observable card
4 In order to provide our agents with an equal quantity of cards, the dealer has to remove one card from the initial deck.
and a decreased deck of a player that gives the pretender;
reject is an action of the agent-dealer used for disproof that the pretender card satisfies the rule. The result is passing the move.
Let us note that in this system agents cannot act parallelly because their actions depend on each other. Hence global actions are rather a PDL-program [5] ofactions move=turn;(acceptu reject) (to make an experiment then to give a result) than a product turn*{accept, reject}. It is easy to make a product by the PDL-program move introducing lazy action skip which does nothing for every agent.
(4) A transition function. The transition function for actions is given in terms of pre-and post-conditions of local state variables: (pre1, ..., pre5) ^ (postv ..., post) where for every j e [1..5] (1) pre. is a precondition for the corresponding variable; the precondition of omitted variable means that the corresponding variable has any value; (2) postj is a postcondition for the corresponding variable; the postcondition of omitted variable means that the corresponding variable has the same value as in the precondition. Let card e Cards and othercards c Cards. We describe turn and reject for Alice only, because for Bob these actions are similar.
1. turn:
(Prt = 0, DeckA = {card} u other cards, Turn = A) ^ (Prt = card, DeckA = other_cards);
2. accept:
(Prt = card) ^ (Obs = card, Prt = 0, Moves = Moves + 1);
3. reject:
(Prt = card, DeckA = othercards; Turn = A) ^
(Prt = 0, DeckA = {card}u other cards, Turn = B, Moves = Moves + 1).
(5) Protocols of agents. In our model protocol for players is easy: they perform any action in the state. They try an arbitrary card they have. We choose this simple behavior of players because the definition of actions corresponds to reasoning too cumbersome for this short paper. This is a topic for our future work. Nevertheless, it is possible to formulate and analyse some interesting properties of the Eleusis system.
The protocol for dealer actions depends very much on the chosen rule. In many cases it must be a perfect recall protocol because the dealer relies on the previously accepted cards when accepting or rejecting cards. Some of these protocols are given in next section.
(6) Indistinguishability relations. As game agents have complete information about the system in our variant of Eleusis, we assume that every indistinguishability relation is equality.
(7) Propositional variables and their evaluation. In our case a set of propositional variables strictly depends on formulas to be verified. Hence we define them later using values of local variables. Thus a valuation function V is defined naturally.
The corresponding perfect recall interpreted system for Eleusis E-prs(M) can be made from E-M by Definition 4. Perfect recall is really needed for agent-players because in order to discover the rule they have not only to consider accepted cards, but to remember rejected cards. Several perfect recall protocols for the dealer depending on the rules are given in the section below.
Eleusis Rules
The most interesting thing in Eleusis and its formalization is the accepting rule. We consider the rules that use card descriptions only5, i. e. their values and suits (colors and faces are subsets of suits and values). There are variants of Eleusis where rules could be defined as a function from sequences to boolean values [7]. Time modalities next X, globally G and until U are sufficient for a wide class of Eleusis rules6. We formulate several rules from [4] using these time modalities. The corresponding dealer protocols are described too. Let us define the following sets of cards: Even = {card | card.Val e {2, 4, 6, 8, 10, Q}}, Odd = {card | card.Val e {3, 5, 7, 9, Kn, K, A}}, Black = {card | card. Suit e {A, a}}, and Red = {card | card.Suit e
5 It is possible to devise rules taking into account some external features like names of players or the color of their hair. These rules correspond to the experiments in which the effect of a experimenting person and his equipment is considerable.
6 We do not need F in future because Eleusis rule determines all cards in sequences step by step.
{♦, v}}. Let v e Value and s e Suit.
In dealer actions the above PDL-program move = turn; (accept u reject) follows the Dealer protocol corresponding to the rule of the game. The dealer protocol is a function from sequences of the system states to a set of dealer actions enabled at these sequences. For sequences we use the following regular notation. Let p be a propositional condition for system variables that uses set inclusion, subsets, equalities, inequalities of system variables, and boolean connectives. For simplicity we consider p to be a «propositional» state from a set of system states that satisfies with this propositional condition p:
• a propositional state p is a sequence of states;
• p;q is a sequence of states which is concatenation of sequences of states from p and q;
• p* is a sequence of states which is a finite repeat of states from p.
Let state be a propositional state from a complete set of system states G. Let us assume that by the definition of propositional states in sequence state* states can differ. It is easy to see that the set of states in which the dealer rejects a pretender card is the complement to the set of states in which the dealer accepts the pretender card. We shall describe both cases.
1) Alternatively even and odd cards:
AGmove((Obs e Even — AXmme Obs e Odd) a
(Obs e Odd — AX"oveObs e Even)).
The dealer protocol:
state*; ((obs e Even a prt e Odd) v (obs e Odd a prt e Even)) — accept;
state*; ((obs e Even a prt e Even) v (obs e Odd a prt e Odd)) — reject.
2) The card played must have either the same suit or the same value as the card on top of the pile:
AGmove(( Obs.Val = v a Obs.Suit = s) ^ AXmove(Obs.Val = v v Obs.Suit = s)).
The dealer protocol:
state*; (Obs.Val = prt.Val v Obs.Suit = prt. Suit) ^ accept;
state*; (Obs.Val ^ prt.Val a Obs.Suit ^ prt. Suit) ^ reject.
3) If the top two cards are of the same color, play a card from ace to 7. If they are of different colors, play a card from 7 to king:
AGmove(((Obs e Black) — AXmove((Obs e Black) a AXmove(Obs.Val e [A..7])) v
(Obs e Black) — AXmove((Obs e Red) a AXmove(Obs.Val e [8..K]))) v ((Obs e Red) — AXmove((Obs e Red) a AXmove(Obs.Val e [A..7])) v (Obs e Red) — AXmove((Obs e Black) a AXmove(Obs.Val e [8..K])))) The dealer protocol:
state*; obs e Black; (obs e Black a prt.Val e [A..7]) — accept;
state*; obs e Red; (obs e Red a prt.Val e [A..7]) — accept;
state*; obs e Black; (obs e Red a prt.Val e [8..K]) — accept;
state*; obs e Red; (obs e Black a prt.Val e [8..K]) — accept;
state*; obs e Black; (obs e Black a prt.Val e [8..K]) — reject;
state*; obs e Red; (obs e Red a prt.Val e [8..K]) — reject;
state*; obs e Black; (obs e Red a prt.Val e [A..7]) — reject;
state*; obs e Red; (obs e Black a prt.Val e [A..7]) — reject.
4) If the second card from the top is red, play a card with a value equal to or higher than this card. If the second card is black, play a card of equal or lower value:
AGmove(((Obs e Red a Obs.Val = v) — AXmove(Obs e Cards) a AXmove(Obs.Val > v)) v ((Obs e Black a Obs.Val = v) — AXmove(Obs e Cards) a AXmove(Obs.Val < v))) The dealer protocol:
state*; (obs e Red a Obs.Val = v); (prt.Val > v) — accept;
state*; (obs e Black a Obs.Val = v); (prt.Val < v) — accept;
state*; (obs e Red a Obs.Val = v); (prt.Val < v) — reject;
state*; (obs e Black a Obs.Val = v); (prt.Val > v) — reject.
All above rules from [4] are applicable over a fixed number of cards. The next rule uses indefinite, but finite number of cards.
5) Change the color of cards after an ace: AGmove((Obs e Black) AUmove(Obs.Val = A a
AXmove Obs e Red) v (Obs e Red) AUmove (Obs. Val = A a AXmove Obs e Black)). The dealer protocol:
(obs e Black)*; (obs e Black a Obs.Val = A); (prt e Red) ^ accept;
(obs e Red)*; (obs e Red a Obs.Val = A); (prt e Black) ^ accept;
(obs e Black)'; (obs e Black a Obs.Val = A); (prt e Black) ^ reject;
(obs e Red)*; (obs e Red a Obs.Val = A); (prt e Red) ^ reject.
After expressing the accepting rule Rule we can formulate the features of the Eleusis model. For example:
1) AFmove (KARule v KRule) - there is a moment in the future when some player knows the rule;
2) AFmove(KARule a -KRule) - there is a moment in the future when Alice knows the rule earlier than Bob;
3) (Turn = A) AFmove (KARule a -KRule) -if Alice moves first then she is a winner;
4) -(KARule v KRule) AUmove (KRule v KRule) a (Moves < m) — the rule can be discovered in less than m steps.
Let us define that time complexity of the model checking these formulas depends on the complexity of the rule. The dealer can take into account a finite part of the sequence which determines accepting cards: in this case the model checking the complexity corresponds to the linear complexity of checking Act-CTL-Kn formulas in forgetful semantics [13]. But when the dealer makes the decision on pretender cards considering all sequence, then it corresponds to true perfect recall semantics and the model checking properties of the system has non-elementary complexity [12].
In this paper we consider a simple variant of the inductive game Eleusis. A model of the game is an interpreted system with perfect recall agents for the players and the dealer. This is an example of a multi-agent system in which agents have to guess the behavior of the system rather than the information about it. We express some Eleusis rules by formulas of branching time logic Act-CTL and some properties of the system by formulas of Act-CTL-Kn with knowledge modalities. Model checking of these properties depends on the complexity of the Eleusis rule. It can be linear or non-elementary according to the size of Eleusis model.
We do not give protocols of players guessing the rule because it is too complex for a short
paper. In the future we plan to develop a simple protocol and try to do model checking of the corresponding Eleusis system with some perfect recall model checker.
The research has been supported by Russian Foundation for Basic Research (grant 13-01-00643) and by Siberian Branch of Russian Academy of Science (Integration Grant n.15/10 «Mathematical and Methodological Aspects of Intellectual Information Systems»).
REFERENCES / СПИСОК ЛИТЕРАТУРЫ
1. Clarke E.M., Grumberg O., Peled D. Model Checking. MIT Press, 1999.
2. Dietterich T. Applying General Induction Methods to the Card Game Eleusis. Proc. of the 1st Annual National Conference on Artificial Intelligence. Stanford University. AAAI Press/MIT Press, 1980, pp. 218-220.
3. Fagin R., Halpern J.Y., Moses Y., Vardi M.Y. Reasoning about Knowledge. MIT Press, 1995.
4. Gardner M. The Second Scientific American Book of Mathematical Puzzles and Diversions. University of Chicago Press Edition, 1987, 251 p.
5. Harel D. First-Order Dynamic Logic. Lecture Notes in Computer Science, 1979, Vol. 68.
6. Kacprzak M., Lomuscio A., Penczek W. Verification of Multi-agent Systems via Unbounded Model Checking. Proc. of the 3 Internat. Joint Conference on Autonomous Agents and Multi-agent Systems, 2004, Vol. 2, pp. 638-645.
7. Kurzen L. Eleusis: Complexity and Interaction in Inductive Inference. Proc. of the 2 ILCLI Internat. Workshop on Logic and Philosophy of Know-ledge, Communication and Action, Donostia — San Sebastian, Spain. 2010. The University of the Basque Country Press, 2010.
8. Lomuscio A. R., van der Meyden R., Ryan M. Knowledge in Multi-agent Systems: Initial Configurations and Broadcast. ACM Transactions
on Computational Logic, 2000, Vol. 1, No. 2, pp. 247-284.
9. van der Meyden R., Su K. Symbolic Model Checking the Knowledge of the Dining Cryptographers. Proc. of the 17th IEEE Workshop on Computer Security Foundations, 2004, pp. 280-291.
10. De Raedt L., Van Laer W. Inductive Constraint Logic. Proc. of 6th International Conference Algorithmic Learning Theory, Fukuoka, Japan, 1995, Springer, Lecture Notes in Computer Science, 1995, Vol. 997, pp. 80-94.
11. Shilov N.V., Yi K. How to find a coin: propositional program logics made easy. In Current Trends in Theoretical Computer Science, World Scientific, Vol. 2, 2004, pp. 181-213.
12. Shilov N.V., Garanina N.O., and Choe K.-M. Update and Abstraction in Model Checking of Knowledge and Branching Time. Fundameta In-formaticae, 2006, Vol. 72, No. 1-3, pp. 347-361.
13. Shilov N.V., Garanina N.O. Combining Knowledge And Fixpoints. Preprint, Novosibirsk, 2002, No. 98, 50 p.
14. Shilov N., Garanina N., Bodin E. Multiagent approach to a Dijkstra problem. In Proc. of Workshop on Concurrency, Specification and Programming, Helenenau, 2010. Hum-boldt-Universitat zu Berlin. Informatik-Bericht, No. 237, Vol. 1, pp. 73-84.
GARANINA, Natalia O. Laboratory of Theoretical Programming, A.P. Ershov Institute of Informatics Systems, Siberian Branch of the Russian Academy of Sciences. 630090, Acad. Lavrentjev Ave. 6, Novosibirsk, Russia. E-mail: garanina@iis.nsk.su
ГАРАНИНА Наталья Олеговна — научный сотрудник лаборатории теоретического программирования Института систем информатики имени А.П. Ершова Сибирского отделения РАН. 630090, Россия, г. Новосибирск, пр. Акад. Лаврентьева, д. 6. E-mail: garanina@iis.nsk.su
© St. Petersburg State Polytechnical University, 2014