Computational Model for the Construction of Cognitive Maps

The chapter considers an option for solving the problem of storing data in the Web environment and providing an access to the data, taking into account their semantics, i.e., in accordance with the nature of the tasks solved by users of different classes. The proposed solution is based on the use of presentation of the data in the form of semantic networks. As the main technical tool for describing access methods, the chapter proposes cognitive maps (CMs), which can also be considered as semantic networks of special type. When access is done, the presentation of information consistent with the semantic description of the user is provided. The suggested method of constructing CMs is based on the intensional logic. The solution is presented in the form of a computational model, which provides for the construction of CM ’ s dependence on the parameter. The proposed method of parametrization makes it possible to take into account the semantic characteristics of users of various classes. Some CM constructions for problem domain description are presented. A method for semantically oriented naming of CMs is proposed. The method is based on building of a functor of special type.


Introduction
As Web technologies progress the task of developing tools for the data organization and storage in a web environment assumes ever greater importance [1]. In the pre-network single-user environment, the prevailing way to organize data was a hierarchically organized file structure. Still this method was convenient for not all tasks (in particular, it did not directly provide the possibility of simultaneous classification of various information objects according to various foundations). However, in the whole, it covered a rather wide class of applications.
The situation changed thanks to network technologies, when information objects turned out to be associated with different users, who applied in general different principles for placing, searching, and processing. Thus, the rigidly defined hierarchies were replaced by network structures that determine the connections of information resources set by various ways. The connections may arise due to the different reasons, and this assumes the need, firstly, to process them in different ways and, secondly, to take into account the meaning of the data and their connections when processing. Thus, the data become essentially semantic in nature. this, the description of the user and his view on the subject area using a cognitive map can be considered as a specific instance of the semantic network. The transition from CM to the description in the form of a semantic network can be performed using two basic operations: (1) recovering unclear marks on arcs in CM and (2) deriving semantic network configuration patterns corresponding to the CM fragment.
The interpretation of CM as a special type of semantic network at a conceptual level provides the inclusion of the user in the conceptual model of the domain as part of it. The works on semantically oriented data representation [1,4] show that the model should include constructions that describe the relationship between the semantics of user characteristics and the semantics of the data being processed. Such model provides the user with data for processing in accordance with the set of his powers and the nature of the problem to be solved. When the model is represented as a whole in the form of a semantic network, its considered part can be represented as a control subnet, which provides the computation of query results in accordance with the specified parameters.
One of the critical tasks in organizing access and processing semantically oriented data is the preservation of semantics while working with resources [5]. The resources, on the one hand, exist for a long time, and this makes their repeated use possible, and, on the other hand, they usually have a dynamic nature, i.e., they can be modified, updated, etc., at any point in time. In this case the change is possible of both the data about separate facts, processes, etc. in the area described by the resource set and the general semantic characteristics of the data. The change is also possible of both the data itself and the links, i.e., the dynamic arising of new links, changing the semantics of existing links and other information objects.
The changes in semantics can both save the logical continuity of a network and violate it. This chapter understands the logical continuity as the preservation of a set of general constraints (including informal ones) placed on the contents of the network. Maintaining logical continuity during network modification requires dynamic checking of constraints when performing operations that change the semantics of the network in order to prevent actions that destroy the semantics.
For supporting the changes, the most important factor is that the semantics can be changed both unintentionally (by chance) during the work and maliciously. In the latter case, the goal may be to get unauthorized access to information-receiving or changing of the information. For this reason the support of the semantic integrity of the network suggests, in particular, restricting the user's access to information in the network. Such a restriction may include both usual restrictions on writing or reading and more complicated semantically motivated constructions. For example, the possibility to change data in the network only in a strictly determined way or every change must be associated with the information that identifies the user who made the changes.
The development of tools for supporting the network access operations involves describing the semantics of a system of interconnected resources by a formalized way, which makes it necessary to introduce the concept of a semantic network as a formal analogue of a resource system [6]. The capabilities of network access tools and their restrictions are shown in the form of a model of access tools to the SN. The necessity to implement tools for supporting access operations leads to the fact that the model must be of a computational nature. The development of such a model is expected to provide the ability to construct a semantically correct system of support for access to the SN, including the ability to specify semantically consistent access restrictions, which makes the task of developing a computational model for supporting access operations relevant. The need for data processing, including the designation of queries, suggests the development of a theoretical basis for constructing a computer information system that provides both the logical correctness of data interpretation and the construction of appropriate computational procedures. For this purpose this chapter uses the formalism developed on the basis of intensional logic [6]. The computational aspect is ensured, in particular, by the possibility to include the means of a typical lambda calculus into the logical system under consideration.
The necessity to take into account the subjective view on the semantic network requires modeling the dependence of the interpretation of the system's structures on the subject. This requirement is considered in the intensional logic by defining an interpretation structure using a parameter, the assignment point. The value of each construction corresponds to specified parameter value. In this case the constructions of the language of intensional logic are divided into extensional and intensional ones. The value of the composite extensional construction at the specified assignment point is a function of the values of its constituent structures at the same assignment point. The determination of the value of the intensional composite constructions requires determining the values of its constituent constructions on the entire set of assignment points or on some of its subsets.
To take into account the interpretation of various entries of an information object requires the construction of models of interpretation dependence on the context. The context determination can also be performed using intensional constructions. In this case, it is possible to use intensional operators or constantsintensions of higher orders.
The applied method of parameterization allows to take into account the semantic characteristics of users of various classes.
This chapter is structured as follows. Section 2 describes some approaches to the definition and construction of cognitive maps; special attention is paid to the degree of use of semantic information. Section 3 contains a statement of the problem of supporting the language of description of cognitive maps and means of its interpretation and offers a solution as a variant of the language of intensional logic. Section 4 describes the use of cognitive maps in the description of the problem area on the example of dependent types. In Section 5 we propose an approach to build a support system of cognitive maps on the basis of adjoint functors. In conclusion, the results are summarized briefly.

