A Knowledgeable Model: Network of C-Objects

8 365 2
A Knowledgeable Model: Network of C-Objects

Đang tải... (xem toàn văn)

Thông tin tài liệu

A Knowledgeable Model: Network of C-Objects

A Knowledgeable Model:Network of C-ObjectsHoang Kiem - Do Van Nhon - Le Hoai BacInformation Technology DepartmentUniversity of Hochiminh City227 - Nguyen Van Cu St., Dist. 5,HoChiMinh City, VIETNAM AbstractIn this paper we propose a model that can be used for representing knowledge: network of C-objects. We also discuss some problems on a network of C-objects, and prove the correctness of the algorithms used to solve these problems. Algorithms have been implemented and tested carefully in various applications. In this paper we bring out an application example: solving a geometry problem.1 Network of C-Objects1.1 C-ObjectsIn many problems we usually meet many different kinds of objects. Each object has attributes and internal relations between them. Besides, objects can execute some actions and answer to requests from the outside. As an example, a triangle with some knowledge (formulas, theorems, etc .) is an object. The attributes of a “triangle” object are 3 edges, 3 angles, A “triangle” object can also answer some questions such as “Is there a solution for the problem to compute the surface from one edge and two angles?”.Here we consider a kind of object called C-object. A C-object has the following characteristics:1. A C-object has valued attributes. The set consists of all attributes of a C-object O will be denoted by M(O). The figure 1 is the symbol of an object O ({x1, ., xk} ⊆ M(O)).2. There are internal relations between attributes of a C-object O. These are manifested in the following features of the object:- Given a subset A of M(O). The object O can show us the attributes that can be determined from A.- The object O will give us the value of an attribute if we request it.- It can also show us the internal process of determining the attributes.figure 1: an C-object1.2 Network of C-objectsSuppose O1 and O2 are C-objects. Between attributes of these C-ojects can have a relation f. We will call f a relation between two objects O1 and O2. For example, the value of the attribute a of O1 is equal to the value of the attribute b of O2 will give a relation between O1 and O2. This relation can be written by the expression O1.a = O2.b. In general, we call a relation f between attributes of certain objects a relation between the objects. A relation will help us deduce some attributes from the others. Our network of C-objects will consists of a set of C-objects O = {O1,O2, . , On} and a set of relations F = {f1,f2, . , fm}. This network of C-objects is denoted by (O,F).2 Problems On C-Object NetworkLet (O,F) be a C-object network. We putM(fi) = the set of attributes of C-objects in the relation fi. M(F) = M(fii 1m)=.M(O) = M(Oii 1n)=.M = the set of attributes of C-objects are considered in certain problem.Mi = M ∩ M(Oi), for i=1,2, . , m.By the above notations, Mi is the set of attributes considered as of the object Oi on the network of C-objects (O,F).We will suggest some algorithms that are completely proved. These algorithms give us the method to solve the following problems:Problem 1. Given sets of attributes A and B. The question is “Can we determine the attributes in B from the attributes in A?”.Problem 2. Suppose that we can determine the attributes in B from the attributes in A. The question is “How is the process of determining attributes in B from attributes in A?”.Let A M be the set of attributes that are given, and B be the set of attributes that are needed to determine. We denote the two problems by the notation: A → B.3 Algorithms3.1 Definitions and notationsLet (O,F) be a network of C-objects, and M be a set of attributes. Suppose A is a subset of M. For each f ∈ F, we denote f(A) be the union of the set A and the set consists of all attributes in M deduced from A by f, and we write: A f → f(A).Similarly, for each C-object Oi ∈ O, Oi(A) is the union of the set A and the set consists of all attributes (in M) that the object Oi can determine from attributes in A.By the above notations, if t ∈ F ∪ O then we have t(A) ⊇ A.Suppose D = {t1, t2, ., tm} is a sequence of elements in F ∪ O. PutA0 = A, A1 = t1(A0), . . ., Am = tm(Am-1), and D(A) = Am,we have A0 ⊆ A1 ⊆ . . . ⊆ Am = D(A) ⊆ M.A problem A → B on a network (O,F) is called solvable if and only if there is a sequence D ⊆ F ∪ O such that D(A) ⊇ B. In this case, we say that D is a solution of the problem.3.2 AlgorithmsTo find out a solution for the problem A → B we can select relations and objects, and then we use them to extend the set of attributes determined. Those actions can be repeated until all of attributes in B are determined or until we cannot determine any more attribute. We have proved and tested the following algorithms for solving the problem.Algorithm 1. finding a solution.Input : (O,F) is a network of C-objects, M is a set of attributes, A ⊆ M, and B ⊆ M.Output : a solution of the problem A → B.Algorithm : 1. Solution ← empty;2. if B ⊆ A thenbeginSolution_found ← true; { Solution_found = true if solvable}goto 5;endelseSolution_found ← false;3. RepeatAold ← A;Select f that is not considered yet;while not Solution_found and(the selection is successful) dobeginif ( f symmetric and 0 < Card (M(f) \ A) ≤ r(f) )or( f not symmetric and ∅ ≠ M(f) \ A ⊆ v(f) ) thenbeginA ← f(A);Solution ← Solution ∪ {f}; end;if B ⊆ A then Solution_found ← true;Select f that is not considered yet;end; { while }Until Solution_found or (A = Aold);4. if not Solution_found thenbeginSelect Oi ∈ O such that Oi(A) ≠ A;if (the selection is successful) thenbeginA ← Oi(A);Solution ← Solution ∪ { Oi };if (B ⊆ A) thenbeginSolution_found ← true;goto 5;end;elsegoto 3;end;end;5. if not Solution_found thenthe problem has no solution;elseSolution is a solution of the problem;Algorithm 2. Find a good solution from an already solution known.Input : (O,F) is a network of C-objects, a solution {t1, t2, ., tm} of the problem A→ B.Output : A good solution of the problem A → B.Algorithm : 1. D ← {t1, t2, ., tm};2. for i=m downto 1 doif D \ {ti} is a solution thenD ← D \ {ti};3. D is a good solution. �3.3 Solving processConsider a problem A→ B on a network of C-objects (O,F). In this section we state a method to construct the solving process from a solution. With a solution, it is possible that we determine some redundant elements. Therefore we need to consider the process of applying relations in the solution, and determine only necessary elements to solve the problem. The following theorem give us an analysis (depending on the solution) the sets of elements, and we can construct a process for determining necessary attributes.Theorem. Let {t1, t2, ., tm} be a good solution of the problem A → B on a network of C-objects (O,F). Put A0 = A, Ai = {t1, t2, ., ti}(A), for i=1, .,m.Then there exists a sequence {B0, B1, ., Bm-1, Bm} consists of subsets in M satisfying the following conditions:(1) Bm = B.(2) Bi ⊆ Ai , for i=0,1, .,m.(3) for i=1, .,m, {ti} is a solution of the problem Bi-1 → Bi but it is not a solution of the problem G → Bi , where G is an arbitrary subset in Bi-1 and G ≠ Bi-1.4 Application ExampleNow we state an application example: solve a geometry problem. This example is solved by a program written in the programming language C++. The program gave us a good solution.Figure 2.In the above figure 2, suppose that AB = AC, the values of the angle A and the edge BC are given. ABDE and ACFG are squares. Compute EG.The problem can be considered on the network of C-objects as follows:1. Four objects :O1 : triangle ABC , with AB = AC,O2 : triangle AEG,O3 : square ABDE,O4 : square ACFG.2. The relations between objects : f1 : O1.c = O3.a{the edge c of triangle ABC = the edge of the square ABDE}f2 : O1.b = O4.a{the edge b of triangle ABC = the edge of the square ACFG}f3 : O2.b = O4.a{the edge b of triangle AEG = the edge of the square ACFG}f4 : O2.c = O3.a{the edge c of triangle AEG = the edge of the square ABDE}f5 : O1.A + O2.A = 180Here we have:M(f1) = { O1.c , O3.a },M(f2) = { O1.b , O4.a },M(f3) = { O2.b , O4.a },M(f4) = { O2.c , O3.a },M(f5) = { O1.α , O2.α },M = { O1.a, O1.b, O1.c, O1.A, O2.b, O2.c, O2.A , O2.a, O3.a, O4.a }.3. the attribute must be computed :O2.a{the edge EG of the triangle AEG}.We have to find out a solution for the problemA → B, where A = { O1.a , O1.α }, and B = {O2.a }. By applying the above algorithms, we have a solutionD = { f5, O1, f1, f2, f3, f4, O2},and the process of extending the set of attributes as follows:A0 5f → A1 1O → A2 1f → A3 2f → A4 3f → A5 4f → A6 2O → A7whereA0 = A = {O1.a , O1.A},A1 = {O1.a , O1.A, O2.A},A2 = { O1.a , O1.A, O2.A, O1.b, O1.c },A3 = {O1.a , O1.A, O2.A, O1.b, O1.c, O3.a},A4 = {O1.a , O1.A, O2.A, O1.b, O1.c, O3.a, O4.a},A5 = {O1.a , O1.A, O2.A, O1.b, O1.c, O3.a, O4.a, O2.b},A6 = {O1.a , O1.A, O2.A, O1.b, O1.c, O3.a, O4.a, O2.b, O2.c},A7 = {O1.a , O1.A, O2.A, O1.b, O1.c, O3.a, O4.a, O2.b, O2.c, O2.a}. �5 CommentsNetwork of C-objects is a useful model. It can be used to represent knowledge in intelligent systems. This model can be researched and developed more completely so to become a helpful tool.References[1] Hoang Kiem & Do Van Nhon, Computational nets and its applications, in: Proceedings of the Conference on Information Technology, Hanoi (1996) 236-241. [2] Elaine Rich & Kevin Knight, Artificial Intelligence, McGraw-Hill, Inc, 1991.[3] Jean-Louis Laurieøre. Problem-Solving and Artificial Intelligence, Prentice Hall, 1990.[4] Bach Hung Khang & Hoang Kiem, Artificial Intelligence, methods and applications, Hanoi. Science and Technique Inc, 1989.[5] Hojjat Adeli, Knowlegde Engineering, Vol I & II, McGraw-Hill, Inc, 1990 [6] J.D. Ullman, Principles of Database and Knowledge-base Systems, Vol I & II, Computer Science Press, 1988-1989. [7] J.Bergin, DATA ABSTRACTION The Object-Oriented Approach using C++, McGrawHill, 1994. [8] P.H.Winston, Artificial Intelligence, Addison-Weysley, 1993. Do Van Nhonthnhi@hcmu.edu.vn+84.8.8579546 (Tel).Page 1/4 . A7 whereA0 = A = {O1 .a , O1 .A} ,A1 = {O1 .a , O1 .A, O2 .A} ,A2 = { O1 .a , O1 .A, O2 .A, O1.b, O1.c } ,A3 = {O1 .a , O1 .A, O2 .A, O1.b, O1.c, O3 .a} ,A4 = {O1 .a ,. is a sequence of elements in F ∪ O. PutA0 = A, A1 = t1 (A0 ), . . ., Am = tm(Am-1), and D (A) = Am,we have A0 ⊆ A1 ⊆ . . . ⊆ Am = D (A) ⊆ M .A problem A

Ngày đăng: 18/09/2012, 10:13

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan