Skip to main content

Notes on Knowledge Representation

1.Intruduction

The paper (John Molopoulos,1981) is a brief overview of terminology and related issues on knowledge representation.

Knowledge Representation is a central problem in Artificial Intelligence (AI) today. Its importance stems from the fact that the current design paradigm for "intelligent" systems stresses the need for expert knowledge in the system along with associated knowledge-handling facilities.

The basic problem of KR is the development of a sufficiently precise notation for representing knowledge. We shall refer to any such notation as a (knowledge) representation scheme. Using such a scheme one can specify a knowledge base consisting of facts.

2.A Taxonomy of Representation Schemes

Representation schemes have been classified into declarative and procedural ones . The paper subdivide declarative schemes into logical and (semantic) network ones.

2.1

Logical Representation schemes is such schemes employ the notions of constant, variable, function, predicate, logical connective and quantifier to represent facts as logical formulas in some logic (First or Higher Order/Multi- valued/Modal/Fuzzy etc.). A knowledge base, accord- ing to this view, is a collection of logical formulas which provides a partial description of a world.

The advantages of logical representaton schemes is 1) the availability of inference rules in terms of which one can define proof procedures. 2) It's an availability of a clean, well-understood and well-accepted formal semantics. 3)the simplicity of the notation employed which leads to knowledge base descriptions that are understandable.

The main drawbacks logical representation schemes is 1)A major drawback of logical schemes is the lack of organizational principles for the facts con-stituting a knowledge base. 2) A second drawback is the difficulty in repre- senting procedural and heuristic knowledge.

2.2

Semantic network representation schemes, attempt to describe a world in terms of objects (nodes) and binary associations (labelled edge). According to a network representational view, a knowledge base is a collection of objects and asso- ciations, or a directed labelled graph, and modifications to the knowledge base occur through the insertion/deletion of objects and the manipulation of associations.

Due to its nature, network schemes address directly issues of information retrieval since associations can be used to define access paths for traversing a network knowledge base. Another impor- tant feature of network schemes is the potential use of primitive association types for the organization of a knowledge base. A third advantage is the obvious graphical representation of network knowledge bases which enhances their understandability.

A major drawback of network schemes has been the lack of a formal semantics and a standard terminology.

2.3

Procedural schemes view a knowledge base as a collection of procedures expressed in some language.

Procedural schemes allow the specification of direct interactions between facts thus eliminating the need for wasteful searching. On the other hand, a procedural knowledge base, like a program, is difficult to understanding and modify.

2.4

A frame is a complex data structure for representing a stereotypical situation such as being in a certain kind of living room or going to a child's birthday party. The frame has slots for the objects that play a role in the stereotypical situation as well as relations between these objects. Attached to each frame are different kinds of information such as how to use the frame, what to do if something unexpected happens, default values for its slots etc.

3. Distinguishing Features of Representation Schemes

3.1 Mutiple Use of Facts

There are some operations could be performed on konwledge bases. They are Inference, Access and Matching. Inference is to deduce new facts from known facts. Access is to finish a questioning -answering applications on knowledge base. Matching is a operation on the relationship set of knowledge for different purposes and in different forms.

3.2 The Incompleteness of Knowledge Base

The knowledge base is always incompleteness though it is always been improved.

3.3 Self Knowledge

Facts which describe the form or allowable configurations of other facts (e.g. type definitions) are an important kind of self knowledge.

A second kind of self knowledge involves the ability of a system to answer elementary questions about its actions, or about the strategies it uses to perform some task.

Comments

Popular posts from this blog

A simple implementation of DTW(Dynamic Time Warping) in C#/python

DTW(Dynamic Time Warping) is a very useful tools for time series analysis. This is a very simple (but not very efficient) c# implementation of DTW, the source code is available at  https://gist.github.com/1966342  . Use the program as below: double[] x = {9,3,1,5,1,2,0,1,0,2,2,8,1,7,0,6,4,4,5}; double[] y = {1,0,5,5,0,1,0,1,0,3,3,2,8,1,0,6,4,4,5}; SimpleDTW dtw = new SimpleDTW(x,y); dtw.calculateDTW(); The python implementation is available at  https://gist.github.com/3265694  . from python-dtw import Dtw import math dtw = Dtw([1, 2, 3, 4, 6], [1, 2, 3, 5],           distance_func=lambda x, y: math.fabs(x - y)) print dtw.calculate() #calculate the distance print dtw.get_path() #calculate the mapping path

Install mysql-python with mariadb

mysql-python requires libmysqlclient-dev in ubuntu, but the installation of mariadb will have the lib with unmet dependenccies, so the error of "mysql_config not found" may occurred if you install mysql-python via pip. The case is that mariadb has a compatible package, if you have the ppa setup as in  http://downloads.mariadb.org/ . Just "sudo apt-get install libmariadbclient-dev".

The default CREATE TABLE options for Aria Engine in mariadb

The official document of mariadb does not mention the default CREATE TABLE options for tables using Aria Engine.  The default options are list as below: TRANSACTIONAL,  the default value is TRANSACTIONAL=0, i.e., non-transactional. ROW_FORMAT, the default value is ROW_FORMAT=PAGE, which may suits both transactional and non-transactional tables. PAGE_CHECKSUM,  the default value will follow aria_page_checksum system variable, which has default value ON. For the TRANSACTIONAL option, you may consider create a table as below(and ALTER the TRANSACTIONAL=1): CREATE TABLE `test_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=Aria; If you change the ROW_FORMAT to DYNAMIC or FIXED, everything just goes fine. But if you have ALTER the table with TRANSACTION=1 and change the ROW_FORMAT to DYNAMIC or FIXED, you may got a warning: SHOW WARNINGS; +-------+------+----------------------------------------------------------+ | Level | Code | Message | +-------+--