Related work
The use of CMs for setting management methods of access to the distributed semantic network assumes the study of their expressive potential in the whole. In this connection approaches to formal definition of CM's semantics cause special interest. The diversity of approaches is reasoned not least by the fact that different researchers use the term "cognitive map" in various meanings.
The CM's applications cover different areas: sociology, economics, medicine, international relations, etc. Among the problems solved by CMs, the following ones can be singled out: (i) problems of conceptual modeling, especially in the context of initial understanding of problems in weakly structured subject areas; (ii) problems of further modeling of subject areas, especially if it is necessary to describe the dynamics; and (iii) management problems in the subject area. Some lines of research and application of CMs are shown in Figure 1.
Nevertheless, along with all the diversity of tools for creating CMs, including those widely disseminated ones, FreeMind [7], MindMeister [8], MindManager [9], Cacoo [10], MindMup [11], XMind [12] etc., only a small part of them can be considered as tool kits for cognitive modeling based on CMs or a ready-to-use tool for supporting cognitive architectures.
Regarding this some lines of research in the field of cognitive modeling should be mentioned. The work [13] proposes the most common approach. According to the approach, the cognitive modeling is "a line based on a knowledge-intensive interdisciplinary methodology for solving applied problems through cognitive maps with more or less support to special information technologies." In this case the cognitive map is understood as a formalized model of the situation that reflects the knowledge and/or beliefs of the subject, individual or collective, about the causeeffect impacts between the important factors of the situation.
Within the considered line, the formal models of CMs relate to the questions of reducing the risk, introduced by the human factor, when solving problems in various subject areas using CMs. The work [13] proposes an option of describing the approaches to the formal definition of the methods of interpreting CMs. This work distinguishes two approaches to the interpretation of CMs: descriptive (pinning methods of understanding the notions of the subject area) and normative (fixing the methods of solving problems in the subject area), which trace back to the approach accepted in the work [14]. The first approach aims to use CMs for developing an internal model of a man's knowledge about a certain situation. The second approach suggests CMs of different types as normative models (schemes or rules) for the external presentation of knowledge about situations.
In general, depending on the objective of the study, the details of the CM's definition differ from each other; in particular, CMs may have a different structure. In the whole within the formal approach, the CM definition is often extended to a cognitive graph. For example, the work [15] considers the structure of spatial knowledge that arises from the study of a new spatial environment and gives grounds for generalizing CMs up to cognitive graphs. The studies of the optimization of CM's representation adjoin the works of this type. Thus, the work [16] proposes a three-dimensional representation of CMs. The representation is based on the selection of the node kernels and daughter nodes, the nodes being located in three-dimensional space and being represented by balls of different radius. The proposed representation, as stated, enhances the cognitive clarity of the representation, which is interpreted as the ease of its intuitive understanding.
A cognitive map or, with a graph-based approach, a cognitive graph can represent parts of systems with a cognitive architecture and in this way be put in one or another cognitive architecture. The work [17] describes some cognitive architectures, the method of description giving an opportunity to think about the compatibility of the presented architectures with the formalism of cognitive maps. The abovementioned work understands the cognitive architectures as software systems that might think about problems in different areas, develop ideas, adapt to new situations, and reflect upon themselves. To this end, the cognitive architectures are trying to provide evidence of which specific mechanisms successfully reproduce intellectual behavior and thereby contribute to cognitive science.
The considered paper emphasizes three large classes of cognitive architecture's character-coded, emergent, and hybrid ones. The character-coded systems represent concepts using characters that can be manipulated using a given set of operations. The emergent architecture assumes the use of multi-node parallel models, in which the flow of information is represented as the propagation of signals between the nodes. The hybrid architecture combines both approaches, but this combination can be made in different proportions. It is obvious that the system based on cognitive maps in this classification must be referred to the character-coded architecture.
The flexible way to represent data with different degrees of abstraction using CMs grounds the possibility of data using to represent ontological information. The work [18] considers how CMs can be used for the work in the situation when the information is missing or is unreliable in e-commerce. The paper presents a knowledge management system based on CMs and ontology and also proposes a framework solution for joint use of information along with the use of a common repository based on CMs. Using CMs provides modeling of a virtual environment by generating and checking the sequence of events that take place in the environment when modeling.
An interesting use of the CM's capabilities to represent dynamic information is the modeling of cause-effect (causal) relationships. Thus, the work [19] identifies the cognitive nature of a business model designated for a cognitive representation that describes business development activities. Attention is also drawn to the causeeffect structure of the business model, that is, the model of cause-effect relationships which, according to top managers or entrepreneurs' view, connects the creation of value and activities for its creation. The conceptualization and analysis of business models as cognitive maps can shed light on four important properties of the causal structure of a business model: levels of complexity, focusing and clustering, which characterize the causal structure, as well as the mechanisms underlying causal relationships shown in this structure.
There were some attempts to model CMs with the help of more general modallogical contexts. The work [20] proposes an interpretation of cognitive maps, correlated with elements of large-scale spatial environment, for constructing geometrically impossible environments. Then the constructed CMs are proposed for joint interpretation with geometrically possible maps. Such an interpretation logically corresponds to the possibility of considering the interpreted cognitive map from different points of view, and the case of geometrically impossible interpretation is not excluded in advance.
The CM's use in the network environments (in particular, in WWW) is based on the CM's capabilities to represent information in a form that allows storing some nodes of map on separate nodes of the computational network, as well as parallel processing of stored information. Thus, for example, the work [21] is a description of the CM's use for working in a multi-agent environment. The strength of this work is the exact semantics of CMs, based on relational algebra according to [22]. Unfortunately, the constructed semantics has a very special form due to the chosen ad hoc three-valued logic system. Nevertheless, within the framework of the chosen semantics, it is possible to construct the forms for representation (when describing the subject area) of the agents' point of view on cognitive maps, as well as to determine decision-making procedures for such agents.
A somewhat different approach is adopted in the work [23], where cause-effect relationships are modeled based on interactive cognitive maps. A cognitive map is considered as a family of cognitive models. The models can be computed in parallel by exchanging data between themselves. In such conditions, the network implementation becomes natural, which also allows to hide data that a particular component "does not want" to make it visible to other components. The paper takes up the position that the adoption of the CM's network model leads to the construction of the CM's ecosystem, the development of which is managed by cognitive agentssystem components.
Apart are fuzzy cognitive maps. This rapidly advancing branch, develops the formalisms of cognitive maps. In the general case, a fuzzy cognitive map is defined as a set of nodes and links, the nodes being associated with the concepts of the domain, and links to causal relationships between concepts. Each node is associated with the degree of the presence of a concept in a situation-a number or an element of a qualitative scale with which a number is associated. The nodes of the graph also associate with numbers that determine the degree of influence of one concept to another. A positive number corresponds to an increase in the presence of the corresponding concept and a negative one to its decrease.
The specified fuzzy cognitive map can serve to model the dynamics of a situation. To do this the initial degree of the concept's presence in the situation is set. Then the changes of the degrees of presence are determined in accordance with the links of the graph as the sum of the corresponding degrees of influence. The given process is repeated iteratively until it reaches the specified time limit. The experiments demonstrate that three main types of behavior are possible: (1) stabilization, i.e., convergence at a given point; (2) way out to the cyclic mode; and (3) chaotic behavior, characterized by the absence of limit modes.
An approach based on fuzzy cognitive maps is exampled in the work [24]. This paper shows the use of cognitive maps for making the decision, which is understood as the choice of a single decision or a group from the given set of alternatives. The cognitive maps are used thanks to their ability to explain the applied process of thinking. The work studies the process of convergence of cognitive maps and their application for decision-making.
The fuzzy cognitive maps can be used in different domains, including optimizing the learning process. One of the optimization techniques is to analyze data from learning management system logs and to identify patterns of users' behavior related to the content. The work [25] proposes the use of fuzzy cognitive maps to model the behavior of users of learning management systems. The proposed model describes the user's interaction with the content of the system and can be used to forecast the reaction of users to its training, test, and practical elements.
The relational approach to the construction of CM's semantics is gradually getting more of dissemination. So, besides the already cited work [21], the relational approach is also accepted in the work [26], in which dynamic models of fuzzy relational cognitive maps are analyzed. A frame-based approach, accepted, for example, in [27], can be considered as a generalization of the relational approach. In this case the frames are considered as stereotypical structures that provide orientation in the physical or conceptual space. In addition to the orientation, the choice of path can be provided, which corresponds to the solution of the planning problem. The frame approach is a synthesis of graph representations and cognitive maps and solves problems connected with explaining orientation-based behavior on graphs or maps or when they are used in parallel.
The frame approach can be successfully applied both in systems with common objectives and in systems oriented to specific applications. Thus, the work [28] solves the problem of presenting historical knowledge on the basis of CMs, practically, on the basis of the frame approach. Actually, the CM's models are characterized as a specific type of dialectic interaction of logical and graphic forms of knowledge representation.
The considered work contains a detailed classification of cognitive maps. Thus, depending on the construction technology, they distinguish (1) associative maps or mind maps based on associations and (2) conceptual maps that serve to represent the connections of concepts between them. Among the mind maps are the maps identified as follows: 1. Dyadic, containing two alternative branches 2. Complex (poly-categorial), the number of branches in which is not limited (in practice it is convenient to have from three to seven branches) 3. Mnemonic, used to create an easily remembered image 4. Creative 5. Collective (e.g., developed during the implementation of joint creative projects)

Artistic
It is easy to see that the classification is based on various reasons, which makes it possible to set the task of clarifying the classification of CMs both for cognitive modeling and developing the formalizations oriented to their analysis, processing, and software generation.
All described applications may be characterized by one common feature-they are either not based on the use of formal semantics and use CMs as a convenient representation of knowledge about the subject area for informal analysis or, at best, use CMs as a tool for determining a finite state machine of a special type. However, such an approach seems to unreasonably narrow the scope of CM's application. It seems more reasonable to consider cognitive maps as the formalism, providing, on the one hand, pinning informal considerations about the described subject area and, on the other hand, obtaining more or less formalized descriptions that are compatible with descriptions in modeling languages or even programming languages.
An important sphere of application of solutions based on cognitive maps is information support for legal applications. For example, the work [29] analyzes the findings and contributions of existing research in the field of decision-making about the confidentiality, and it proposes to fill up the gaps in the modern understanding by applying a cognitive architecture to model confidential decision-making. In order to solve the issues related to confidentiality, it is necessary to consider aspects of human cognition, using, for example, the methods used in human-computer interaction and computer science research.

Intensional CMs
An essential characteristic of the semantic network of the species considered in this chapter is the possibility of linking the structures corresponding to CMs with logical formulas of a certain kind. Because the meaning of the CMs depend essentially on time, subject, etc., the logic appropriate for the basis for the interpretation of CMs must be explicitly focused on the consideration of semantic factors. Intensional logic can be chosen as such logic.
The intensional logic allows to operate with the formulas containing functional abstraction and application of function to arguments. Thus, it is possible to obtain the value of CM's structures using the evaluation. The result of the computation can also be represented as a CM's construction. In this case, the value depends on the parameter-the assignment point-which gives the CMs an intensional character.
The need for an intensional description of CMs leads to the problem of determining the language means of parameterized computation of semantic network structures as the task of developing methods to support a specialized language for describing the semantic network and means of its interpretation, which should provide: The solution of the problem is supposed to be obtained on the basis of a combination of methods of intensional logic to describe the language and applicative methods of interpretation to compute the values of CMs. At the same time, it is possible to describe some constructions of the domain model in the form of CMs. The chapter presents a description technique on the example of dependent types.
Support to the implementation of intensional descriptions CMs requires the use of methods which agree with the methods of the description of the CMs. In this chapter, a functor technique is used for this purpose. The specialized functors are determined to represent CMs in supporting the programming environment. The definition is based on the adjoint functors.
The research method centers on the systematic use of the formalization of CM with the further determination of the semantics of the constructed formal objects. The object formalization is carried out using methods of intensional logic by constructing an intensional language to describe the objects that compose the CM. The intensional nature of the language makes it possible to take into account the contexts of objects used. The means of intensional logic provide for both the definition of objects, the interpretation of which is independent of the context (extensional objects) and objects of a different kind, and the interpretation of which requires consideration of one or more contexts (intensional objects). The intensional operators serve as the tools for setting contexts.
The semantics of objects is determined by the means of category theory. The use of category theory ensures a sufficient general definition of semantics, on the basis of which types of changes in the domain can be taken into account. Changes, in particular, can affect the domains of change of the variables of the CM description language, forming the so-called variable domains. Taking into account the changes allows describing the dynamic subject areas of the same CM, which in practical terms saves the efforts spent on developing and debugging the descriptions of CM use.
The analysis of methods of CM use to describe the subject areas consists of systematic consideration of the applied formalized methods and the identification of stereotypical structures used to describe objects and situations specific to a particular domain. Considerable interest is caused by the study of general categorical constructions, such as functors and natural transformations, in their application to CM. In particular, the adjoint functor construction can be used to describe abstract types of the data associated with CM nodes.

Intensional language
The intensional language contains tools for describing the nodes and links of CM. The description in the intensional language is a formalized object, matched to CM. Such an object can be used both for constructing the semantics of CM and (in practical terms) for representing CM for the purpose of storage and processing. The use of formalized objects also provides for syntactic and semantic control of objects, which makes easier their debugging and maintenance.
Types are assigned to the expressions of the intensional language; thus, the type e corresponds to the node of CM and the type t to the link between specific nodes. A set of language expressions is defined as an inductive class. This method of setting ensures the definition of CM construction operations from separate parts. The description of the language as a whole follows the paper [6]. The interpretation of language expressions is also set with the help of induction for the construction of an interpreted expression.

Types
The set of types of ϒ is defined inductively: 1. e ∈ ϒ , which is interpreted as the entity type.
2. t ∈ ϒ , which is interpreted as the type of sentence.
3. If a, b ∈ ϒ , then a, b h i∈ ϒ and s, a h i∈ ϒ , where s is interpreted as the type of meaning.
4. There are no other types.
Types represent the sets of elements to interpret CMs or their fragments.

Language
We will use the enumerable set of variables and (infinite) set of constants of each type a. If n is a natural number and a ∈ ϒ , then v n,a is the n-th variable of type a, and Con a is a set of constants of type a.
The language includes a set of meaningful expressions ME a of each type a. It is defined recursively: 1. v n,a ∈ ME a ; Con a ⊆ ME a .
2. If α ∈ ME b and u is a variable of type a, λuα ∈ ME a,b h i .
8. There are no other meaningful expressions.
The language is the main technical tool to write formulas that are in the correspondence with CMs or their fragments. The set of formulas, however, is wider than the set of CMs.

Interpretation
Now let us introduce interpretation of intensional language. Let A and Asg be sets; A is a set of entities (or individuals), and Asg is a set of assignment points. Define the set D a,A,Asg of possible denotates of type a: As a rule, sets A and Asg are fixed. Under these conditions, we denote D a,A,Asg D a . We treat the interpretation as an ordered tuple: where 1. A and Asg are non-empty sets.
2. F is a function whose domain is a set of constants.
We treat A-assignment as a function g, whose domain is a set of variables, such that when u is a variable of type a, then g u ð Þ ∈ D a,A,Asg . G x=u ½ means A-assignment: We define the intension α A,g and the extensional α A,Asg,g meaningful expression α when using the usual recursive definition. Complete form of definition is presented in [1]. The intension is the possible value of CM, and interpretation is a tool for the evaluation of CMs.

Problem domain description with CMs
The interpretation of the constructions, composing the CM, is made up in the framework of type theory with dependent types of functions and pairs. The interpretation of CM is considered as an object, the type of which can be constructed.
In the framework of the type system, a judgment can be expressed that an object has a particular type, or that two objects are equivalent. The equivalence of objects implies the equivalence of the corresponding CMs. The types of system objects are constructed in the form of an inductive class, and this allows deriving the properties of objects from the properties of their parts.
We consider two basic types of judgments: The judgment of the first form is interpreted as "a is an object (CM) of type A." The judgment of the second form is interpreted as "a and b are objects (CM's) of type A, equal by definition." Judgments can depend on assumptions of the form x : A. The collection of all such assumptions forms context for the judgment.
We use for the expression "A is a type" the formal notation A : U. Here U is a universe. Elements of the universe are types. We consider U as the type big enough to hold all the types that are necessary for the description of a given class of CMs, but we do not consider it as holding all possible types. Inaccurate definition of U can lead to paradoxes (e.g., if we consider U : U). It is possible to show that U can be defined in the type theory without paradoxes, but the proof of this fact is beyond the scope of the present work. U can be used for the representation of collection of types varying over a given type A.
In the type theory, we can construct new types from given ones. New types are equipped with functions for their construction and computation. The first construction is a function type. From the types A and B, we can construct the type A ! B of functions with the domain A and codomain B. The construction rule for the elements of this type is called lambda abstraction. If we assume that x : A and consider the expression F : B, then We can omit the type for the variable and write λx:F. We adopt the usual convention that λ makes the variable bound and the variable which is not bound is free.
The computation rule for this type is where F x≔a ½ is a result of a substitution of all free occurrences of x to a. The pattern of CM for the functional type is show in Figure 2a; the process of currying is shown in Figure 2b.
The next construction is a dependent function type. The elements of such type are functions whose codomain may depend on the element of the domain to which the function is applied.
We can apply a dependent function f : Π x:A B x ð Þ to an argument a : A to obtain an element f a ð Þ : B a ð Þ. In particular, we can define functions taking types as arguments. This possibility leads to the representation of polymorphic functions. The pattern of CM for dependent functional type is shown in Figure 3a.
The next construction is Cartesian product type. From the types A and B, we can construct the type A Â B. We also consider a product type with arity 0, which is called the unit type 1 : U. For a : A and b : B, we can construct a, b ð ÞA Â B. The unit type has one element which we denote * : 1.
For the computation with product types, we have to define functions which have the elements of A Â B as arguments (i.e., the function f of the type A Â B ! C).
Hence we consider such elements as pairs, and we can make computations on such element with the function g : A ! B ! C taking the components of the pair as arguments. Then we can define f as follows: We can consider the universal case and define the function with the equation With this function, for example, we can define projections: Similarly for the unit type 1, we have with the equation The pattern of CM for Cartesian product is shown in Figure 3b. The Cartesian product represents pairs which components have independent types. So the next construction is dependent pair type. From the type A : U and family B : A ! U, we can construct the type Σ x:A B x ð Þ : U. The construction on the dependent pair is generalization of the construction for product types. To define a function over a dependent pair type f : Σ x:A B x ð Þ ! C, we provide a function g : Similarly to the Cartesian product, we can define with the equation The pattern of CM for dependent pair type is shown in Figure 4a.
The last construction that we consider here is the sum type. From the types A and B, we can construct the type A þ B. We also consider a sum type with arity 0, which is called the empty type 0 : U. There are two ways to construct the elements of A þ B, one is inl a ð Þ : A þ B for a : A and another is inr b ð Þ : A þ B for b : B. The empty type has no elements.
To construct a function f : A þ B ! C, we need functions g : A ! C and h : So we can consider the universal case The pattern of CM for sum type is shown in Figure 4b.

Naming functors and their properties
Analysis of the proposed CM formalization suggests identifying the structure of CM models defined in the framework of type theory. The practice shows that an adequate approach in constructing such models is the category theory. At the same time, the model is built in the selected category using its objects and arrows. The objects are matched to the types used when constructing the CM, and arrows are matched to the nodes and links of the CM. Depending on the definition of a category, its objects can carry an additional structure within themselves. They can be put into line with the characteristics of the modeled domain.
Common constructions of the category theory can be used to introduce and process the CM constructions that are of interest from both a fundamental and a practical point of view. One of such constructions is the adjoint functor. It turns out that the conjugation scheme allows the transition from an "atomic" description of model objects, in which we distract from their internal structure to the description that takes into account such a structure. A back transition is also possible.
From a fundamental point of view, the mentioned feature provides the CM scaling, that is, folding the nested CM into a separate node and back deployment. From a practical point of view, this possibility corresponds to the definition of an abstract type of data within the framework of a programming system. In this case, the functors that implement conjugation provide a transition from the description of an abstract object or from the name of the object (which in the programming system corresponds to the address of the object in memory) to the representation of the object. This justifies their title as "naming" functors.

Adjunction
The traceability of the interpretation of various entries of an information object (CM or its fragment) requires constructing models of interpretation depending on the context. When the CM is placed in a programming environment (e.g., Java), the context is formed by the constructions chosen to represent the CM fragments, as well as the associated data. The context dependency can be traced basing on the use of the technique of variable domains, which are functors.
Practical implementation of the system supporting the work with CMs requires selecting a method of their representation by the programming structures, such as arrays or strings. A link to the filled-in fragment of the representing structure can be given as an index in the structure, which may be considered as a special naming structure. The work with CM necessitates a transition from the name of the CM fragment to its value and backward, i.e., naming and dereferencing the CM fragments. To ensure the completeness of the computational model, it must provide a transition from the naming constructs to the content of the representing constructions and back.
Because of this, it looks attractive to develop technology, (1) coordinating with the general structure of the computational model, i.e., presented in the form of a functor; (2) making possible to name structures and methods of working with named structures; and (3) providing the ability to display on the structures of the programming system. Further on, it will be shown that in some cases the naming may be associated with the presenting CM's constructions in a categorically invariant manner. The corresponding categories contain structures of a certain type as objects, and the mappings between objects that preserve their structure serve as arrows. The construction of the required type model uses the concept of adjunction.
Definition. Adjunction between categories C and D is the four-tuple F, , natural according to c and d, and in this case φ ∘ ψ ¼ 1, Remark. So, φ c,d and ψ c,d set the bijection which is natural in c and d.
The given definition needs to be explained. Mind that the natural transformation from the functor S : C ! D into the functor T : C ! D is the mapping μ, putting in correspondence with every object a ∈ Ob C ð Þ the arrow μ a : Sa ! Ta ∈ Ar D ð Þ in such a way that for each arrow f : Tb (22) commutates, i.e., Tf ∘ μ a ¼ μ b ∘ Sf . Also mind that with the help of C a, b ð Þ, the set of arrows is designated as the arrows of category C with start in the object a and the end in the object b (under the "set" we understand the set in that model of set theory, in which the category C is defined). In such a way, C À, À ð Þis the mapping of the pair of objects of the category C into the sets. This mapping is an object mapping of bifunctor (i.e., of a functor from two parameters), contravariant in the first argument and covariant in the second one. In full this bifunctor is defined as follows: In accordance with the following diagram where h : a 0 ! a, k To give a formalized representation of this functor, it is convenient to pass over to the dual category C op . Then the functor defined above turns out to be a functor from C op Â C ! Set. Now let us consider the constructions D Fc, d ð Þand C c, Gd ð Þfrom the definition of adjunction. Absolutely similar to the previous, they may be considered as object mappings of bifunctors D FÀ, À ð Þand C À, GÀ ð Þ, acting from C op Â D in Set in accordance with the following rule: Totally these functors are set by the following way: with the diagram (containing the arrows from Ar D ð Þ) and with the diagram (in Ar C ð Þ) where h : a 0 ! a ∈ Ar C ð Þ and k : b ! b 0 ∈ Ar D ð Þ. It is indicated in the definition of adjunction that the mappings φ and ψ are natural transformations of the above defined functors (i.e., arrow in the category Funct C op Â D, Set ð Þ ), and this finetunes the phrase "φ and ψ are natural for c and d." Let us consider the diagrams that describe this naturality: The arrow in the category C op Â D is the pair of arrows h, k The values of the considered functors are ordinary sets; this is why the above written correlation binds ordinary functions on sets. Thanks to this it is possible to compare the values of functions on an arbitrary element of their definition, which is the function f ∈ D Fc, d ð Þ(i.e., f : Fc ! d ∈ Ar D ð Þ), i.e., to apply both parts of the equality to this function. We get Schematically the action φ may be shown as follows: The drawn ratio is equivalent to the combination of two of its private cases: and to work with which is somehow easier than with the initial ration as each of them contains only one additional arrow.
Absolutely similar the condition of naturality for ψ is expressed as follows: Selecting the arrow g ∈ C c, Gd ð Þ(i.e., f : c ! Gd ∈ Ar C ð Þ), we get schematically In case of adjunction, the functor F is named left adjoint to the functor G, and G is right adjoint to the functor F. To make the remembering easier, note that in the bijection D Fc, d ð ÞffiC c, Gd ð Þ, the functor F is applied to the argument in the left position and G is applied to the argument in the right position.
In the given definition the category, Set plays a special role as a category, in which the sets of arrows are defined for C and D. This restriction can be overcome: to define a category, another category can be used as a basis, and this category should be additionally conditioned.

Samples of naming constructions
Let us consider some examples of naming constructions based on adjoint functor.

Arrays (vectors)
One of the standard representing constructions in practical programming languages for complex structures of data, including CMs or their fragments, is an array or vector. The bunch of possible vectors forms a linear space.
Let us consider a common structure of linear space. Let K be a field and Vect K be the category of linear (vector) spaces over the field K, whose objects are vector spaces and arrows are linear mappings between them. We will consider not only finite-dimensional but also infinite-dimensional spaces. This practically means that we do not limit the dimension of the represented CM. In this situation we assume that the elements of the infinite-dimensional linear space are finite linear combinations of the vectors of the space with coefficients from the field K (in accordance with the fact that we do not specify on the space any topology and, thuswise, convergence). In this scenario, obviously, the axioms of the linear vector space turn out to be fulfilled.
Let us consider the functor G : Vect K ! Set, which associates with each vector space of its underlying set, i.e., the set of vectors of this space, considered as nonfactorable (structureless) objects. Obviously, G is a functor; it is the so-called neglecting, erasing, or forgetful functor, which is so named because it forgets the structure of objects of the initial category or its part.
To make it clearer, let us consider the vector space B and suggest that the vectors b i form a basis in it. Then each vector of the space B can be expressed as v ¼ where k ∈ K and B 0 are finite. As a result of the action of the functor G , the space B is transformed into the set GB consisting of the same elements as the underlying set of B. The vector v, considered as an element of GB, will be written in the form ⌜v⌝, where the angle brackets ⌜ … ⌝ show that we consider the object as having no internal structure (i.e., and actually form the name of the corresponding object or, more precisely, an expression describing this object). The arrows g ∈ Ar Vect K ð Þare transferred to "the same" arrows, considered on the sets, i.e., The considered functor has the left adjoint F : Set ! Vect K . The functor F for every set A forms vector space, in which the elements of the initial set a ∈ A are the basis and are considered as their formal finite linear combinations P a i ∈ A 0 k i a i , where k i ∈ K and A 0 ⊂ A are finite. The function f : A ! B is mapped by the functor F into linear operator, which acts on the basic vectors of the space FA (i.e., on the elements of the set A) in the same way as the function f (i.e., transforms a ∈ FA to f a ð Þ ∈ FB), and on linear combinations a ∈ A 0 ⊂ A it continues formally according to the linearity: It is easy to check that the given definition really specifies the functor.
To establish the adjunction it is necessary to specify φ and ψ and after it to check their naturalness. Since φ : Vect K FA, B ð Þ!Set A, GB ð Þ, we need to consider the arrow f : FA ! B and put into correspondence with it the arrow φf : A ! GB. It's easy to do due to FA containing all linear combinations of the type P a i ∈ A 0 ⊂ A k i a i , and it also contains, in particular, such linear combinations, where A 0 ¼ a i f g and the corresponding k i ¼ 1. Then we can write X Such elements can be identified with elements of the set A. Since f is given on all elements of the set FA, it is also set on the elements identified with elements of the set A, and it puts into correspondence with them some elements of the set B. But φf must be specified on the elements of the set A and associate them with some elements of the set GB. It is easy to see what these elements are: they must correspond to the initial elements of B under the correspondence given by the functor G. Formally where a ∈ A. Let us check the naturalness of φ. For this purpose we consider the arrows h : and Since the values coincide for an arbitrary s, the corresponding arrows also coincide. Thus, the naturalness of φ is proven. Now let us define ψ : Set A, GB ð Þ!Vect K FA, B ð Þ. We'll consider the arrow g : A ! GB. The value of this function for any a ∈ A can be represented as ⌜b⌝ for some b ∈ B. Since the mapping λx:⌜x⌝ is one-to-one, there is a single function that can be associated with the function g; this is the function g * : A ! B, for which g a ð Þ ¼ ⌜g * a ð Þ⌝: The function g * in some specified sense "makes the analysis" of the element a, giving the permit to pass over from "structureless object" ⌜b⌝ (the element of the set GB) to the "structured object" b (the element of the vector space B).
We need the behavior g * related to the composition. Let h : The situation is cleared somehow by the diagram where ⌜⌝ is a function λx:⌜x⌝ : B ! GB. Now let k : B ! B 0 , then Gk : GB ! GB 0 . According to the definition, and this may be illustrated by the diagram Now we are ready to define the arrow ψg : FA ! B with the values in the vector space B. It may be determined in such a way Let us check the naturalness of the ψ. Once again we'll consider the arrows h : Let us consider the element t ¼ P a i ∈ A 0 k i a i ∈ FA 0 and compute on it the value of the arrows that form the naturality diagram: and The values coincide for arbitrary t, and this proves the naturality of ψ. This example is important because of three reasons: 1. The construction of the vector space is one of the oldest constructions for data representation and at the same time one of the simplest well-known algebraic constructions, and it is an example of a typical algebraic system (underlying set and a signature given by a set of axioms); therefore the construction of an adjoint functor demonstrates some typical common features of such functors.
2. The category of vector spaces, as distinguished, for example, from the category of monoids, hardly uses mechanisms specific to abstract data types (such as a queue or a stack), except for the proper neglecting functor inducing nesting of named objects of the corresponding categories; thanks to this the construction of the attachment is clearly seen in this example.
3. The vector spaces are well studied; this allows without a long introduction to use constructions of considerable generality, which must be specially constructed for other categories.
The above shown example, in particular, demonstrates that the adjunction does not formalize in any sense the idea of mutually inverse functors. We see that for a finite-dimensional space B over an infinite field K, the set GB is infinite, and, consequently, the space FGB is infinite-dimensional, i. e., it is not isomorphic to the initial one. On the contrary, the adjunction acts as a mechanism for assigning a given structure with an additional structure (in our example-any set with a vector space structure) and operations on this additional structure, connecting it with the original one.
Taking into account the foregoing, the above given example demonstrates that conjunctions can be used to describe abstract data types (in our example, to describe an abstract vector). In the example, the mapping φ demonstrates encapsulation, i.e., hiding the internal structure of the object, and ψ provides the definition of operations on the encapsulated type of data.
In general case the functor specifies the correspondence of objects of one category with objects of another and does not suggest the presence of any arrows between these objects. However, in the given example, the fact that the vector space is defined as a set with an additional structure makes it possible to consider the function g * on the set with values in a vector space, as well as the inverse function λx:⌜x⌝. This construction is not valid in the general case.

Monoids
Let us consider another structure used to represent CMs-strings. The strings can be used to name CM's elements or bind additional textual information to CM. It appears that it is possible to formalize naming procedures for strings based on the category of monoids. Let us show this.
Let ℳon be the category of monoids. Mind that a monoid is a triple M ¼ M, Á , e h i, where M is the underlying set, the dot (Á) is the binary operation on the set M, and e ∈ M is the identity element of the monoid. Then the objects of category ℳon are the monoids, and the arrows are the mappings keeping the monoid structure.
Let us consider the neglecting functor G : ℳon ! Set, which associates each underlying set with its monoid and to the mapping of the monoids to the corresponding mapping of the sets. Similar to the previous example, we'll mark ⌜m⌝ element GM, corresponding to the element m of the initial monoid M. Like in the previous example, we have for the arrow g between the monoids. This functor has left adjoint F : Set ! ℳon, which is defined as follows. For the set A, the underlying set of the monoid FA is the set of finite sequences a 1 , … , a n h i of the elements a i ∈ A, including the empty sequence hi. The monoid operation is defined by a 1 , … , a n h iÁ a nþ1 , … , a nþm h i ¼ a 1 , … , a n , a nþ1 , … , a nþm h i , and the identity element of the monoid FA is hi. It is easily checked that the indicated construction correctly specifies the monoid.
For the function f : A ! B, the action of the functor F is specified as follows: Ff a 1 , … , a n h i ð Þ¼ f a 1 ð Þ, … , f a n ð Þ h i : (55)

Conclusions
The chapter considered a variant of solving the problem to store the data in a web environment and provide an access to the data based on their semantics. The semantics of data may be referred both to ensuring that the information complies with the put restrictions and to the traceability of nature of the problems that are solved by the users of different classes. The data is assumed to describe a certain subject area.
To represent the semantic nature of the data in the work, a representation in the form of a semantic network was used. The semantic network was considered as a set of marked nodes and marked links connecting them. The chapter considered the ways to access the nodes of the network, providing both the omission of irrelevant nodes and the decomposition of nodes.
The tools of describing users and their means of access to data that takes into account the specifics of the tasks to be solved must combine enough power to distinguish the relevant elements of the description and simplicity. It makes it possible to practically use the descriptions without excessive detailing, traditionally leading to an increase in the volume and complexity of the description. The work used cognitive maps to describe subjective views on the domain.
The chapter determines the CMs as hierarchically organized sets of nodes connected by unlabeled links. CMs can also contain links between nodes that are not in a hierarchical relationship. Due to: The cognitive maps cannot be considered as semantic networks. However, it is possible to propose matching procedures that will make it possible to consider CMs as a special type of semantic networks.
To determine the language of the description of the subjects and subjective points of view on the data, the work used a variant of intensional logic language. The essential feature of the language is the possibility to construct expressions that are indexable during interpretation, which makes it possible to study and use the dependence of expressions on a parameter. A number of methods for constructing CMs are distinguished, each of which is associated with a formula of intensional logic.
The semantics of intensional logic is constructed basing on recursively defined intensions. The inclusion of lambda expressions in the language and the definition of the corresponding semantic construction provide the computational nature of semantics. The interpretation of quantifiers and operators as special types of applications (applications of functions to the argument) makes it possible to determine all constructions of the model as applicative ones and attributes a computational nature to the models.
The constructed semantics makes it possible to express constructions in the form of CMs; these constructions describe the subject area from the point of view of experts. The chapter shows the possibility of such an expression with the example of the homotopy theory of types. Ever basic construction of the theory of types is accompanied by its presentation in the form of a cognitive map. The use of dependent type theory provides a subjective description of the subject area.
Computational methods for representing CM's semantics can be promoted to the level of support for processing CMs by means of a programming system. The work develops a functor technique for this. The model constructions, naming semantic elements (CM's or their fragments), are mapped onto the constructions of the representing environment with the help of the technique of conjoint functors. In this way, the computational model can be extended to CM's support techniques. This approach ensures the correctness of the tool kits and reduces the time for their development.
In the whole the constructed computational model makes the basis for the description of subjective views on the subject area, their representation in the model, and placing in a supporting programming environment. Thus, the model can serve as the basis for the development technique and maintenance of tool kits to support the description of the domain based on CMs. The elements of the model were tested when developing the practical information systems in the field of legal regulation of the best available technology implementation.