information and communication technology...

205
ISSN 1858 -1633 i Proceeding of Annual International Conference Information and Communication Technology Seminar Volume 1, Number 1, August 2005 Executive Board Rector of ITS Dean of Information Technology Faculty (FTIF) ITS Head of Informatics Department FTIF ITS Editorial Board Achmad Benny Mutiara Gunadharma University, Indonesia Agus Zainal Sepuluh Nopember Institute of Technology, Indonesia Akira Asano Hiroshima University, Japan Archi Delphinanto Eindhoven University of Technology, The Netherlands Arif Djunaidy Sepuluh Nopember Institute of Technology, Indonesia Daniel Siahaan Sepuluh Nopember Institute of Technology, Indonesia Handayani Tjandrasa Sepuluh Nopember Institute of Technology Happy Tobing Cendrawasih University, Indonesia Hideto Ikeda Ritsumeikan University, Japan Johny Moningka Indonesia University, Indonesia Joko Lianto Sepuluh Nopember Institute of Technology, Indonesia Kridanto Surendro Bndung Institute of Technology, Indonesia Marco J Patrick V-SAT Company, Portugal Mauridhi Hery Purnomo Sepuluh Nopember Institute of Technology, Indonesia Muchammad Husni Sepuluh Nopember Institute of Technology, Indonesia Nanik Suciati Sepuluh Nopember Institute of Technology, Indonesia Riyanarto Sarno Sepuluh Nopember Institute of Technology, Indonesia Rothkrantz Delft University of Technology, Indonesia Retantyo Wardoyo Gajah Mada University, Indonesia Siska Fitriana Delft University of Technology, The Netherlands Supeno Djanali Sepuluh Nopember Institute of Technology, Indonesia Zainal Hasibuan Indonesia University, Indonesia Yudhi Purwananto Sepuluh Nopember Institute of Technology, Indonesia

Upload: vomien

Post on 17-Mar-2018

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

ISSN 1858 -1633

i

Proceeding of Annual International Conference

Information and Communication Technology Seminar Volume 1, Number 1, August 2005

Executive Board Rector of ITS Dean of Information Technology Faculty (FTIF) ITS Head of Informatics Department FTIF ITS

Editorial Board

Achmad Benny Mutiara Gunadharma University, Indonesia

Agus Zainal Sepuluh Nopember Institute of Technology, Indonesia

Akira Asano Hiroshima University, Japan

Archi Delphinanto Eindhoven University of Technology, The Netherlands

Arif Djunaidy Sepuluh Nopember Institute of Technology, Indonesia

Daniel Siahaan Sepuluh Nopember Institute of Technology, Indonesia

Handayani Tjandrasa Sepuluh Nopember Institute of Technology

Happy Tobing Cendrawasih University, Indonesia

Hideto Ikeda Ritsumeikan University, Japan

Johny Moningka Indonesia University, Indonesia

Joko Lianto Sepuluh Nopember Institute of Technology, Indonesia

Kridanto Surendro Bndung Institute of Technology, Indonesia

Marco J Patrick V-SAT Company, Portugal

Mauridhi Hery Purnomo Sepuluh Nopember Institute of Technology, Indonesia

Muchammad Husni Sepuluh Nopember Institute of Technology, Indonesia

Nanik Suciati Sepuluh Nopember Institute of Technology, Indonesia

Riyanarto Sarno Sepuluh Nopember Institute of Technology, Indonesia

Rothkrantz Delft University of Technology, Indonesia

Retantyo Wardoyo Gajah Mada University, Indonesia

Siska Fitriana Delft University of Technology, The Netherlands

Supeno Djanali Sepuluh Nopember Institute of Technology, Indonesia

Zainal Hasibuan Indonesia University, Indonesia

Yudhi Purwananto Sepuluh Nopember Institute of Technology, Indonesia

Page 2: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

ISSN 1858 -1633

ii

Editor-in-Chief Umi Laili Yuhana

Sepuluh Nopember Institute of Technology, Indonesia

Contact Address Informatics Department FTIF, ITS Gedung Teknik Informatika ITS, Jl. Raya ITS, Sukolilo Surabaya 60111, INDONESIA Telp. (031) 5939214 Fax (031) 5913804 Homepage: http://if.its.ac.id/icts email:[email protected]

Page 3: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

ISSN 1858 -1633

iii

PREFACE This proceedings contain sorted papers from Information and Communication Technology Seminar (ICTS) 2005. ICTS 2005 is the first annual international event from Informatics Department, Faculty of Information Technology, ITS. This event is a forum for computer science, information and communication technology community for discussing and exchanging the information and knowledge in their areas of interest. It aims to promote activities in research, development, and application on computer science, information and communication technology. This year, the seminar is held to celebrate the 20th Anniversary of Informatics Department, Faculty of Information Technology, ITS. There are 41 papers accepted and finally 36 papers are fit and proper to be presented. The topics of those papers are: (1) Artificial Intelligence (2) Image Processing (3) Computing (4) Computer Network and Security (5) Software Engineering and (6) Mobile Computing. We would like to thank to the keynote speakers, the authors, the participants, and all parties for the success of ICTS 2005.

Editorial Team

Page 4: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

ISSN 1858 -1633

iv

Proceeding of Annual International Conference

Information and Communication Technology Seminar Volume 1, Number 1, August 2005

Table of Content Mathematical Morphology And Its Applications ...................................................................1-9 Akira Asano Molecular Dynamics Simulation On A Metallic Glass-System: Non-Ergodicity Parameter ...............................................................................................................................10-16 Achmad Benny Mutiara Tomographic Imaging Using Infra Red Sensors.................................................................17-19 Dr. Sallehuddin Ibrahim and Md. Amri Md. Yunus Mammographic Density Classification Using Multiresolution Histogram Technique ...20-23 Izzati Muhimmah, Erika R.E. Denton, and Reyer Zwiggelaar Ann Soft Sensor To Predict Quality Of Product Based On Temperature Or Flow Rate Correlation..............................................................................................................................24-28 Totok R. Biyanto Application Of Soft Classification Techniques For Forest Cover Mapping ....................29-36 Arief Wijaya Managing Internet Bandwidth: Experience In Faculty Of Industrial Technology, Islamic University Of Indonesia.........................................................................................................37-40 Mukhammad Andri Setiawan Mue: Multi User Uml Editor.................................................................................................41-45 Suhadi Lili, Sutarsa, and Siti Rochhimah Designing Secure Communication Protocol For Smart Card System, Study Case: E-Purse Application..............................................................................................................................46-48 Daniel Siahaan, and I Made Agus Fuzzy Logics Incorporated To Extended Weighted-Tree Similarity Algorithm For Agent Matching In Virtual Market .................................................................................................49-54 Sholeh Hadi Setyawan and Riyanarto Sarno Shape Matching Using Thin-Plate Splines Incorporated To Extended Weighted-Tree Similarity Algorithm For Agent Matching In Virtual Market..........................................55-61 Budianto and Riyanarto Sarno Text-To-Video Text To Facial Animation Video Convertion ............................................62-67 Hamdani Winoto, Hadi Suwastio, and Iwan Iwut T.

Page 5: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

ISSN 1858 -1633

v

Share-It: A UPnP Application For Content Sharing ..........................................................68-71 Daniel Siahaan Modified Bayesian Optimization Algorithm For Nurse Scheduling .................................72-75 I N. Sutapa, I. H. Sahputra, and V. M. Kuswanto Politeness In Phoning By Using Wap And Web ..................................................................76-80 Amaliah Bilqis, and Husni Muhammad Impelementation Of Hierarchy Color Image Segmentation For Content Based Image Retrieval System .....................................................................................................................81-85 Nanik Suciati and Shanti Dewi Decision Support System For Stock Investment On Mobile Device.................................86-90 Ivan Satria and Dedi Trisnawarman Fuzzy Logic Approach To Quantify Preference Type Based On Myers Briggs Type Indicator (MBTI)....................................................................................................................91-93 Hindriyanto Dwi Purnomo, Srie Yulianto Joko Prasetyo Security Concern Refactoring.............................................................................................94-100 Putu Ashintya Widhiartha, and Katsuhisa Maruyama A Parallel Road Traffic Simulator Core ..........................................................................101-104 Dwi Handoko, Wahju Sediono, and Made Gunawan C/I Performance Comparison Of An Adaptive And Switched Beam In The Gsm Systems Employing Smart Antenna ................................................................................................105-110 Tito Yuwono, Mahamod Ismail, and Zuraidah bt Zainuddin Identification Of Solvent Vapors Using Neural Network Coupled Sio2 Resonator Array .................................................................................................................111-114 Muhammad Rivai, Ami Suwandi JS , and Mauridhi Hery Purnomo Comfortable Dialog For Object Detection .......................................................................115-122 Rahmadi Kurnia A Social Informatics Overview Of E-Government Implementation: Its Social Economics And Restructuring Impact ................................................................................................123-129 Irwan Sembiring and Krismiyati Agent Based Programming For Computer Network Monitoring .................................130-134 Adang Suhendra Computer Assisted Diagnosis System Using Morphology Watershed For Breast Carcinoma Tumor ..................................................................................................................................135-139 Sri Yulianto and Hindriyanto

Page 6: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

ISSN 1858 -1633

vi

Evaluation Of Information Distribution Algorithms Of A Mobile Agent-Based Demand-Oriented Information Service System.............................................................................140-144 I. Ahmed and M J. Sadiq Online Mobile Tracking On Geographics Information System Using Pocket Pc........145-150 M. Endi Nugroho and Riyanarto Sarno A Simple Queuing System To Model The Traffic Flow At The Toll-Gate: Preliminary Results .................................................................................................................................151-153 Wahju Sediono, Dwi Handoko Multimodal-Eliza Perceives And Responds To Emotion ...............................................154-158 S. Fitrianie and L.J.M. Rothkrantz Motor Dc Position Control Based On Moving Speed Controlled By Set Point Changing Using Fuzzy Logics Control System ................................................................................159-166 Andino Maseleno, Fajar Hayyin, Hendra, Rahmawati Lestari, Slamet Fardyanto, and Yuddy Krisna Sudirman A Variable-Centered Intelligent Rule System .................................................................167-174 Irfan Subakti Multiple Null Values Estimating In Generating Weighted Fuzzy Rules Using Genetic Simulated Annealing..........................................................................................................175-180 Irfan Subakti Genetic Simulated Annealing For Null Values Estimating In Generating Weighted Fuzzy Rules From Relational Database Systems ......................................................................181-188 Irfan Subakti Image Thresholding By Measuring The Fuzzy Sets Similarity .....................................189-194 Agus Zainal Arifin and Akira Asano Development Of Scheduler For Linux Virtual Server In Ipv6 Platform Using Round Robin Adaptive Algorithm, Study Case: Web Server ...............................................................195-198 Royyana Muslim Ijtihadie and Febriliyan Samopa

Page 7: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

1

MATHEMATICAL MORPHOLOGY AND ITS APPLICATIONS

Akira Asano Division of Mathematical and Information Sciences, Faculty of Integrated Arts and Sciences,

Hiroshima University Kagamiyama 1-7-1, Higashi-Hiroshima, Hiroshima 739-8521, JAPAN

email: [email protected] ABSTRACT

This invited talk presents the concept of mathematical morphology, which is a mathematical framework of quantitative image manipulations. The basic operations of mathematical morphology, the relationship to image processing filters, the idea of size distribution and its application to texture analysis are explained.

1. INTRODUCTION

Mathematical morphology treats an effect on an image as an effect on the shape and size of objects contained in the image. Mathematical morphology is a mathematical system to handle such effects quantitatively based on set operations [1–5].The word stem “morpho-” originates in a Greek word meaning “shape,” and it appears in the word “morphing,” which is a technique of modifying an image into another image smoothly.

The founders of mathematical morphology, G. Math´eron and J. Serra, were researchers of l ´ Ecole Nationale Sup´erieure des Mines de Paris in France, and had an idea of mathematical morphology as a method of evaluating geometrical characteristics of minerals in ores [6]. Math´eron is also the founder of the random closed set theory, which is a fundamental theory of treating random shapes, and kriging, which is a statistical method of estimating a spatial distribution of mineral deposits from trial diggings. Mathematical morphology has relationships to these theories and has been developed as a theoretical framework of treating spatial shapes and sizes of objects. The International Symposium on Mathematical Morphology (ISMM), which is the topical international symposium focusing on mathematical morphology only, has been organized almost every two years, and its seventh symposium was held in April 2005 in Paris as a cerebration of 40 years anniversary of mathematical morphology [7].

The paper explains the framework of mathematical morphology, especially opening, which is the fundamental operation of describing operations on shapes and sizes of objects quantitatively, in Sec. 2. Section 3. proves “filter theorem,” which guarantees that all practical image processing filters can be constructed by combinations of morphological operations. Examples of expressing median filters and average filters by combinations of morphological operations are also shown in this section. Section 4.

explains granulometry, which is a method of measuring the distribution of sizes of objects in an image, and shows an application to texture analysis by the author.

2. BASIC OPERATIONS OF MATHEMATICAL MORPHOLOGY

The fundamental operation of mathematical morphology is “opening,” which discriminates and extracts object shapes with respect to the size of objects. We explain opening on binary images at first, and basic operations to describe opening.

2.1 Opening In the context of mathematical morphology, an

object in a binary image is regarded as a set of vectors corresponding to the points composing the object. In the case of usual digital images, a binary image is expressed as a set of white pixels or pixels of value one. Another image set expressing an effect to the above image set is considered, and called structuring element. The structuring element corresponds to the window of an image processing filter, and is considered to be much smaller than the target image to be processed.

Let the target image set be X, and the structuring element be B. Opening of X by B has a property as follows:

where Bz indicates the translation of B by z,

defined as follows:

This property indicates that the opening of X with

respect to B indicates the locus of B itself sweeping all the interior of X, and removes smaller white regions than the structuring element, as illustrated in Fig. 1. Since opening eliminates smaller structures and smaller bright peaks than the structuring element, it has a quantitative smoothing ability.

Page 8: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

2

Fig. 1. Effect of opening.

2.2. Fundamental Operations of Mathematical Morphology

Although the property of opening in E. (1) is intuitively understandable, this is not a pixelwise operation. Thus opening is defined by a composition of simpler pixelwise operations. In order to define opening, Minkowski set subtraction and addition are defined as the fundamental operations of mathematical morphology.

Minkowski set subtraction has the following

property: It follows from x ∈ Xb that x − b ∈ X. Thus the definition of Minkowski set subtraction in Eq. (3) can be rewritten to the following pixelwise operation:

The reflection of B, denoted ˇB , is defined as

follows:

Using the above expressions, Minkowski set

subtraction is expressed as follows:

Since we get from the definition of reflection in

Eq. (6) that , it follows

that . We get the relationship in Eq. (7) by substituting it into Eq. (5).This relationship indicates that is the

locus of the origin of when sweeps all the interior of X.

For Minkowski set addition, it follows that

Thus we get

Fig. 2. opening composed of fundamental operations.

It indicates that is composed by pasting a copy of B at every point within X.

Using the above operations, erosion and dilation of X with respect to B are defined as and

. respectively. We get from Eq. (7) that

It indicates that is the locus of the origin

of B when B sweeps all the interior of X. The opening XB is then defined using the above fundamental operations as follows:

The above definition of opening is illustrated in

Fig. 2. A black dot indicates a pixel composing an image object in this figure. As shown in the above, the erosion of X by B is the locus of the origin of B when B sweeps all the inside of X. Thus the erosion in the first step of opening produces every point where a copy of B included in X can be located. The Minkowski addition in the second step locates a copy of B at every point within . Thus the opening of X with respect to B indicates the locus of B itself sweeping all the interior of X, as described at the beginning of this section. In other words, the opening removes regions of X which are too small to include a copy of B and preserves the others.

The counterpart of opening is called closing, defined as follows:

The closing of X with respect to B is equivalent to

the opening of the background, and removes smaller spots than the structuring element within image objects. This is because the following relationship between opening and closing holds:

where Xc indicate the complement of X and

defined as The relationship of Eq. (13) is called duality of opening and closing1.

1There is another notation system which denotes opening as X B and closing as X • B.

Page 9: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Mathematical Morphology and Its Application – Akira Asano

ISSN 1858-1633 @2005 ICTS

3

Figure 3 summarizes the illustration of the effects of basic morphological operations2.

Fig. 3. Effects of erosion, dilation, opening, and closing

Fig. 4. Umbra. The spatial axis x is illustrated one-dimensional for

simplicity.

2.3. In the Case of Gray Scale Images In the case of gray scale image, an image object is

defined by the umbra set. If the pixel value distribution of an image object is denoted as f(x),

where is a pixel position, its umbra U[f(x)] is defined as follows:

Consequently, when we assume a “solid” whose

support is the same as a gray scale image object and whose height at each pixel position is the same as the pixel value at this position, the umbra is equivalent to this solid and the whole volume

below this solid within the support, as illustrated in Fig. 4.

A gray scale structuring element is also defined in the same manner. Let f(x) be the gray scale pixel value at pixel position x and g(y) be that of the structuring element. Erosion of f by g is defined for the umbrae similarly to the binary case, and reduced to the following operation [4, 5]:

Dilation is also reduced to

where w(g) is the support of g. These equations

indicate that the logical AND and OR operations in the definition for binary images are replaced with the infimum and supremum operations (equivalent to minimum and maximum in the case of digital images), respectively.

Expanding the idea, mathematical morphological operations can be defined for sets where the infimum and supremum among the elements are defined in some sense. For example, morphological operations for color images cannot be defined straightforwardly from the above classical definitions,

since a color pixel value is defined by a vector and the infimum and supremum are not trivially defined. The operations can be defined if the infimum and supremum among colors are defined [8, 9]. Such set is called lattice, and mathematical morphology is generally defined as operations on a lattice [10].

3. MATHEMATICAL MORPHOLOGY AND IMAGE PROCESSING FILTER

3.1. Morphological filter Image processing filter is generally an operation at

each pixel by applying a calculation to the pixel and the pixels in its neighborhood and replacing the pixel value with the result of calculation, for the purposes of noise removal, etc. Morphological filter in broader sense is restricted to translation-invariant and increasing one. An operation Ψ on a set (image) X is translation-invariant if

In other words, it indicates that the effect of the

operation is invariant wherever the operation is applied. An operation Ψ is increasing if

In other words, the relationship of inclusion is

preserved before and after applying the operation. Let us consider a noise removing filter for

example; Since noise objects in an image should be removed wherever it is located, the translation-invariance is naturally required for noise removing filters. An increasing operation can express an operation that removes smaller objects and preserves larger objects, but cannot express an operation that removes larger and preserves smaller. Noise objects are, however, usually smaller than meaningful objects. Thus it is also natural to consider increasing operations only3.

Morphological filter in narrower sense is all translation-invariant, increasing, and idempotent operations. The filter Ψ is idempotent if

2There is another definition of morphological operations which denotes the erosion in the text as X _ B and call the Minkowski set addition in the text “dilation.” The erosion and dilation are not dual in this definition,

3Edge detecting filter is not increasing, since it removes all parts of objects

Page 10: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

4

Consequently, iterative operations of Ψ is

equivalent to one operation of Ψ . The opening and closing are the most basic morphological filters in narrower sense.

3.2. Filter theorem The filter theorem states that all morphological

filters (in broader sense) can be expressed by OR of erosions and AND of dilations. It guarantees that almost all practical filters can be expressed by morphological operations, i. e. mathematical morphology is really a fundamental operation set of image object manipulations. Let Ψ(X) be a filter on the image X.

The theorem states that there exists for all Ψ(X) a set family Ker[Ψ] satisfying the following.

It also states that there exists for all Ψ(X) a set

family Ker[Ψ] satisfying the following.

Here the set family Ker[Ψ] is called kernel of

filter Ψ, defined as follows:

where “0” indicates the origin of X. The proof of

the filter theorem in Eq. (20) is presented in the following. A more general proof is found in Chap. 4

of [10]. Let us consider an arbitrary vector (pixel)

for a structuring element . From the definition of

. Consequently, Since Ψ is increasing, the relationship B ⊆ X−h is invariant by filter Ψ. Thus we get

. Since Ψ is translation-invariant, we get

by translating . From the above discussion,

for all structuring element . Thus

. Let us consider an arbitrary vector . Since Ψ is translation-invariant,

. Thus we get . Since

,

and is satisfied if ,

we get . By denoting by , we get . Consequently, there exists a structuring

element such that , i. e. any pixel in

Ψ(X) can be included in by using a

certain structuring element . Thus

From the above discussion, it holds that

3.3. Morphological expressions of median filter and average filter

The filter theorem guarantees that all translation-invariant increasing filters can be constructed by morphological operations. However, the kernel is generally redundant and each practical filter is often expressed by morphological operations with fewer numbers of structuring elements. In this subsection, morphological expressions of median filter and average filter are shown with examples. These filters are usually applied to gray scale images, morphological operations and logical operations are reduced to minimum and maximum operations. Details of the proof are found in [11, 12].

3.3.1. Median filter: The median filter whose window size is n pixel is expressed as follows:

the minimum of maximum ( or the maximum of minimum) in every possible subwindow of [n/2 + 1] pixels in the window.

The operations deriving the maximum and

minimum in each subwindow at every pixel are the set addition and set subtraction using the subwindow as the structuring element, respectively. Since the maximum and minimum operations are extensions of logical OR and AND operations based on fuzzy logic, respectively, the median filter is expressed by the combination of morphological and logical operations, as shown in Figs. 5 and 6.

Page 11: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Mathematical Morphology and Its Application – Akira Asano

ISSN 1858-1633 @2005 ICTS

5

Fig. 5. Subwindows of [n/2 + 1] pixels.

3.3.2. Average filter: The simplest average filter operation, that is, the average of two pixel values x and y, is expressed by the minimum and the supremum, as follows:

or

as shown in Fig. 7.

Fig. 6. Median expressed by the maximum and minimum.

Fig. 7. Average expressed by the maximum and minimum.

4. GRANULOMETRY AND TEXTURE ANALYSIS

Texture is an image composed by repetitive appearance of small structures, for example surfaces of textiles, microscopic images of ores, etc. Texture analysis is a fundamental application of mathematical morphology, since it was developed for the analysis of minerals in ores. In this section, the concept of size in the sense of mathematical morphology and the idea of granulometry for measuring granularity of image objects are explained. An example of texture analysis applying granulometry by the author is also presented.

4.1. Granulometry and size distribution Opening of image X with respect to structuring

element B means residue of X obtained by removing smaller structures than B. It indicates that opening works as a filter to distinguish object structures by their sizes. Let 2B, 3B, . . . , be homothetic magnifications of the basic structuring element B. We then perform opening of X with respect to the homothetic structuring elements, and obtain the image sequence XB, X2B, X3B, . . . . In this sequence, XB is obtained by removing the regions smaller than B, X2B is obtained by removing the regions smaller than X2B, X3B is obtained by removing the regions smaller than 3B, . . . . If B is convex, it holds that X XB X2B X3B . . . . The size of rB is defined as r, and this sequence of opening is called granulometry [10]. We then calculate the ratio of the area (for binary case) or the sum of pixel values (for gray scale case) of XrB to that of the original X at each r. The area of an image is defined by the area occupied by an image object, i. e. the number of pixels composing an image object in the case of discrete images. The function from a size r to the corresponding ratio is monotonically decreasing, and unity when the size is zero. This function is called size distribution function. The size distribution function of size r indicates the area ratio of the regions whose sizes are greater than or equal to r.

Page 12: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

6

Fig. 8. Granulometry and size density function

The r-times magnification of B, denoted rB, is

usually defined in the context of mathematical morphology as follows:

where 0 denotes a single dot at the origin. Let us consider a differentiation of the size

distribution function. In the case of discrete sizes, it is equivalent to the area differences of the image pairs corresponding to adjacent sizes in XB, X2B, X3B, .... For example, the area difference between X2B and X3B

corresponds to the part included inX2B but excluded fromX3B, that is, the part whose size is exactly 2. The sequence of the areas corresponding to each size exactly, derived as the above, is called pattern spectrum [13], and the sequence of the areas relative to the area of the original object is called size density function [14]. An example of granulometry and size density function is illustrated in Fig. 8.

Size distribution function and size density function have similar properties to probability distribution function and probability density function, respectively, so that such names are given to these functions. Similarly to probability distributions, the average and the variance of size of objects in an image can be considered. Higher moments of a size distribution can be also defined, which are called granulometric moments, and image objects can be characterized using these moments [14–16].

4.2. Application to texture analysis As described in Sec. 2., morphological opening is a

regeneration of an image by arranging the structuring element, and removes smaller white regions in binary case or smaller regions composed of brighter pixels than its neighborhood in gray scale case than the

structuring element. Thus opening is effective for eliminating noisy pixels that are brighter than its neighborhood.

Since opening generates the resultant image by an arrangement of the structuring element, the hape and pixel value distribution of the structuring element directly appear in the resultant image. It causes artifacts if the shape and pixel value distribution are not related to the original image.

This artifact can be suppressed by using a structuring element resembling the shape and pixel value distribution contained in the original image. Such structuring element cannot be defined generally, but can be estimated for texture images, since texture is composed an arrangement of small objects appearing repetitively in the texture.

We explain in this subsection a method of developing the optimal artifact-free opening for noise removal in texture images [17]. This method estimates the structuring element which resembles small objects appearing repetitively in the target texture. This is achieved based on Primitive, Grain, and Point Configuration (PGPC) texture model, which we have proposed to describe a texture, and an optimization method with respect to the size distribution function.

The optimal opening of suppressing the artifacts is achieved by using the estimated structuring element. In the case of noise removal, the primitive cannot be estimated by the target image itself, since the original uncorrupted image corresponding to the target image is unknown. This problem is similar to that of the image processing by learning, which estimates the optimal filter parameters by giving an example of corrupted image and its ideal output to a learning mechanism [18–20]. In the case of texture image, however, if a sample uncorrupted part of the texture similar to the target corrupted image is available, the primitive can be estimated from this sample, since the sample and the target image are different realization but have common textural characteristics.

4.2.1. PGPC texture model and estimation

of the optimal structuring element: The PGPC texture model regards a texture as an image composed by a regular or irregular arrangement of objects that are much smaller than the size of image and resemble each other. The objects arranged in a texture are called grains, and the grains are regarded to be derived from one or a few typical objects called primitives.

We assume here that the grains are derived from one primitive by homothetic magnification.We also assume that the primitive is expressed by a structuring element B, and let X be the target texture image. In this case, XrB is regarded as the texture image composed by the arrangement of rB only. It follows that rB − (r + 1)B indicates the region included in the arrangement of rB but not included in that of (r+1)B. Consequently, XrB −X(r+1)B is the region where r-size grains are arranged if X is expressed by employing an

Page 13: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Mathematical Morphology and Its Application – Akira Asano

ISSN 1858-1633 @2005 ICTS

7

arrangement of grains which are preferably large magnifications of the primitive. The sequence X − XB, XB − X2B, . . . , XrB − X(r+1)B, . . . , is the decomposition of the target texture to the arrangement of the grains of each size.

Since the sequence can be derived by using any structuring element, it is necessary to estimate the appropriate primitive that is a really typical representative of the grains. We employ an idea that the structuring element yielding the simplest grain arrangement is the best estimate of the primitive, similarly to the principle of minimum description length (MDL). The simple arrangement locates a few number of large magnifications for the expression of a large part of the texture image, contrarily to the arrangement of a large number of small-size magnifications. We derive the estimate by finding the structuring element minimizing the integral of 1 − F(r), where F(r) is the size distribution function with respect to size r. The function 1 − F(r) is 0 for r = 0 and monotonically increasing, and 1 for the maximum size required to compose the texture by the magnification of this size. Consequently, if the integral of 1−F(r) is minimized as illustrated in Fig. 9, the sizes of employed magnifications concentrate to relatively large sizes, and the structuring element in this case expresses the texture using the largest possible magnifications. We regard this structuring element as the estimate of primitive.

We estimate the gray scale structuring element in two steps: the shape of structuring element is estimated by the above method in the first step, and the gray scale value at each pixel in the primitive estimated in the first step is then estimated. However, if the above method is applied to the gray scale estimation, the estimate often has a small number of high-value pixel and other pixels whose values are almost zero. This is because the umbra of any object can be composed by arranging the umbra of one-pixel structuring element, as illustrated in Fig. 10. This is absolutely not a desired estimate. Thus we modify the above method, and minimize 1 − F(1), i. e. the residual area of XB instead of the above method. In this case, the composition by this structuring element and its magnification is the most admissible when the residual area is the minimum, since the residual region cannot be composed of even the smallest magnification.

The exploration of the structuring element can be performed by the simulated annealing, which iterates a modification of the structuring element and find the best estimate minimizing the evaluation function described in the above [21].

Fig. 9. Function 1 − F(r). Size r is actually discrete for digital

images.(a)Function and its integral. (b) Minimization of the integral.

Fig. 10. Any object can be composed by arranging one-pixel

structuring element.

4.2.2. Experimental results: Figures 11 and 12 show the example experimental results of noise removal using the estimated primitives as the structuring elements. All images contains 64×64 8-bit gray scale pixels. In each example, the gray scale primitive shown in (b) is estimated for the example image (a). Each small square in (b) corresponds to one pixel in the primitive, and the shape is expressed by the arrangement of white squares. The primitive is explored from connected figures of nine pixels within 5 × 5-pixel square. The gray scale value is explored by setting the initial pixel value to 50 and modifying the value in the range of 0 to 100.

The opening using the primitive (b) as the structuring element is performed on the corrupted image (c). This image is generated by adding a uniformly distributed random value, which is in the range between 0 and 255, to 1000 randomly selected pixels of an image extracted from an image which is a different realization of the same texture as (a). Opening eliminates brighter peaks of small extent, so that this kind of noise is employed for this experiment.

Page 14: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

8

The result using the estimate primitive is shown in (d), that using the flat structuring element whose shape is the same as (b) is shown in (e), and that using the 3 × 3-pixel square flat structuring element is shown in (f). The “MSE” attached to each resultant image is defined as the sum of pixelwise difference between each image and the original uncorrupted image of (c), which is not shown here, divided by the number of pixels in the image.

Fig. 11. Experimental results (1).

The results (d) show high effectiveness of our method in noise removal and detail preservation. The results using the square structuring element contain artifacts since the square shape appears directly in the results, and the results using the binary primitives yield regions of unnaturally uniform pixel values. The comparison of (d) and (e) indicates that the optimization of binary structuring elements is insufficient and the grayscale optimization is necessary.

Fig. 12. Experimental results (2).

In these examples, the assumptions that the grains are derived from one primitive by homothetic magnification and the primitive is expressed by one structuring element are not exactly satisfied. However, the results indicate that our method is applicable to these cases practically.

5. CONCLUSIONS

This invited talk has explained the fundamental concept of mathematical morphology, the filter theorem and the relationship to image processing filters, and the concept of size distribution and its application to texture analysis, which is one of the author’s research topics. The importance of mathematical morphology is that it gives a “mathematical” framework based on set operations to operations on shapes and sizes of image objects. Mathematical morphology has its origin in the research of minerals; If the researchers of mathematical morphology had concentrated to practical problems only and had not made efforts of mathematical formalization, mathematical morphology could not have been extended to general image processing or spatial statistics. It suggests that researches on any topic considering general frameworks is always important.

Acknowledgements The author would like to thank Dr. Daniel Siahaan,

the Organizing Committee Chairman, and all the Committee members, for this opportunity of the invited talk in ICTS2005.

REFERENCES [1] J. Serra, Image analysis and mathematical

morphology, Academic Press, 1982. ISBN0-12-637242-X

[2] J. Serra, ed., Image analysis and mathematical morphology Volume 2, Technical advances, Academic Press, 1988. ISBN0-12-637241-1

[3] P. Soille, Morphological Image Analysis, 2nd Ed., Springer, 2003.

[4] P. Maragos, Tutorial on advances in morphological image processing and analysis, Optical Engineering, 26, 1987, 623–632.

[5] R. M. Haralick, S. R. Sternberg, and X. Zhuang, Image Analysis Using Mathematical Morphology, IEEE Trans. Pattern Anal. Machine Intell., PAMI-9, 1987, 532–550.

[6] G. Matheron, J. Serra, The birth of mathematical morphology, Proc. 6th International Symposium on Mathematical Morphology, 1–16, CSIRO Publishing 2002. ISBN0-643-06804-X

[7] International Symposium on Mathematical Morphology, 40 years on (http://ismm05.esiee.fr).

Page 15: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Mathematical Morphology and Its Application – Akira Asano

ISSN 1858-1633 @2005 ICTS

9

[8] M. L. Corner and E. J. Delp, Morphological operations for color image processing, Journal of Electronic Imaging, 8(3), 1999, 279–289.

[9] G. Louverdis, M. I. Vardavoulia, I. Andreadis, and Ph. Tsalides, A new approach to morphological color image processing, Pattern Recognition, 35, 2002, 1733–1741.

[10] H. J. A. M. Heijmans, Morphological Image Operators, Academic Press (1994). ISBN0-12-014599-5

[11] P. Maragos and R. W. Schafer, Morphological Filters- Part I, Their Set-Theorectic Analysis and Relations to Linear Shift-Invariant Filters, IEEE Trans. Acoust., Speech, Signal Processing, ASSP-35(8), 1987, 1153–1169 .

[12] P. Maragos and R. W. Schafer, Morphological Filters- Part II, Their Relations to Median, Order-Statistic, and Stack Filters, IEEE Trans. Acoust., Speech, Signal Processing, ASSP-35(8), 1987, 1170–1184 .

[13] P. Maragos, Pattern spectrum and multiscale shape representation, IEEE Trans. Pattern Anal. Machine Intell., 11, 1989, 701–716.

[14] E. R. Dougherty, J. T. Newell, and J. B. Pelz, Morphological texturebased maximuml-likelihood pixel classification based on local granulometric moments, Pattern Recognition, 25, 1992, 1181–1198.

[15] F. Sand and E. R. Dougherty, Asymptotic granulometric mixing theorem, morphological estimation of sizing parameters and mixture

proportions, Pattern Recognition, 31, 1998, 53–61.

[16] F. Sand and E. R. Dougherty, Robustness of granulometric moments, Pattern Recognition, 32, 1999, 1657–1665.

[17] A. Asano, Y. Kobayashi, C. Muraki, and M. Muneyasu, Optimization of gray scale morphological opening for noise removal in texture images, Proc. 47th IEEE International Midwest Symposium on Circuits and Systems, 1, 2004, 313–316.

[18] A. Asano, T. Yamashita, and S. Yokozeki, Learning optimization of morphological filters with grayscale structuring elements, Optical Engineering, 35(8), 1986, 2203–2213.

[19] N. R. Harvey and S. Marshall, The use of genetic algorithms in morphological filter design, Signal Processing, Image Communication, 8, 1996, 55–71.

[20] N. S. T. Hirata, E. R. Dougherty, and J. Barrera, Iterative Design of Morphological Binary Image Operators, Optical Engineering, 39(12), 2000, 3106–3123.

[21] A. Asano, T. Ohkubo, M. Muneyasu, and T. Hinamoto, Primitive and Point Configuration texture model and primitive estimation using mathematical morphology, Proc. 13th Scandinavian Conf. on Image Analysis, G¨oteborg, Sweden; Springer LNCS 2749, 2003, 178–185.

Page 16: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

10

MOLECULAR DYNAMICS SIMULATION ON A METALLIC GLASS-SYSTEM: NON-ERGODICITY PARAMETER

Achmad Benny Mutiara

Dept. of Informatics Engineering, Faculty of Industrial Technology, Gunadarma University Jl.Margonda Raya No.100, Depok 16424, West-Java Indonesia

E-mail: [email protected]

ABSTRACT At the present paper we have computed non-

ergodicity paramater from Molecular Dynamics (MD) Simulation data after the mode-coupling theory (MCT) for a glass transition. MCT of dense liquids marks the dynamic glass-transition through a critical temperature Tc that is reflected in the temperature-dependence of various physical quantities.

Here, molecular dynamics simulations data of a model adapted to Ni0.2Zr0.8 are analyzed to deduce Tc from the temperature-dependence of corresponding quantities and to check the consistency of the statements. Analyzed is the diffusion coefficients. The resulting values agree well with the critical temperature of the non-vanisihing non-ergodicity parameter determined from the structure factors in the asymptoticsolution of the mode-coupling theory with memorykernels in “One-Loop” approximation.

Keywords: Glass Transition, Molecular Dynamics Simulation, MCT

1. INTRODUCTION

The transition from a liquid to an amorphous solid that sometimes occurs upon cooling remains one of the largely unresolved problems of statistical physics [1,2]. At the experimental level, the so-called glass transition is generally associated with a sharp increase in the characteristic relaxation times of the system, and a concomitant departure of laboratory measurements from equilibrium. At the theoretical level, it has been proposed that the transition from a liquid to a glassy state is triggered by an underlying thermodynamic (equilibrium) transition [3]; in that view, an “ideal” glass transition is believed to occur at the so-called Kauzmann temperature, TK. At TK, it is proposed that only one minimum-energy basin of attraction is accessible to the system. One of the first arguments of this type is due to Gibbs and diMarzio [4], but more recent studies using replica methods have yielded evidence in support of such a transition in Lennard-Jones glass formers [3,5,6]. These observations have been called into question by experimental data and recent results of simulations of polydisperse hard-core disks, which have failed to detect any evidence of a thermodynamic transition up to extremely high packing fractions [7]. Oneof the questions that arises is therefore whether the discrepancies between the reported simulated behavior

of hard-disk and soft-sphere systems is due to fundamental differences in the models, or whether they are a consequence of inappropriate sampling at low temperatures and high densities.

Different, alternative theoretical considerations have attempted to establish a connection between glass transition phenomena and the rapid increase in relaxation times that arises in the vicinity of a theoretical critical temperature (the so-called “mode-coupling” temperature, Tc), thereby giving rise to a “kinetic” or “dynamic” transition [8]. In recent years, both viewpoints have received some support from molecular simulations. Many of these simulations have been conducted in the context of models introduced by Stillinger andWeber and by Kob and Andersen [9]; such models have been employed in a number of studies that have helped shape our current views about the glass transition [5,10–14].

In the full MCT, the remainders of the transition and the value of Tc have to be evaluated, e.g., from the approach of the undercooled melt towards the idealized arrested state, either by analyzing the time and temperature dependence in the β-regime of the structural fluctuation dynamics [15–17] or by evaluating the temperature dependence of the so-called gm-parameter [18,19]. There are further posibilities to estimates Tc, e.g., from the temperature dependence of the diffusion coefficients or the relaxation time of the final α-decay in the melt, as these quantities for T > Tc display a critical behaviour |T − Tc|±γ. However, only crude estimates of Tc can be obtained from these quantities, since near Tc the critical behaviour is masked by the effects of transversale currents and thermally activated matter transport, as mentioned above.

On the other hand, as emphasized and applied in [20–22], the value of Tc predicted by the idealized MCT can be calculated once the partial structure factors of the system and their temperature dependence are sufficiently well known. Besides temperature and particle concentration, the partial structure factors are the only significant quantities which enter the equations of the so-called nonergodicity parameters of the system. The latter vanish identically for temperatures above Tc and their calculation thus allows a rather precise determination of the critical temperature predicted by the idealized theory.

At this stage it is tempting to consider how well the estimates of Tc from different approaches fit

Page 17: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Molecular Dynamics Simulation on A Metallic Glass-System: Non-Ergodicity Parameter – Achmad Benny Mutiara

ISSN 1858-1633 @2005 ICTS

11

together and whether the Tc estimate from the non-ergodicity parameters of the idealized MCT compares to the values from the full MCT. Regarding this, we here investigate a molecular dynamics (MD) simulation model adapted to the glass-forming Ni0.2Zr0.8 transition metal system. The NixZr1−x-system is well studied by experiments [23,24] and by MD-simulations [25–29], as it is a rather interesting system whose components are important constituents of a number of multi-component ’massive’ metallic glasses. In the present contribution we consider, in particular, the x = 0.2 compositions and concentrate on the determination of Tc from evaluating and analyzing the non-ergodicity parameter and the diffusion coefficients.

In the literature, similar comparison of Tc estimates already exist [20–22] for two systems. The studies come, however, to rather different conclusions. From Mdsimulations for a soft spheres model, Barrat et.al. [20] find an agreement between the different Tc estimates within about 15%. On the other hand, for a binary Lennard-Jones system, Nauroth and Kob [22] get from their MD simulations a significant deviation between the Tc estimates by about a factor of 2. Regarding this, the present investigation is aimed at clarifying the situation for at least one of the important metallic glass systems. Our paper is organized as follows: In Section II, we present the model and give some details of the computations.

Section III gives a brief discussion of some aspects of the mode coupling theory as used here. Results of our MD-simulations and their analysis are then presented and discussed in Section IV.

2. SIMULATIONS

The present simulations are carried out as state-of-theart isothermal-isobaric (N, T, p) calculations. The Newtonian equations of N = 648 atoms (130 Ni and 518 Zr) are numerically integrated by a fifth order predictorcorrector algorithm with time step ∆t = 2.5x10−15s in a cubic volume with periodic boundary conditions and variable box length L. With regard to the electron theoretical description of the interatomic potentials in transition metal alloys by Hausleitner and Hafner [30], we model the interatomic couplings as in [26] by a volume dependent electron-gas term Evol(V ) and pair potentials φ(r) adapted to the equilibrium distance, depth, width, and zero of the Hausleitner-Hafner potentials [30] for Ni0.2Zr0.8 [31]. For this model simulations were started through heating a starting configuration up to 2000 K which leads to a homogeneous liquid state. The system then is cooled continuously to various annealing temperatures with cooling rate −∂tT = 1.5x1012 K/s. Afterwards the obtained configurations at various annealing temperatures (here 1500-800 K) are relaxed by carrying out additional isothermal annealing run at the selected temperature. Finally the time evolution of

these relaxed configurations is modelled and analyzed. More details of the simulations are given in [31]. 3. THEORY

In this section we provide some basic formulae that permit calculation of Tc and the non-ergodicity parameters fij(q) for our system. A more detailed presentation may be found in Refs. [20–22,32,33]. The central object of the MCT are the partial intermediate scattering functions which are defined for a binary system by [34]

where

is a Fourier component of the microscopic density

of species i. The diagonal terms α = β are denoted as the incoherent intermediate scattering function

The normalized partial- and incoherent

intermediate scattering functions are given by

where the Sij(q) = Fij(q, t = 0) are the partial static

structure factors. The basic equations of the MCT are the set of nonlinear matrix integrodifferential equations given by

where F is the 2×2 matrix consisting of the partial

intermediate scattering functions Fij(q, t), and the frequency matrix Ω2 is given by

S(q) denotes the 2 × 2 matrix of the partial

structure factors Sij(q), xi = Ni/N and mi means the atomic mass of the species i. The MCT for the idealized glass transition predicts [8] that the memory kern M can be expressed at long times by

Page 18: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

12

where ρ = N/V is the particle density and the

vertex Viαβ(q, k) is given by

and the matrix of the direct correlation function is

de- fined by

The equation of motion for Fs i (q; t) has a similar

form as eq.(6), but the memory function for the incoherent intermediate scattering function is given by:

In order to characterize the long time behaviour of

the intermediate scattering function, the non-ergodicity parameters f (q) are introduced as

These parameters are the solution of eqs. (6)-(10) at long times. The meaning of these parameters is the following:

if fij(q) = 0, then the system is in a liquid state with density fluctuation correlations decaying at long times.

If fij(q) > 0, the system is in an arrested, nonergodic state, where density fluctuation correlations are stable for all times. In order to compute fij(q), one can use the following iterative procedure [22]:

where the matrix A(q), B(q),C(q), D(q), N(q) is

given by

This iterative procedure, indeed, has two type of solutions, nontrivial ones with f (q) > 0 and trivial solutions f (q) = 0. The incoherent non-ergodicity parameter fs i (q) can be evaluated by the following iterative procedure:

As indicated by eq.(20), computation of the

incoherent non-ergodicity parameter fs i (q) demands that the coherent non-ergodicity parameters are determined in advance. 4. RESULTS AND DISCUSSIONS

4.1 Partial structure factors and intermediate scattering functions

First we show the results of our simulations concerning the static properties of the system in terms of the partial structure factors Sij(q) and partial correlation functions gij(r). To compute the partial structure factors Sij(q) for a binary system we use the following definition [35]

where

are the partial pair correlation functions. The MD

simulations yield a periodic repetition of the atomic distributions with periodicity length L. Truncation of the Fourier integral in Eq.(21) leads to an oscillatory behavior of the partial structure factors at small q. In order to reduce the effects of this truncation, we compute from Eq.(22) the partial pair correlation functions for distance r up to Rc = 3=2L. For numerical evaluation of eq.(21), a Gaussian type damping term is included

Page 19: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Molecular Dynamics Simulation on A Metallic Glass-System: Non-Ergodicity Parameter – Achmad Benny Mutiara

ISSN 1858-1633 @2005 ICTS

13

FIG. 1. Partial structure factors at T = 1400 K, 1300 K, 1200 K,

1100 K, 1000 K, 900 K and 800 K (from top to bottom); a) Ni-Ni-part, the curves are vertically shifted by 0.05 relative to each other;

b) Ni-Zr-part, the curves are vertically shifted by 0.1 relative to each other; and c) Zr-Zr-part, the curves are vertically shifted by 0.5

relative to each other.

FIG. 2. Comparison between our MD-simulations and experimental results [23] of the total Faber-Ziman structure factor SFZ tot (q) and

the partial Faber-Ziman structur factors aij(q) for Ni0:2Zr0:8.

with R = Rc=3. Fig.1 shows the partial structure

factors Sij(q) versus q for all temperatures investigated. The figure indicates that the shape of Sij(q) depends weakly on temperature only and that, in particular, the positions of the first maximum and the first minimum in Sij(q) are more or less temperature independent. In order to compare our calculated structure factors with experimental ones, we have determined the Faber- Ziman partial structure factors aij(q) [37]

and the Faber-Ziman total structure factor SFZ tot

(q) [36]. For a binary system with coherent scattering length bi of species i the following relationship holds:

In the evaluation of aij(q), we applied the same

algorithm as for Sij(q). By using aij(q) and with aids of the experimental data of the average scattering

Page 20: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

14

length b one can compute the total structure factor. Here we take bi from the experimental data of Kuschke [23]. b for natural Ni is 1.03 (10¡12 cm) and for Zr 0.716 (10¡12 cm). Fig.2 compares the results of our simulations with the experimental results by Kuschke [23] for the same alloy system at 1000 K. There is a good agreement between the experimental and the simulations results which demonstrates that our model is able to reproduce the steric relations of the considered system and the chemical order, as far is visible in the partial structure factors.

4.2 Non-ergodicity parameters The non-ergodicity parameters are defined over

Eq.(13) as a non-vanishing asymptotic solution of the MCT-eq.(6). Phenomenologically, they can be estimated by creating a master curve from the intermediate scattering functions with fixed scattering vector q at different temperatures. The master curves are obtained by plotting the scattering functions ©(q; t) as function of the normalized time t=¿®. Fig. 3 presents the estimated q-dependent nonergodicity parameters from the coherent scattering functions of Ni and Zr, Fig. 4 those from the incoherent scattering functions. In Fig. 3 and 4 are also included the deduced Kohlrausch-Williams-Watts amplitudes A(q) from the master curves and from the intermediate scattering functions at T=1100 K. (The further fit-parameters can be found in [31].) In order to compute the non-ergodicity parameters fij(q) analytically, we followed for our binary system the self-consistent method as formulated by Nauroth and Kob [22] and as sketched in Section III.A. Input data for our iterative determination of fij(q) = Fij(q;1) are the temperature dependent partial structure factors Sij(q) from the previous subsection. The iteration is started by arbitrarily setting FNi¡Ni(q;1)(0) = 0:5SNi¡Ni(q), FZr¡Zr(q;1)(0) = 0:5SZr¡Zr(q), FNi¡Zr(q;1)(0) = 0.

FIG. 3. Non-ergodicity parameter fcij for the coherent intermediate

scattering functions as solutions of eqs. (7) and (8)(solid line), KWW-parameter A(q) of the master curves (diamond), Von

Schweidler-parameter fc(q) of the master curves (square), and KWW-parameter A(q) for ©ij(q) at 1100 K (triangle up); a) Ni-Ni-

part and b) Zr-Zr-part.

Page 21: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Molecular Dynamics Simulation on A Metallic Glass-System: Non-Ergodicity Parameter – Achmad Benny Mutiara

ISSN 1858-1633 @2005 ICTS

15

FIG. 4. The same as fig.3 but for the incoherent intermediate

scattering function; a) Ni-part and b) Zr-part.

For T > 1200 K we always obtain the trivial solution fij(q) = 0 while at T = 1100 K and below we get stable non-vanishing fij(q) > 0. The stability of the non-vanishing solutions was tested for more than 3000 iteration steps. From this results we expect that Tc for our system lies between 1100 and 1200 K. To estimate Tc more precisely, we interpolated Sij(q) from our MD data for temperatures between 1100 and 1200 K by use of the algorithm of Press et.al. [39]. We observe that at T = 1102 K a non-trivial solution of fij(q) can be found, but not at T = 1105 K and above. It means that the critical temperature Tc for our system is around 1102 K. The non-trivial solutions fij(q) for this temperature shall be denoted the critical non-ergodicity parameters fcij(q). They are included in Fig. 3. As can be seen from Fig. 3, the absolute values and the q-dependence of the calculated fcij(q) agree rather well with the estimates from the scattering functions master curve and, in particular, with the deduced Kohlrausch-Williams-Watts amplitudes A(q) at 1100 K. By use of the critical non-ergodicity parameters fcij(q), the computational procedure was run to determine the critical non-ergodicity parameters fs

ci(q) for the incoherent scattering functions at T =

1102 K . Fig. 4 presents our results for so calculated fs

ci(q). Like Fig. 3 for the coherent non-ergodicity parameters, Fig. 4 demonstrates for the fs ci(q) that they agree well with the estimates from the incoherent scattering functions master curve and, in particular, with the deduced Kohlrausch-Williams-Watts amplitudes A(q) at 1100 K.

4.3 Diffusion-coeffient From the simulated atomic motions in the

computer experiments, the diffusion coefficients of the Ni and Zr species can be determined as the slope of the atomic mean square displacements in the asymptotic long-time limit

FIG. 5. Diffusion coefficients Di as a function of 1000=T . Symbols are MD results for Ni (square) and Zr (diamond); the full line are a

power-law approximation for Ni and for Zr. resp..

Fig. 5 shows the thus calculated diffusion coefficients of our Ni0:2Zr0:8 model for the temperature range between 800 and 2000 K. At temperatures above approximately 1250 K, the diffusion coefficients for both species run parallel with temperature in the Arrhenius plot, indicating a fixed ratio DNi=DZr ¼ 2:5 in this temperature regime. At lower temperatures, the Zr atoms have a lower mobility than the Ni atoms, yielding around 900 K a value of about 10 for DNi=DZr. That means, here the Ni atoms carry out a rather rapid motion within a relative immobile Zr matrix. According to the MCT, above Tc the diffusion coeffi- cients follow a critical power law

with non-universal exponent ° [9,38]. In order to

estimate Tc from this relationship, we have adapted the critical power law by a least mean squares fit to the

Page 22: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

16

simulated diffusion data for 1050 K and above. The results of the fit are included in Fig. 5 by dashed lines. According to this fit, the system has a critical temperature of 950 K. The parameters ° turn out as 1.8 for the Ni subsystem and 2.0 for the Zr system. 5. CONCLUSION

The results of our MD-simulations show that our system behave so as predicted by MCT in the sense that the diffusion coefficients follow the critical power law. After analizing this coefficient we found that the system has critical temperature of 950 K. diffusion-processes. Our analysis of the ergodic region ( T > Tc

) and of the non-ergodic region ( T < Tc ) lead to Tc- estimations which agree each other within 10 %. These Tc-estimations are also in acceptable compliance with the Tc-estimation from the dynamic phenomenons. Within the scope of the precision of our analysis, the critical temperatur Tc of our system is about 1000 K. REFERENCES [1] W. G¨otze and M. Sperl, J. Phys.: Condens.

Matter 16, 4807 (2004); W. G¨otze and M. Sperl, Phys.Rev.Lett. 92, 105701 (2004)

[2] P. G. Debenedetti and F.H. Stillinger, Nature 410(6825), 259 (2001).

[3] M. Mezard and G. Parisi, Phys.Rev.Lett. 82(4), 747 (1999).

[4] J.H. Gibbs and E. A. DiMarzio, J.Chem.Phys. 28(3), 373 (1958).

[5] B.Colluzi, G.Parisi, and P.Verrochio, Phys.Rev.Lett.84(2), 306(2000).

[6] T. S. Grigera and G. Parisi, Phys. Rev. E 63, 045102(R) (2001).

[7] L. Santen and W. Krauth, Nature 405(6786), 550 (2000).

[8] W. G¨otze and L. Sj¨ogren, Rep. Prog. Phys. 55(3), 241 (1992)

[9] W. Kob und H.C. Andersen, Phys. Rev. E 51(5), 4626 (1995).

[10] S. Sastry, P. G. Debendetti and F. H. Stillinger, Nature 393(6685), 554 (1998).

[11] F. Sciortino, W. Kob, and P. Tartaglia, Phys. Rev. Lett. 83(16), 3214 (1999).

[12] C. Donati, S. C. Glotzer, P. H. Poole, W. Kob, and S. J. Plimpton, Phys.Rev. E 60(3), 3107 (1999)

[13] B. Colluzi, G. Parisi, and P. Verrochio, Phys. Rev. Lett. 112(6), 2933 (2000).

[14] R. Yamamoto and W. Kob, Phys.Rev. E 61(5), 5473 (2000)

[15] T. Gleim and W. Kob, Eur. Phys. J. B 13, 83 (2000).

[16] A. Meyer, R. Busch, and H. Schober, Phys. Rev. Lett. 83, 5027 (1999); A. Meyer, J. Wuttke, W. Petry, O.G. Randl, and H. Schober, Phys. Rev. Lett. 80, 4454 (1998).

[17] H.Z. Cummins, J. Phys.Cond.Mat. 11, A95 (1999).

[18] H. Teichler, Phys. Rev. Lett. 76, 62(1996). [19] H. Teichler, Phys. Rev. E 53, 4287 (1996). [20] J.L. Barrat und A. Latz, J. Phys. Cond. Matt. 2,

4289 (1990). [21] M. Fuchs, Thesis, TU-Muenchen (1993); M.

Fuchs und A. Latz, Physica A 201, 1 (1993). [22] M. Nauroth and W. Kob, Phys. Rev. E 55, 657

(1997). [23] M. Kuschke, Thesis, Universit¨at Stuttgart

(1991). [24] Yan Yu, W.B. Muir und Z. Altounian, Phys.

Rev. B 50, 9098 (1994). [25] B. B¨oddekker, Thesis, Universit¨at G¨ottingen

(1999); B¨oddekker and H. Teichler, Phys. Rev. E 59, 1948 (1999)

[26] H. Teichler, phys. stat. sol. (b) 172, 325 (1992) [27] H. Teichler, in: Defect and Diffusion Forum

143-147, 717 (1997) [28] H. Teichler, in: Simulationstechniken in der

Materialwissenschaft, edited by P. Klimanek and M. Seefeldt (TU Bergakadamie, Freiberg, 1999).

[29] H. Teichler, Phys. Rev. B 59, 8473 (1999). [30] Ch. Hausleitner and Hafner, Phys. Rev. B 45,

128 (1992). [31] A.B. Mutiara, Thesis, Universit¨at G¨ottingen

(2000). [32] W. G¨otze, Z. Phys. B 60, 195 (1985). [33] J. Bosse und J.S. Thakur, Phys. Rev. Lett. 59,

998(1987). [34] B. Bernu, J.-P. Hansen, G. Pastore, and Y.

Hiwatari, Phys. Rev A 36, 4891 (1987); ibid. 38, 454 (1988).

[35] J.P. Hansen and I.R. McDonald, Theory of Simple Liquids, 2nd Ed. ( Academic Press, London, 1986).

[36] T.E. Faber und J.M. Ziman, Phil. Mag. 11, 153 (1965).

[37] Y. Waseda, The Structure of Non-Crystalline Materials, (McGraw-Hill, New York, 1980).

[38] J.-P. Hansen and S. Yip, Transp. Theory Stat. Phys. 24, 1149 (1995).

[39] W.H. Press, B.P. Flannery, S.A. Teukolsky und W.T. Vetterling, Numerical Recipes, 2nd.Edition (University Press, Cambrigde, New York, 1992)

Page 23: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

17

TOMOGRAPHIC IMAGING USING INFRA RED SENSORS

Sallehuddin Ibrahim & Md. Amri Md. Yunus Department of Control and Instrumentation Engineering

Faculty of Electrical Engineering, Universiti Teknologi Malaysia 81310 UTM Skudai, Johor, Malaysia

[email protected]

ABSTRAK This paper is concerned with the development of

a tomographic imaging system in order to measure a two-phase flow involving solid particles flowing in air. The general principle underlying a tomography system is to attach a number of non-intrusive transducers in plane formation to the vessel to be investigated and recover from those sensors an image of the corresponding cross section through the vessel. The method made use of infra red sensors. The sensors were configured as a combination of two orthogonal and two rectilinear light projection system. It has the ability to accurately visualize concentration profiles in a pipeline. The imaging is carried out on-line without invading the fluids. The system used a combination of two orthogonal and two rectilinear infra-red projections. The sensors were installed around a vertical transparent flow pipe. Several results are presented in this paper showing the capability of the system to visualize the concentration profiles of solids flowing in air. Keywords: Infra red, imaging, tomography, sensor. 1. INTRODUCTION

Flow imaging is gaining importance in process industries. As such suitable systems must be developed for this purpose. Flow measurements belong to the most difficult ones because the medium being measured can occur in various physical states, which complicate the measuring procedure. They are, namely, temperature, density, viscosity, pressure, multi-component media (liquid-gas, solid-gas), the type of flow, etc. The choice of the method is further directed by specific requirements for the flowmeter, e.g. the measuring range, minimum loss of pressure, the shortest possible recovery section, a sensor without moving parts, continuous operation of the sensor, etc.

Tomography methods have been developed rapidly for visualizing two-phase flow of various industrial processes, e.g. gas/oil flows in oil pipelines [1], gas/solid flows in pneumatic conveyors [2], and separation/mixing processes in chemical vessels [3]. Infra red tomography involves the measurement of light attenuation detected by various infra red sensors installed around a flow pipe, and the reconstruction of cross-sectional images using the measured data and a suitable algorithm.

Tomography began to be considered seriously as it can be used to directly analyze the internal characteristics of process flow so that resources will be utilized in a more efficient manner and in order to meet the demand and regulations for product quality. The use of tomography to analyze the flow regime began in the late 1980s. Besides, concern about environmental pollution enhanced the need to find alternative methods of reducing industrial emission and waste. In those applications, the system must be robust and does not disturb the flow in pipelines. It should be able to operate in aggressive and fast moving fluids. This is where tomography can play an important role as it can unravel the complexities of flow without invading it.

Tomography can be combined with the characteristics of infra red sensors to explore the internal characteristics of a process flow. Infra red tomography is conceptually straightforward and inexpensive. It has a dynamic response and can be more portable compared to other types of radiation-based tomography system. The image reconstruction by an infra red tomography system should be directly associated to visual images observed in transparent sections of the pipelines. It has other advantages such as negligible response time relative to process variations, high resolution, and immunity to electrical noise and interference. This paper will explain how such a system can be designed and constructed to measure the distribution of solids in air flowing in a pipeline. 2. IMAGE RECONSTRUCTION

The projection of infra red beam from the emitter towards the detector can be illustrated mathematically in Figure 1. The coordinate system can be utilized to describe line integrals and projections. The object of interest is represented by a two-dimensional function f(x,y) and each line integral is represented by the (Ø, x’) parameters. Line AB can be expressed as

'sincos xyx =+ φφ (1) where

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎡yx

yx

φφφφ

cossinsincos

''

(2) which resulted in the following line integral

Page 24: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

18

∫=

linex

dxyxfxp)',(

),()'(φ

φ (3)

Using a delta function, this can be rewritten as

(4) where N = total number of horizontal cells/pixel M = total number of vertical cells/pixel The algorithm for reconstruction is performed by

approximating the density at a point by summing all the ray sum of the ray through the point. This has been termed the discrete back projection method and can be formulated mathematically as

(5) (5)

Figure 1. Infra red path from emitter to detector

3. SYSTEM DESIGN The measurement system composed of four

subsystems: (1) sensor, (2) signal conditioning, (3) data acquisition system, and (4) image reconstruction and display.

Figure 2 depicts the measurement section around the flow pipe which contains 64 pairs of infra red sensors configured in a combination of orthogonal and rectilinear projection. A similar number of sensors are installed downstream. The output of the downstream sensors should be a replica of the output from the upstream sensors but experienced a time delay. Both signals can be cross-correlated to obtain the velocity

of the flow. The flow pipe has an external diameter of 80 mm and an internal diameter of 78mm. Since the infra red sensors are the critical part, the selection of infra red transmitters and receivers are considered carefully. The sensors should be arranged such that they cover the whole pipe. In tomography, the more number of sensors used means higher resolution is achieved. Another set of sensors were constructed 100mm downstream to measure velocity using the cross-correlation method. The sensors used must be of high performance, compact, require minimum maintenance or calibration and be intrinsically safe. For this purpose, the emitter SFH 4510 and detector SFH 2500 was chosen due to its low cost and fast switching time.

The infra red emitters and detectors are arranged in pairs. They are linked to the measurement section through optical fibers. Each receiver circuit consists of a photodiode, pre-amplification, amplification and a filter. The receiver circuits are connected to a data acquisition card manufactured by Keithley. The card is of the type DAS-1800. Light generated by the emitters passed to flow pipe and is attenuated if it hits an object. The light reaches the receiver and is then converted by a photodiode into current by the receiving circuit. The signal is processed by a signal conditioning circuit. Data then entered the data acquisition system and is converted into a digital form prior to entering the computer. A linear back projection algorithm was developed which processed the digitized signal and displayed the concentration profile of the solids flowing in air. The algorithm is programmed in the Visual C++ language which is a powerful tool for such purpose.

Figure 2. Tomographic measurement section

The solid particles consisting of plastic beads were dropped onto a gravity flow rig shown in Figure 3. The rig costing about RM100,000 was supplied by Optosensor. The beads were filled into a hopper and a rotary valve controls the amount of beads flowing into the rig. Thus user can set various flow rates. The measurement section was installed around the flow rig.

∑ ∑−

=

=

∆⎥⎦

⎤⎢⎣

⎡∆+∂=

1

0

1

0

)sincos(),()'(M

M

N

N

yxyxyxfxp φφφ

y’X’

x

y

A

x’

B

)'( 1xpφ

),( yxf°φ

Projections

φφφφ ∆⎥⎦

⎤⎢⎣

⎡∆−+∂= ∑ ∑

=

=

1

0

1

0

')'sincos()',(1),(ˆM

m

N

n

xxyxxpM

yxf

Page 25: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Tomographic Imaging Using Infra Red Sensors – Sallehuddin Ibrahim & Md. Amri Md. Yunus

ISSN 1858-1633 @2005 ICTS

19

Figure 3. Gravity fvlow rig

Figure 4. The regression line of sensors output versus measured mass flow rates

Figure 5(a). Concentration profile at a flow rate of 27 g/s

Figure 5(b). Concentration profile at a flow rate of 49 g/s

Figure 5(c). Concentration profile at a flow rate of 71 g/s

4. RESULT

Various experiments were carried out using various algorithms and at various flow rates. The regression graph is shown in Figure 4. The concentration profiles at various flow rates are shown in Figures 5(a) to 5(c).

Figure 4 shows that the output from upstream sensors have similar values to that of the downstream sensors and the sensors output is proportional to the mass flow rates. Figures 5(a) to 5(c) show that the infra red tomographic system is able to locate the position of the beads inside the flow pipe. At higher flow rates, the flow rig released more plastic beads that at lower flow rates. As such more pixels are occupied in Figures 5(b) and 5(c) compared to Figure 5(a).

5. CONCLUSION

A tomographic imaging system using infra red sensors has been designed. The system is capable of producing tomographic images for two-phase flow. The spatial resolution and measurement accuracy can be enhanced by adding more sensors. However, there must be a compromise between the spatial resolution, accuracy and real-time capability of the system. The system has the potential of being applied in various process industries. REFERENCES [1] S. Ibrahim and M. A. Md. Yunus ,

Preliminary Result for Infrared Tomography, Elektrika., 6 (1), 2004, 1 – 4.

[2] S. McKee, T. Dyakowski, R.A. Williams, T.A. Bell and T. Allen,Solids flow imaging and attrition studies in a pneumatic conveyor, Powder Technology, 82, 1995, 105 – 113.

[3] F. Dickin, Electrical resistance tomography for process applications, Meas. Sci. Technol., 7(3), 1996, 247-260.

Pipeline

Tank

Hopper

Page 26: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

20

MAMMOGRAPHIC DENSITY CLASSIFICATION USING MULTIRESOLUTION HISTOGRAM TECHNIQUE

Izzati Muhimmah1, Erika R.E. Denton2, Reyer Zwiggelaar3 1Jurusan Teknik Informatika, FTI, Universitas Islam Indonesia, Yogyakarta 55584, Indonesia,

2Department of Breast Imaging, Norwich and Norfolk University Hospital, Norwich NR2 7UY, UK, 3Department of Computer Science, University of Wales Aberystwyth, Aberystwyth SY23 1LB, UK

ABSTRACT

Mammographic density is known to be an important indicator of breast cancer risk. Some quantitative estimation approaches have been developed and among of them based on histogram measurement. We implemented multi-resolution histogram technique to classify density of mammographic images. The results showed an agreement of 38,33% (78:33% when minor classification was allowed) compare to an expert radiologist rating using SCC given in EPIC database. This agreement is lower than the existing methods, and some limitations are discussed. Keywords : density classification, mammographic, breast cancer, medical imaging, multi-resolution histogram 1. INTRODUCTION

Mammographic images are 2D projections of the x-ray attenuation properties of the 3D breast tissues along the path of the x-rays. The connective and epitheal tissues attenuate harder than fatty tissues, which would 'burn' more silver grains on mammograpic films. This phenomenon can be interpreted that brighter area on the mammograms films represents glandular tissues, whereas the dark area represent fatty tissues.

Mammographic parenchymal patterns provide a strong indicator of the risk of developing breast cancer. The first attempt to relate them was introduced by Wolfe[11]. This method subdivides breast parenchymal pattern into four classes, which are N1, P1, P2, and DY. The classification solely based on visual assessment whether or not there are prominent duct patterns and their severities as seen by mammography, in other word, this approach gives considerable heterogeneity in risk estimates reported.

The study of Boyd et. al [1] gives an alternative approach to estimate breast cancer risk for given mammograms. It is based on proportion of breast occupied by densities (i.e, relative areas) to subdivide mammogram into six class categories (SCC), which the highest class indicates the highest risk, see Figure 1. This classification method can be seen as a quantitative approach to estimate breast cancer risk, so as can be implemented for computer-assisted methods. As be mentioned earlier, mammographic densities

correlates with brighter appearance on mammograms. In image analysis point of view, it can be seen as correspondence between mammographic densities and image intensities. Many studies have been done on (semi-) automatic breast density segmentation and/or classification, for example: Byng et al. proposed an interactive threshold technique [2]. Karssemeijer proposed to use the skewness, rather than the standard deviation, of histograms of local breast areas [6]. Sivaramakhrisna et al. introduced variation images to enhance the contrast between dense and fatty area, and subsequently Kittler's optimal threshold was used to segment the densities [9]. Zhou et al. suggested an adaptive dynamic range compression technique [12]. Masek et.al presented results based on the comparison of four histogram distance measures [7]. In general, the described histogram based approaches for automatic density estimation produce robust and reliable results.

(a) (b) (c) (d) (e) (f)

Figure 1. Example mammograms, where the SCC classification is (a) 0%, (b) 0-10%, (c) 11-25%, (d) 26-50%, (e) 51-75%, and (f)

>75%.

Histogram is a simple representation of an image. Moreover, the study by Zhou et al. [12] showed that there were some typical histogram patterns for each density class. Yet, due to statistical nature but not spatial related feature of histogram, they also pointed out that there are similar histograms that represent

Page 27: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Mammographic Density Classification Using Multiresolution Histogram Technique – Izzati Muhimmah, Erika R.E. Denton, Reyer Zwiggelaar

ISSN 1858-1633 @2005 ICTS

21

different risks. On the other hand, a recently published paper by Hadjidemetriou et al. showed that different generic texture images with similar histograms can be discriminated by a multi-resolution approach [5]. Based on these findings, our aim was to investigate whether it is possible to automatically classify mammographic density using a multi-resolution histogram technique.

The remainder of this paper is outlined as follows: the proposed multi-resolution histogram features are described in Section 2. Data to validate this methodology are explained in Section 3 and its statistical analysis method is described in Section 4. Section 5 gives results of the proposed method and discussion on our findings. Finally, conclusions appear in Section 6.

2. MULTI-RESOLUTION HISTOGRAM TECHNIQUE

The main aim is to obtain feature vectors which can be used to discriminate between the various mammographic density classes. A feature vector representing a mammogram is derived from a set of histograms h0, h1, h2, h3, see Figure 2(b). h0 is obtained from the original mammogram, and histograms h1, h2 and h3 are obtained after Gaussian Filtering the mammogram by 5x5 kernels and scaling in three stages. For all four histograms only grey level information from the breast area (ignoring the pectoral muscle and background areas) is used and the histograms are normalized with respect to this area. For increasing scales this shows the general shift to lower grey-level values and the narrowing of the peaks in the histogram data. It should be noted that these histograms deviate significantly from those described by Hadjidemetriou et al. [5] which start with delta function peaks which broaden on smoothing.

Subsequently, the set of histograms are transformed into a set of cumulative histograms c0, c1, c2, c3, see Figure 2(c). The feature vector for each mammogram is constructed from the difference between subsequent cumulative histograms: c0 – c1, c1 - c2, c2- c3. See Fig. 2(d) for an example. Between scales this shows a shift to lower grey-level values, but the overall shape of the data remains more or less constant. The dimensionality of the resulting feature space is equal to 768.

(a)

(b)

(c)

(d)

Figure 2. Illustration of features selection process: (a) Example of ROI (m29592L), (b) Histograms of (a) and its consecutive multi-

resolution images, (c) Cumulative histogram of (b), and (d) Difference of consecutive cumulative histogram (c) form the

classification features

3. DATA

The above technique was evaluated on the dataset comprised sixty post 1998 mammograms from the UK NHS breast screening programme (EPIC database), randomly selected representing the Boyd's SCC [1] as classified by an expert radiologist. All mammograms are Fuji UMMA film/screen combinations, medio-lateral views, and digitized using mobile-phone-CCD scanner with 8 bit per pixel accuracy. The breast areas are segmented using threshold and morphological operations, see Figure 2 (a) for an example. It should be noted that these images are pair mammograms (L/R) from thirty patients. 4. VALIDATION STRATEGY

For classification, an automatic method is built based on the feature vectors in combination with a k-nearest neighbor approach. Here we have used three neighbors, an Euclidean distance (in [5] a L1 norm was used) and Bayesian probability. However, it is known that mammographic intensities vary with exposure levels and film characteristics [3, 4]. And, an imaging session, a woman likely had the mammogram

Page 28: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

22

captured using similar films and/or exposure levels. Hence, to minimize bias, we used a leave-one-woman-out strategy in training. The result is shown in a form of confusion matrices.

5. RESULTS AND DISCUSSION

The result is presented in a confusion matrix as in Table 1. The results showed an agreement of 38.33% in comparison with expert assessment and 78.33% when minor classifications deviation is allowed. The low rate of agreement is below the reported state of the art, which comes partially as a surprise as some of the state of the art work relies on information extracted from single histograms.

Table 1. Comparison between automatic, histogram based, and

expert classification. Within the tables the proportion of dense tissue is represented as 1: 0%, 2: 0-10%, 3: 11-25%, 4: 26-50%, 5: 51-

75%, and 6: 76-100%.

Instead of taking all six classes into account, for mammographic risk assessment it might be more appropriate to just take high and low density estimation classes into consideration, which means that the lower and higher three SCC classes are grouped together. Using such an approach the developed techniques shows an agreement of 80% with the expert assessment.

We had applied this methodology into MIAS database [10], and an agreement of 55.17% for SCC and 61.56% for triple MIAS categories were achieved [8]. The latest was similar to those reported by Masek et al. [7], i.e 62.42% when using an Euclidean distance. Their method is based on direct distance measures of average histogram of original images for each density class. It should be noted that we used less data for training due to leave-one-woman-out strategy. Moreover, this is inline with our own single histogram (h0) results, which were 61,99% for triple MIAS classification and 57,14% for SCC based classification. These results might indicate there is little benefit in using the multi-resolution histogram approach.

It should be noted that our methodology slightly deviated from Hadjidemetriou et al [5]. Their implementation of the multi-scale approach includes a subsampling step which makes a second normalization essential. In our case, we only using smoothing stage of the multi-scale approach without the subsampling. As such the second normalization step is not used.

Despite that multi-resolution histogram technique is claimed to be robust to match either synthetic, Brodatz, or CUReT textures [5], our results could not confirm its application in mammographic density classification. We would like to investigate whether this is caused by nature of the mammographic texture patterns and/or imaging system effects. Thus, additional pre-processing to enhance the contrast between fatty and dense tissue, or to incorporate the X-ray imaging protocol information, are areas of future research.

6. CONCLUSION

We have presented an approach to mammographic density classification, which uses multi-resolution histogram information. It was shown that the approach was insufficient when compared to the gold standard provided by an expert radiologist, but when minor classifications errors are allowed it provides a performance of 78.33%. Future work will include texture information.

ACKNOWLEDGMENT

We gratefully acknowledge Dr. Lilian Blot of School of Computing, University of East Anglia, UK for automatic detection of breast boundary tools. REFERENCE [1] NF Boyd, JW Byng, RA Jong, EK Fishell, LE

Little, AB Miller, GA Lockwood, DL Tritchler, and Martin J. Yaffe. Quantitative classification of mammographic densities and breast cancer risk: results from the Canadian national breast screening study. Journal of the National Cancer Institute, 87(9):670.675, May 1995.

[2] JW Byng, NF Boyd, E Fishell, RA Jong, and Martin J. Yaffe. The quantitative analysis of mammographic densities. Physics in Medicine and Biology, 39:1629.1638, 1994.

[3] FUJIFILM. The fundamentals of medical radiography. In FUJIFILM Technical Handbook: Medical X-ray System. Fuji Photo Film Co., Ltd, 2003.

[4] FUJIFILM. Fundamentals of sensitized materials for radiography. In FUJIFILM Technical Handbook: Medical X-ray System. Fuji Photo Film Co., Ltd, 2003.

[5] Efstathios Hadjidemetriou, Michael D. Grossberg, and Shree K. Nayar. Multiresolution histograms and their use for recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(7):831-847, July 2004.

[6] Nico Karssemeijer. Automated classification of parenchymal patterns in mammograms.

Page 29: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Mammographic Density Classification Using Multiresolution Histogram Technique – Izzati Muhimmah, Erika R.E. Denton, Reyer Zwiggelaar

ISSN 1858-1633 @2005 ICTS

23

Physics in Medicine and Biology, 43:365-378, 1998.

[7] M Masek, SM Kwok, CJS deSilva, and Y

Attikiouzel. Classification of mammographic density using histogram distance measures. CD-ROM Proceedings of the World Congress on Medical Physics and Biomedical Engineering, page 1, August 2003.

[8] Izzati Muhimmah, Erika R.E Denton, and Reyer Zwiggelaar. Histograms in breast density classification: Are 4 better than 1? Seminar Nasional Aplikasi Teknologi Informasi 2005, pages D13-D15, June 2005.

[9] Radhika Sivaramakhrishna, N. A. Obuchowski, W. A. Chilcote, and K. A. Powell. Automatic segmentation of mammographic density. Academic Radiology, 8(3):250-256, March 2001.

[10] J Suckling, J Parker, D Dance, S Astley, I Hutt, C Boggis, I Ricketts, E Stamatakis, N Cerneaz, S Kok, P Taylor, D Betal, and J Savage. The mammographic images analysis society digital mammogram database. Exerpta Medica. International Congress Series, 1069:375-378, 1994.

[11] John N. Wolfe. Risk for breast cancer development determined by mammographic parenchymal pattern. Cancer, 37:2486-2492, 1976.

[12] Chuan Zhou, Heang-Ping Chan, Nicholas Petrick, Mark A. Helvie, Mitchell M. Goodsitt, Berkman Sahiner, and Lubomir M Hadjiiski. Computerized image analysis: Estimation of breast density on mammograms. Med Phys, 28(6):1056-1069, June 2001.

Page 30: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

24

ANN SOFT SENSOR TO PREDICT QUALITY OF PRODUCT BASED ON TEMPERATURE OR FLOW RATE CORRELATION

Totok R. Biyanto

Engineering Physic Dept. - FTI – ITS Surabaya Kampus ITS Keputih, Sukolilo, Surabaya 60111

Tell: 62 31 5947188 Fax: 62 31 5923626 Email: [email protected]

ABSTRACT

Analizer has slow respon performance, lack of reliability, and expensive, then inferensial measurement by using temperature measurement, reflux flow rate and reboiler steam flow rate are usualy the best way to predict it. This paper will describe Artificial Neural Network (ANN) soft sensor capability to predict mole fraction Distillate (Xd) and mole fraction bottom product (Xb) at binary distillation column.

Inferensial measurement could built by using reflux flowrate and reboiler steam flowrate at LV structure, by using smart positioner feedback signal, or by measuring tray temperature.

Soft sensor which using tray temperature correlation or flow rate correlation have good Root Mean Square Error (RMSE). So, the conclusion is application of ANN soft sensor can build using temperature or flow rate correlation, depend on control strategy or sensor availability.

Key-words: ANN soft sensor, composition prediction, temperature and flow rate. 1. INTRODUCTION

ANN soft sensor was developed for a batch

distillation column, in order to estimate product compositions using available temperature measurements [10], and a non linear soft sensor was developed using temperature top tray correlation for ternary batch distillation column using Hysys plant and Matlab [9]. The others researches are using some flow rate and fuel gas burner pressure to predict oxygen content at stack of boiler [3].

Composition measurement and control at binary distillation column often use inferential measurement and control, because analizer has slow respon performance, lack of reliability, and expensive. [4,10]

Mole fraction distillate and bottom product could predicted by using correlation between temperature and mole fraction at certain trays. Inferential composition measurement by using temperature correlation usually use single or multi thermocouple at certain place.

Another way to predict mole fraction distillate is using reflux flow rate and to predict mole fraction bottom product is using stream flow rate at reboiler.[1]

Relation between temperature and mole fraction are non liner and influenced by pressure of distillation column, mole fraction feed, flow feed, flow steam of re-boiler, condenser level, etc. So, soft sensor must have capability to predict composition product without influenced by the others, non linier, easy to build, and no need special instrumentations.

This paper will shown that ANN with the same MLP structure, 6 history lengths, 13 hidden nodes and trained for 200 times computer iteration, applied to predict mole fraction composition distillate and bottom product at methanol-water binary distillation column by using temperature or flow rate correlation. 2. DISTILATION COLUMN AND ARTIFICIAL NEURAL NETWORK

A single feed stream is feed as saturated liquid onto the feed tray NF. Feed flow rate is F (mole/hour) and composition XF (mole fraction more volatile component). The overhead vapor totally condensed in a condenser and flows into the reflux drum, whose holdup of liquid is MD (moles). The content of the drum is at its bubble point. Reflux is pumped back to the top tray (NT) of column at a rate L. Overhead distillate product is removed at a rate D. (Figure 1)

Fig. 1. Binary Distillation Column

Page 31: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Ann Soft Sensor to Predict Quality of Product Based on Temperature or Flow Rate Correlation – Totok R. Biyanto

ISSN 1858-1633 @2005 ICTS

25

At the base of the column, liquid bottoms product is removed at a rate B and with composition XB. Vapor boil up is generated in thermosiphon reboiler at rate V. Liquid circulates from the bottom of the column through the tubes in the vertical tube-in shell reboiler because of the smaller density of the vapor liquid mixture in the reboiler tubes. We will assume that the liquids in the reboiler and in the base of the column are perfectly mixed together and have the same composition XB and total holdup MB (moles). The composition of the vapor leaving the base of the column and entering tray 1st is yB. It is equilibrium with the liquid with composition XB.

The column contains a total of NT theoretical trays.

The liquid hold up on each tray including the downcomer is MN. The liquid on each tray is assumed to be perfectly mixed with composition XN. [3]

2.1 Rigorous Modeling of Distillation Column Condensor and reflux drum

Mass balance:

DLVdt

dMNTNT

D −−= +1 ……………….(1)

Component mass balance:

DNTNTNTDD xDLyV

dtxMd

)()(

1 +−= + ….(2)

Energy balance:

DNTNTNTNTDD QDhHLHV

dthMd

+−−= ++ 11)( ...(3)

Reboiler and base column

Mass balance:

BVLdt

dMRB

n −−= 1 ……………………(4)

Component mass balance:

bBRBBB BxyVxL

dtxMd

−−= 11)(

…….(5)

Energy balance:

bbBRBBB QBhHVhL

dthMd

+−−= 11)( ..........(6)

Feed tray (n = NF) Mass balance:

NFNFNFNFNF VVFLL

dtdM

−++−= −+ 11 ..(7)

Component mass balance:

zNFNFNFNFNFNFNFNFNFNF FyVyVxLxL

dtxMd

+−+−= −−++ 1111)( .(8)

Energy balance:

FNFNFNFNFNFNFNFNFNFNF FhHVHVhLhL

dthMd

+−+−= −−++ 1111)( .(9)

Nth tray

Mass balance:

BVLdt

dMRB

n −−= 1 ….…..…………….(10)

Component mass balance:

nnnnnnnnnn yVyVxLxL

dtxMd

−+−= −−++ 1111)( .(11)

Energy balance:

nnnnnnnnnn HVHVhLhL

dthMd

−+−= −−++ 1111)( .(12)

2.2 Artificial Neural Network There are many reasons to apply artificial neural

network as followed : • Self-learning ability • Non-linear mapping • Massively parallel distributed processing

Fig. 2. Neuron

Levenberg Marquard Learning Algorithm

Levenberg Marquardt algorithm can be described as followed : [6] 1. Choose initial weight vector w(0) and initial value

of λ(0). Whereas w is matrix weight and λ search direction.

2. Find out the right direction

)()]([ )()()()( iiii wGfIwR −=+ λ ……(13) then obtain f and substitute it to:

),(minarg NNw

ZwVw =

if VN(w(i) + f(i) ,ZN) < VN (w(i) ,ZN) then fulfill w(i+1) = w(i) + f(i) as new iteration, so, λ(i+1) = λ(i). If w(i+1) = w(i) + f(i) not fulfill then find out new r

)(),(),(),(

)()()()(

)()()()(

iiiNiN

NiiN

NiNi

fwLZwVZfwVZwV

r+−

+−= ..(14)

If r(i) > 0,75 then λ(i) = λ(i) /2 If r(i) < 0,25 then λ(i) = 2λ(i) Whereas:

)()()( )()()()()()()( GffffwL TiiTiiiii −=+ λ ..(15) 3. If criteria is reached, calculation will stop. If

criteria is not reached, back to step 2.

Page 32: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

26

Main TS - Stage Temperature (1__Main TS)

707580859095

100105110

1 245 489 733 977 1221 1465 1709 1953 2197 2441 2685 2929

waktu (menit)

tem

p [C

]

Main TS - Stage Temperature (14__Main TS)

64.5

64.6

64.7

64.8

64.9

65

65.1

65.2

1 248 495 742 989 1236 1483 1730 1977 2224 2471 2718 2965

waktu (menit)

tem

p [C

]

B - Comp Mole Frac (Methanol)

00.020.040.060.080.1

0.120.140.160.18

1 248 495 742 989 1236 1483 1730 1977 2224 2471 2718 2965

waktu (menit)

% m

etha

nol

D - Comp Mole Frac (Methanol)

0.9790.9810.9830.9850.9870.9890.9910.9930.9950.997

1 252 503 754 1005 1256 1507 1758 2009 2260 2511 2762 3013

waktu (menit)

% m

etha

nol

3. RESULTS

3.1 Soft sensor Methodology to build soft sensor is begin from

design APRBS (Amplitude Pseudo Random Binary Signal)[5], generate data set for training, train ANN soft sensor and validate it.

Soft sensor built by ANN with Multi layer Percepton (MLP), Neural Network AutoRegresive, eXternal input structure (NNARX) [2], forward model has 6 history lengths and 13 hidden nodes, which trained by using Levenberg Marquard learning algorithm for 200 times computer iteration is the best ANN structure to produce good RMSE.

Input layer Hidden layer Output Layer

Fig. 3. ANN Architecture based temperature correlation

Xd (k)

Xd (k-1)

Xd (k-5)

L (k)

L (k-1)

L (k-5)

Qr (k)

Qr (k-1)

Qr (k-5)

Xb (k)

Xb (k-1)

Xb (k-5)

1

tgh

tgh

tgh

tgh

tgh

tgh

tgh

1

Lin

Lin

Xd (k )

Xb (k)

tgh = tangen hiperbolikLin = linier

Input layer Hidden layer Output Layer

Fig. 4. ANN architecture based flow rate correlation

Figure 3 is ANN soft sensor structure based temperature correlation and Figure 4 is ANN soft sensor structure based flow rate correlation

3.2 Using Temperature Correlation The strongest relation with XD is 14th tray

temperature, and the strongest relation with Xb is 1st tray temperature. So, temperature sensor must be place only on tray 1st tray and 14th tray.

CT

CT

TT

TT

TT Temperature Measurement

R

L D

V

Xd

Xb

B

F, Xr

Qr

Qc

PC

LC

LC

Fig. 5. Temperature Sensor of Distillation Column

In fact, temperature sensor usually available on each tray but only temperature sensor on tray 1st tray and 14th tray that will be used by soft sensor.(Figure 5).

Figure 6 is data set temperature and product composition of distillation column, which use for training data.

Fig. 6. Data set for training ANN soft sensor based temperature correlation

0 500 1000 1500 2000 2500 3000 35000.98

0.985

0.99

0.995

1Xd (output #2)

Solid : process outputDash : model output

Fig. 7. Xd process and ANN based temperature output comparation

Page 33: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Ann Soft Sensor to Predict Quality of Product Based on Temperature or Flow Rate Correlation – Totok R. Biyanto

ISSN 1858-1633 @2005 ICTS

27

0 500 1000 1500 2000 2500 3000 3500-0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18Xb (output #1)

Solid : process outputDash : model output

Fig. 8. Xb process and ANN output based temperature

comparation

ANN Soft sensor based temperature correlation has Root Mean Square Error (RMSE) which equal with 5,9908 x 10-5 for the mole fraction of distillate and RMSE is equal with 1,2686 x 10-4 for the mole fraction of bottom. (Figure 7 and 8)

3.3. Using Flow Rate Correlation

Fig. 9. LV control strategy

Fig. 10. Data set for training ANN soft sensor based flow rate correlation

Reflux flow rate (L) and steam flow rate at reboiler (Qr) usually use for controlling mole fraction distillate (Xd) and mole fraction bottom product (Xb) at binary distillation column, especially for LV control strategy is the best pairing composition control to keep composition product (Figure 9). It is mean that flow rate of reflux (L) has strongest correlation with Xd and steam flow rate at reboiler (Qr) has strongest correlation with Xb.

Respect to this correlation, ANN soft sensor built by training ANN soft sensor using L-Xd and Qr-Xb data sets. (Figure 10)

Fig. 11. Xd process and ANN based flow rate output comparation

.

Fig. 12. Xb process and ANN based flow rate output comparation

Soft sensor which using correlation between

reflux flow rate (L) and mole fraction of distillate (Xd) has Root Mean Square Error (RMSE) which equal with 6,6589x10-5 and soft sensor which using correlation with steam flow rate at reboiler (Qr) has RMSE is equal with 1,98100x10-4 for the mole fraction of bottom (Xb) (Figure 11 & 12).

Soft sensor has fast respon performance, better of reliability because of temperature and flow rate measurement instrumentation have better reliability compare to analyzer reliability, cheaper, low operational and maintenance cost.

Page 34: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

28

4. CONCLUSION

ANN soft sensor is easy to build, no special instrumentations, and has good Root Mean Square Error (RMSE). So, the conclusion is application of ANN soft sensor can build using temperature or flow rate correlation, depend on control strategy or sensor availability.

REFERENCE

[1] Biyanto, TR., Santosa, HH, Modeling of

methanol-water binary distillation column using a Neural Network, Journal Instrumentasi Vol 28 No1, Instrumentation Society of Indonesia, Jakarta, January – June 2004

[2] Cybenko G, , Approximation by Super-position of A Sigmoid Function, Mathematics of Control, Signal, and Systems, Vol. 2(4), 303-314, 1989

[3] Luyben, W.L., Process Modeling, Simulation, and Control for Chemical Engineers, McGraw-Hill Inc. Singapore, 1990

[4] Luyben, W. L. Bjorn D. Tyreus, Michael L. Luyben, Plant wide Process Control, Mc Graw – Hill, New York, 1998.

[5] Nelles O, Isermann R, Basis Function Networks for Interpolation of Local Linear Models, Proc.of 35 th Conference on Decision and Control, Kobe, Japan, December,1996.

[6] Norgaard, M,.Ravn, O., Poulsen, N.K., and Hansen L.K., Nopember 1999, Neural Network for Modelling and Control of Dynamic Systems, Springer London.

Page 35: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

29

APPLICATION OF SOFT CLASSIFICATION TECHNIQUES FOR FOREST COVER MAPPING

Arief Wijaya Department of Natural Resource Management

International Institute for Geo-Information Science and Earth Observation (ITC) Hengelosesstraat 99, 7500 AA Enschede, The Netherlands

email : [email protected]

ABSTRACT Forest cover mapping is necessary to monitor

forest cover changes in order to support sustainable forest management. One of the most important factors that cause deforestation comes from Illegal logging. Illegal loggers were cutting trees selectively, based on tree-diameter and tree-species. Remote sensing is a promising tool, which can be used for detecting this type of logging and deforestation the tropical forest. This study applied two different soft classification techniques, i.e. fuzzy c-means classification and neural network method to classify forest cover as well as to detect illegal logging in a form of single tree felling. The classification results were accurately compared to the result of conventional maximum likelihood classification using confusion matrix. This study found that neural network method resulted in a more accurate detection of single tree felling, followed by maximum likelihood technique. Fuzzy c-means technique gave less satisfactorily result due to a strong overlapping between single tree felling and high density forest training classes.

Keywords : illegal logging, soft classification, fuzzy c-means, neural network, remote sensing 1. INTRODUCTION

One important part of the provision of environmental information by remotely sensed data is achieved through image classification [1]. This image classification relies on the assumptions that the study area are structured by a number of unique, internally homogeneous classes and that classification analysis based on reflectance data and ancillary data can be used to identify these unique classes with the aid of ground data.

Several recent studies related to image classification were done in the tropical forest, detecting forests cover changes due to forests harvesting [2-7]. These studies used Landsat images as main input data to perform image classification. One of studies made use of ancillary data, e.g. slope and elevation, in the classification [4]. Another study used combination of optical satellite data and radar data [6].

Different image classification techniques were applied to detect degradation and deforestation on a tropical forest. Fauzi [6] studied on the detection of logged-over forest using neural network method and compared the result with those of maximum likelihood method. Bhandari [7] detected loggedover forest using sub-pixel classifier and forest canopy density mapping and again, compared the classification result with fused image of maximum likelihood classification. Recently, Atmopawiro [3] was able to detect illegal logging by means of sub pixel classification with a reasonable accuracy. 2. DETECTION OF SINGLE TREE

FELLING WITH SOFT CLASSIFICATION TECHNIQUES

In his study, Elias [8] mentioned that the opening area caused by a single tree felling ranged between 285 to 512 m2, with an average of 396 m2. Using Landsat 7 ETM+ data with 30 meters resolution, one pixel covers 900 m2 of the area. Identification of an object which has size less than a single pixel is not recommended using hard (or conventional) classifier, such as maximum likelihood [9-13]. Detection of single tree felling by means of conventional classifier can not give satisfactorily results, as reported by several recent studies [2, 4-7].

Maximum likelihood method is developed for the classification of classes with the assumption that each pixel is pure and the object of interest is considered to be discrete and mutually exclusive [10, 13]. In the maximum likelihood, pixels are labeled to the class which has the highest posterior probability of membership [1]. This technique is often incapable to perform satisfactorily in the presence of mixed pixels, in which each pixel is occupied by more than one category [11]. Another assumption in maximum likelihood method is that the spectral intensities of the classes follow a normal distribution. Limitations of the algorithm may be one of the reasons, which can reduce the performance of such technique.

Single tree felling, occupying less than one pixel size, may be identified as mixed pixels, so-called fuzzy pixels. Fuzziness often occurs due to the presence of mixed pixels (particularly for coarse spatial resolution remotely sensed imagery) which are

Page 36: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

30

not completely occupied by a single, homogenous category [14].

So-called “soft” classifier is a technique that certainly can improve the classification of mixed pixels [10, 15, 16]. There are two “soft” classification methods that are widely used for image classification, namely fuzzy classification [10, 13, 17] and neural network [10, 18]. Fuzzy classifier works based on membership function and membership value [19]. On the other hand, neural network method works based on interconnected network of processing elements in order to find the optimal result [18, 20-22]. This study applied soft classification method of supervised fuzzy classification that is based on fuzzy c-means clustering algorithm [11, 13, 14, 23, 24] and neural network classification method, which can be applied in any type of data distribution as this method does not need normality assumption of data distribution [21].

3. METHOD

3.1. Datasets This study considered a forest concession area in

Berau District, East Kalimantan, Indonesia. The forest area has a size of about 83,000 hectare and has a type of natural production forest. This study used seven bands of Landsat 7 ETM images with 30×30 meters of pixel size, acquired on 31st of May 2003. The Landsat datasets were geometrically corrected and registered to a WGS 84 datum and UTM projection with an RMS error less than 1.0 pixel. A subset of Labanan concession area with size of 521 x 501 pixels was used for the classification in order to optimize effort and time for forest cover classification.

Fieldwork was carried out in the study area for five weeks from early September until mid October 2004 for collecting ground truth data. Field data recording illegal logging points and other forest classes were divided into two datasets. There were 424 sample data used in order to train the classification. Another 192 independent data were collected separately as test data in order to assess accuracy of the classification results.

3.2. Supervised Fuzzy c-means Method Fuzzy c-means (FCM) method used in the study

was proposed by Cannon [15]. In general, this method subdivides a dataset into c-clusters or classes. It begins by assigning pixels randomly to classes and by iterative operations, it moves pixels to other classes to minimize the generalized leastsquared-error [10].

For fuzzy supervised classification as performed in this study, we may change the algorithm that is used to derive an unsupervised classification. For doing this, the class centroids are determined from the training data giving the result of fuzzy membership value for a single pixel in each land cover class.

The supervised fuzzy c-means classification is based on the fuzzy c-means clustering algorithm [19]. Let X = x1, x2,…, xn be a sample of n observations (pixels) in an s-dimensional Euclidian space (s is a number of spectral bands in the image). A fuzzy clustering is represented by a fuzzy set Uc x n | µik ε [0.0,1.0] with reference to n pixels and c clusters or classes.

The interpretation is that U is a real c × n matrix consisting of elements denoted by µik, and µik is the fuzzy membership value of an observation xk for the ith cluster. The fuzzy membership values range from 0.0 and 1.0 and are positively related to the strength of membership of a pixel to a specified class.

Various algorithms are available that aim to derive an optimal fuzzy c-means clustering. One widely used method operates by minimizing a generalized least squared error function, called Jm,

where m is the weighting exponent that controls the degree of fuzziness (increasing m tends to increase fuzziness usually, the value of m is set between 1.5 and 3.0), d2ik is a measure of the distance between each observation (xk) and a fuzzy cluster center (νi) [19].

Often, the Mahalanobis distance algorithm is used for pixels clustering. This distance is calculated with

where C is the covariance matrix of the sample x, and superscript T indicates transposition of a matrix.

The Euclidian distance from pixel i to cluster center k is calculated with

And the centroids cj are computed as

This is simply a weighted average (with the

elements u being the weights) of all pixels with respect to center (1 ≤ j ≤ p). The term xil is the measurement of the i-th pixel (1 ≤ i ≤ n) on the l-th spectral band or feature.

Each of the membership grade values uij is updated according to its Euclidian distance from all cluster centers,

Page 37: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Application of Soft Classification Techniques for Forest Cover Mapping – Arief Wijaya

ISSN 1858-1633 @2005 ICTS

31

where 1 ≤ i ≤ p and 1 ≤ k ≤ n [19]. The procedure converges when the elements of membership grade matrix differ by no more than a small amount between iterations. This study, however, used Euclidian distance as well as Mahalanobis distance algorithm to observe the effect on the classification accuracy.

The minimization of the error function Jm begins from random setting of µik. An optimal fuzzy partition is then sought iteratively to derive an unsupervised classification. The algorithm can, however, be modified for the derivation from the training data. This reduces the fuzzy c-means clustering algorithm to a one-step calculation, resulting in the fuzzy membership value for each pixel in each of the defined classes.

The classified pixels resulted from fuzzy classification must be converted to “crisp” in order to properly represent the final map. Some functions may be used for the defuzzification of these classified pixels, such as maximum criterion, mean of maximum and center of the area. This study arbitrarily made use of maximum function in the defuzzification stage.

3.3. Neural Network classification

In general, there are three phases in neural network classification. The first phase is a training procedure, using input data. The second is a validation phase that determines the success of training phase and the accuracy of the network when it is applied to unseen data. The last one is a classification phase which produces land cover map of an area [22].

This study implemented three-layered neural network consisting of a single input, hidden, and output layer, so-called multi-layer perceptron (MLP) neural network. The MLP neural network which is trained by back-propagation algorithm is commonly used for the image classification in Remote Sensing [25].

The input to a node in a neural network is the weighted sum of the outputs from the layer below, that is,

This weighted sum is then transformed by the node

activation function, usually a sigmoid function to produce the output node,

where θj, m, and k, are constants. The study, however, used sigmoid activation function to produce the output node. This function is often used in the neural network, resulting output from the node, a value between 0.0 and 1.0 [26]

Weights are updated during the training process according to the so-called “generalized delta rule”:

Where ∆wji (n + 1) is the change of a weight connecting nodes i and j, in two successive layers, at the (n+1)th iteration, δj is the rate of change of error with respect to the output from node j, η is the learning rate, and α is a momentum term.

Learning rate is an adaptation of simple backpropagation algorithm, which is used to reduce training time and maintain stable convergence. This algorithm is very slow in the training stage, because it requires small learning rates for stable training. Adjusting learning rate to a higher value, the training time may be reduced, however it results in a more unstable training, and the network is more reluctant to be trapped in the local minima rather than the global one.

Momentum, on the other hand, is another adaptation of the simple back-propagation, which allows the neural network to respond not only to the local gradient, but also to recent trends in the error surface. This has effect of acting like a low pas filter, which allows the network to ignore small features in the error surface, so that the network is less prone to becoming trapped in local minima [27]. Further details on the neural network may be found in Atkinson and Tatnall [21].

RESULT

4.1. Fuzzy c-means Classification Result There were seven Landsat ETM bands, which were

used for image classification. Based on training data evaluation, this combination provided the highest separability values among forest classes compared to the use of multi-spectral bands (band 1-5, and band 7) of Landsat ETM data.

The fuzzy exponent, fuzziness or overlap parameter determines the amount of fuzziness or class overlap. If this parameter is close to 1.0, allocation is crisp and no overlap is allowed [23]. For large values, there is a complete overlap and all clusters are identical. The fuzziness of the classification can be modulated by varying the magnitude of the fuzziness parameter. Ideally, it should be chosen to match the actual amount of overlap. However, class overlap is generally unknown. Although the fuzziness parameter is often set between 1.5 and 3.0, no clear arguments for the choice of these values are presented [10, 14]. This study used arbitrarily fuzzy overlap value of 2.0.

Clustering of unclassified pixels was carried out by measuring the distance (dissimilarity) between each observation (pixel) and a fuzzy cluster center by means of certain clustering algorithm. This study applied Euclidian and Mahalanobis clustering algorithms to measure such distance.

Page 38: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

32

Figure 1. Results of Land Cover Classification in Subset of the Study Area

Using Mahalanobis distance algorithm, the fuzzy c-means was more aggressive to classify single tree felling (STF) class resulting higher classification accuracy of single tree felling class compared to the Euclidian distance algorithm.

In general, classification accuracy of fuzzy c-means using Euclidian distance is slightly higher than the accuracy of Mahalanobis distance.

4.2. Neural Network Classification Results In the following analysis, Landsat ETM data was

used as an input for neural network classification and single hidden layer architecture was applied. Kanellopoulos [25] in his study has found that the use of a single hidden layer was sufficient for most classification problems, however, once the number of inputs gets near 20, additional flexibility was required as provided by a two hidden layer network.

Total system Root Mean Squared (RMS) error of 0.0001 was determined as a convergence point. Training was stopped when convergence was reached, or the network reached an asymptote point when training accuracy started decreasing.

By default, neural network application used the equal number of hidden nodes as the number of input

variable. Skidmore, et al. [28] found that the use of minimum number of hidden nodes in the neural network significantly reduced the average training accuracy, resulting in a lower accuracy of the classification result.

His study found that mean training accuracy increased as more hidden nodes were added. Another study mentioned that it was sometimes useful to make the number of hidden nodes roughly equal to two or three times the total number of input classes [25]. This study used two variations of hidden nodes number, which are equal and three times of the total input number used in the neural network, while holding other parameters constant.

Analysis on the classification results found that the use of more hidden nodes number in the neural network made the network architecture more complex, causing more complicated computation for training the network, which in turn needed more iterations to reach global minima. As a comparison, neural network with 7 hidden nodes reached convergence point after 5,000 iterations, whereas the use of 21 hidden nodes in the network resulted in longer training of 7,500 iterations in order to generate a similar training accuracy.

Neural network was trained using back-propagation learning algorithm with learning rate and

Page 39: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Application of Soft Classification Techniques for Forest Cover Mapping – Arief Wijaya

ISSN 1858-1633 @2005 ICTS

33

momentum value of 0.2 and 0.4, respectively. Learning rate reflects on the training speed, while momentum describes the sensitivity of the network to error surface. This study tried to use some variations on these parameters, and found that higher learning rate value should be balanced with the higher value of momentum, otherwise training stage became unstable and was trapped into local minima condition.

According to the accuracy assessment on classification results, the best performance of neural network was achieved with 21 hidden nodes when the network was trained for 7,500 iterations.

4.3. Comparison of Classification Results

The performance of those classification approaches was assessed using error matrix, so-called confusion matrix [29]. According to the assessment results, neural network outperformed maximum likelihood in classifying single tree felling class but was less accurate in classifying other land cover classes resulting in a lower overall accuracy (Table 1). In general, fuzzy c-means performed less satisfactorily, compared to other classification approaches i.e. neural network and maximum likelihood, to classify single tree felling class.

Table 2 was computed based on Figure 1 showing percentages of major land cover classes produced by fuzzy c-means, neural network and maximum likelihood. The computation results also showed that all classifiers agreed on the first three major land cover classes (though in different order) in the subset of study area. Fuzzy c-means classifier was more conservative in number (13% of pixels) than other classifiers (22% of pixels) in assigning single tree felling class. This was particularly the case when Euclidian distance was used in the fuzzy c-means classification. This may lead to the less accurate classification result for single tree felling class as compared to the neural network and the maximum likelihood.

A qualitative observation on Figure 1 showed that

neural network was classifying single tree felling in a large extents area, which was even more aggressive than the maximum likelihood. However, from Table 2 those two classifiers appeared to assign exactly the same number of pixels as single tree felling class (22% of total pixels). In general, both neural network and maximum likelihood produced quite similar spatial distributions of major land cover classes. Fuzzy c-means classifier, on the other hand, produced a different classification result where majority of pixels (47% of total pixels) were assigned as high density forest class. This was quite different compared to the equally-like distribution between those three forest classes (i.e. sparse forest, single tree felling, and high density forest), as shown by neural network and maximum likelihood methods.

5. DISCUSSIONS The fuzzy c-means classification technique plays

an important role for this study. Moreover, the performance of this method raises a great important issue, discussed in the following section. Some recent studies reported that the use of fuzzy c-means classifier can accurately improve the classification of mixed pixels [9, 10]. However, given the accuracy assessment results, it was found that the fuzzy c-means classification had lower accuracy compared to neural network and maximum likelihood classifiers.

Less accurate result in classifying single tree felling class can be caused by significant degree of overlapping between training sample of high density forest class and single tree felling class. This overlapping caused high confusion for every classifier; although fuzzy c-means performed worse than the other classifiers for this specific condition.

Analysis of single tree felling pixels was continued by measuring the uncertainty of land cover class represented in a pixel using confusion index [16]. The confusion index (CI) is the ratio of the second highest class membership value to the highest membership value of that pixel which is scaled in the interval of 0.0 to 1.0.The greater the CI value for a pixel, the more the classification uncertainty of that particular pixel is. It is showed that higher CI pixels are located in the area which mostly identified as single tree felling class by fuzzy c-means classification (area indicated inside --- box).

Page 40: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

34

These relatively high confusion indexes values are

another indication that the high degree of overlapping of high density forest and single tree felling class caused the fuzzy c-means classifier to perform less accurately.

Inappropriate accuracy assessment procedure used in this study can be another issue that caused less accurate classification results. As mentioned by Foody [10], the measures of classification accuracy derived from the confusion matrix are inappropriate for the evaluation of fuzzy classifications, as it does not take into account the presence of mixed pixels and neither does accommodate fuzzy ground truth data in the assessment.

A number of methods have been proposed to measure classification accuracy of fuzzy classification with emphasis on fuzzy measures. Gopal and Woodcock [30], in their study suggested several classification indicators derived from fuzzy sets techniques which may be used for the situation where there is ambiguity in the ground data but not in classification output.

Other accuracy assessment approaches are based on entropy measures [31]. Entropy is a measure of uncertainty and information formulated in terms of probability theory, which expresses the relative support associated with mutually exclusive alternative classes [10]. Entropy is maximized when the probability of class membership is partitioned evenly between all defined classes in the classification and minimized when it is associated entirely with one class. Therefore, the use of entropy values as an indicator of classification accuracy assessment is

implicitly based on the assumption that in an accurate classification each pixel will have a high probability of membership with only one class. Provided the fact that the higher the entropy value of a pixel corresponds to the lower probability of particular pixel belongs to a single class, then the pixel is classified less accurately.

Overlaying the entropy values with the membership values maps, one may conclude that many pixels with high entropy values have almost equal distribution of the membership values. In order to provide more evidence, calculation of entropy values of single tree felling pixels were carried out using Shannon entropy algorithm [31], taking the data from test datasets.

The membership values of single tree felling pixels for the whole subset of the study area were also computed. This resulted in a considerably high mean entropy value of 1.71 within range of 0.04 - 2.80 with a standard deviation of 0.44. Thus, the domination of mixed pixels with close membership values pixels might give difficulties for fuzzy c-means classifier to label these pixels as one land cover class in a map.

As mentioned earlier in this section, the accuracy measure shown by confusion matrix does not take into account the presence of mixed pixels condition. However, the use of confusion matrix makes it possible to compare the result of fuzzy c-means classification with the other techniques, such as conventional maximum likelihood, which cannot be assessed using entropy values or other fuzzy-based measures.

6. CONCLUSION

The classification results showed that neural network method resulted in the highest accurate result to detect single tree felling with 77% of accuracy, followed with maximum likelihood and fuzzy c-means with 73% and 53% of accuracy, respectively. There were several factors causing the fuzzy c-means classifier resulted in lower accuracy than maximum likelihood and neural network in classifying single tree felling class. One of the factors was strong overlapping of high density forest training pixels and single tree felling pixels sets, causing higher confusion

Page 41: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Application of Soft Classification Techniques for Forest Cover Mapping – Arief Wijaya

ISSN 1858-1633 @2005 ICTS

35

index for the latter particular class. Another issue is that majority of single tree felling pixels has equal distribution of membership values between classes; as a consequence many of those pixels have more uncertain probability belong to one class, as indicated by entropy values of single tree felling class.

In this study, field data were collected in a pixelbasis. For future study, collection of fuzzy groundtruth data should be taken into account in order to optimize the classification of fuzzy c-means method. Another accuracy assessment technique would also be useful to evaluate fuzzy classified map.

7. ACKNOWLEDGEMENT

The author would like to grateful to Dr. Arko Lucieer for his permission to use PARBAT prototype software, and to Henk van Oosten for providing neural network IDL programming language. This study was conducted under MONCER project during studying period of author in the ITC to pursue Master degree. To Dr. Valentyn Tolpekin, thank you for your supervision and guidance during the whole period of this study. For Dr. Ali sharifi, the author would like to thank for his permission to join to this project and to give the initial idea for this study.

REFERENCE [1] Lillesand, T.M. and R.W. Kiefer, Remote Sensing

and Image Interpretation. Third Edition ed. 1994: John Wiley & Sons, Inc.

[2] Dahal, P.P., Determination of forest status using selected criteria and indicators of sustainable forest management : a case study of Labanan concession, east Kalimantan, Indonesia. 2002, ITC The Netherlands: Enschede. p. 76.

[3] Atmopawiro, V.P., Detection of Single Tree Felling in the Tropical Forest Using Optical Satellite Data and Image Classification Techniques (a Case Study in the Labanan Concession, East Kalimantan, Indonesia), in Natural Resource Management. 2004, ITC The Netherlands: Enschede. p. 91.

[4] Zaitunah, A., Analysis of Physical Factors Affecting Single Tree Felling of Illegal Logging Using Remote Sensing and GIS (A Case Study in Labanan Concession, East Kalimantan, Indonesia), in Natural Resource Management. 2004, ITC The Netherlands: Enschede. p. 108.

[5] Cui Yijun, Remote sensing and GIS for supporting sustainable forest management certification in the tropics : a case study in Labanan concession, East Kalimantan, Indonesia. 2003, ITC The Netherlands: Enschede. p. 75.

[6] Fauzi, A., Remote sensing for detecting tropical logged over forest : a case study in Labanan

concession, East Kalimantan, Indonesia. 2001, ITC The Netherlands: Enschede. p. 91.

[7] Bhandari, S.P., Remote Sensing for Forest Certification : Detecting and Characterizing Selective logging in Tropical Forest : a Case Study in Labanan Concession, East Kalimantan, Indonesia. 2003, ITC: Enschede. p. 76.

[8] Elias and D.P. Dykstra. A case study on Forest Harvesting Damages, Structure and Composition Dynamic Changes in the Residual Stand for Dipterocarp Forest in East Kalimantan, Indonesia. in Forest Operations for Sustainable forestry in the tropics, Proceedings of a symposium organised by IUFRO subject group S3, 13-27. 1995.

[9] Foody, G.M., Relating the land-cover composition of mixed pixels to artificial neural network classification output. Photogrammetric Engineering & Remote Sensing, 1996. 62(5): p. 491-499.

[10] Foody, G.M., Approaches for the production and evaluation of fuzzy land cover classifications from remotely-sensed data. International Journal of Remote Sensing, 1996. 17(7): p. 1317-1340. 11. Zhang, J. and G.M. Foody, A fuzzy classification of sub-urban land cover from remotely sensed imagery. International Journal of Remote Sensing, 1998. 19(14): p. 2721-2738.

[12] Gopal, S., C.E. Woodcock, and A.H. Strahler, Fuzzy neural network classification of global land cover from a 1[deg]AVHRR data set. Remote Sensing of Environment, 1999. 67(2): p. 230-243.

[13] Zhang, L., et al., Fuzzy Classification of Ecological Habitats from FIA Data. Forest Science, 2004. 50(1): p. 117-127.

[14] Zhang, J. and G.M. Foody, Fully-fuzzy supervised classification of sub-urban land cover from remotely sensed imagery: Statistical and artificial neural network approaches. International Journal of Remote Sensing, 2001. 22(4): p. 615-628.

[15] Cannon, R.L., et al., Segmentation of a Thematic Mapper Image Using the Fuzzy c-Means Clustering Algorithm. IEEE 8 Trannsactions on Geoscience and Remote Sensing, 1986. GE-24 May 1986(3): p. 400- 408.

[16] Hegde, S., Modelling Land Cover Change: A Fuzzy Approach. 2003, ITC The Netherlands.

[17] Atkinson, P.M., M.E.J. Cutler, and H. Lewis, Mapping sub-pixel proportional land cover with AVHRR imagery. International Journal of Remote Sensing, 1997. 18(4): p. 917-935.

[18] Mas, J.F., et al., Modelling deforestation using GIS and artificial neural networks. Environmental Modelling and Software, 2004. 19(5): p. 461-471.

Page 42: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

36

[19] Bezdek, J.C., R. Ehrlich, and W. Full, FCM: The Fuzzy c-Means Clustering Algorithm. Computers & Geosciences, 1984. 10(2-3): p. 191-203.

[20] Moody, A., S. Gopal, and A.H. Strahler, Artificial neural network response to mixed pixel in coarse-resolution satellite data. Remote Sensing of Environment, 1996. 58(3): p. 329- 343.

[21] Atkinson, P.M. and A.R.L. Tatnall, Introduction Neural networks in remote sensing. International Journal of Remote Sensing, 1997. 18(4): p. 699-709.

[22] Gahegan, M., G. German, and G. West, Improving neural network performance on the classification of complex geographic datasets. Journal of Geographical Systems, 1999. 1(1): p. 3-22.

[23] Lucieer, A., Uncertainties in Segmentation and Their Visualisation. 2004, International Institute for Geo-Information Science and Earth Observation: Enschede.

[24] Palubinskas, G., et al., An Evaluation of Fuzzy and Texture-Based Classification Approaches for Mapping Regenerating Tropical Forest Classes from Landsat-TM Data. International Journal of Remote Sensing, 1995. 16(4): p. 747- 759.

[25] Kanellopoulos, I. and G.G. Wilkinson, Strategies and best practice for neural network image classification. International Journal of Remote Sensing, 1997. 18(4): p. 711-725.

[26] Mather, P.M., Computer Processing of Remotely-Sensed Data : An Introduction. Third Edition ed. 2004, Chichester, West Sussex: John Wiley & Sons, Ltd.

[27] Danaher, S., et al., A Comparison of the Characterisation of Agricultural Land Using Singular Value Decomposition and Neural Networks, in Neuro-Computation in Remote Sensing Data Analysis: Proceedings of Concerted Action COMPARES, I. Kanellopoulos, et al., Editors. 1997, Springer.

[28] Skidmore, A.K., et al., Performance of a Neural Network : Mapping Forests Using GIS and Remotely Sensed Data. Photogrammetric Engineering & Remote Sensing, 1997. 63(5): p. 501-514.

[29] Congalton, R.G., A Review of Assessing the Accuracy of Classifications of Remotely Sensed Data. Remote Sensing of Environment, 1991. 37: p. 35-46.

[30] Gopal, S. and C.E. Woodcock, Theory and Methods for Accuracy Assessment of Thematic Maps Using Fuzzy Sets. Photogrammetric Engineering & Remote Sensing, 1994. 60: p. 181-188.

[31] Maselli, F., C. Conese, and L. Petkov, Use of Probability Entropy for the Estimation and Graphical Representation of the Accuracy of Maximum Likelihood Classifications. ISPRS Journal of Photogrammetry and Remote Sensing, 1994. 49(2): p. 13-20.

Page 43: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

37

MANAGING INTERNET BANDWIDTH: EXPERIENCE IN FACULTY OF INDUSTRIAL TECHNOLOGY, ISLAMIC UNIVERSITY OF

INDONESIA

Mukhammad Andri Setiawan CISCO Networking Academy Program

Informatics Department, Faculty of Industrial Technology Islamic University of Indonesia

Jl Kaliurang Km 14.5 Yogyakarta. 55501 Phone (0274) 895007, 895287 ext 122, 150

Fax (0274) 895007 ext 148 email : [email protected]

ABSTRACT Managing Internet access in a Faculty with

numerous users is a complex job. While, Internet access is often constrained by the cost of international (and sometimes local) bandwidth, hence a number of techniques may be used to attack this problem. In order to improve performance of network we have enhanced the Squid cache software to provide bandwidth management. Dynamic Delay Pools were implemented which allow us to share the available bandwidth in an equitable fashion without unduly limiting users. To share bandwidth fairly, we also preventing downloading a large file during peak times, we plan to improve the system by introducing proxy authentication and credit-based web access. This paper presents the implementation in managing Internet bandwidth in Faculty of Industrial Technology, Islamic University of Indonesia.

Keywords: Bandwidth management, squid, QoS

1. INTRODUCTION

Internet has become part of The Faculty of Industrial Technology of Islamic University of Indonesia activities. Hence, none of a day in a week run well, except that Internet is on. Currently, the Faculty of Industrial Technology has only a 256 kbps Internet bandwidth with committed information ratio (CIR) 1:2.

Many organizations in Indonesia as also in many other countries [1] has Internet access that constrained by the cost of international (and a little bit local) bandwidth. Although the speeds of LANs and the Internet backbone are in the order of a Gb/s (we provide the networking backbone with Fiber Optic), the high cost of international bandwidth often means that numerous users share 256kb/s of bandwidth. The result is that many users, who need the Internet, complain and being frustrated and much of the bandwidth is wasted. Furthermore, the implementation of WiFi Zone that provides users with WiFi enabled

device a free hotspot areas to allow them to connect to the Internet, has increase number of Internet users.

Providing enough bandwidth to satisfy all users is financially infeasible, so we approached the problem from the angle that bandwidth is a fixed resource, which then should be managed well, hence we will have an optimum benefit. Therefore users are not being dulled with the slow Internet access, and also bandwidth is controlled well.

Some consider that the cost of bandwidth is dropping rapidly; therefore this problem will only be temporary. However, we observe that although the cost of bandwidth has reduced, at the same time, the demand for bandwidth has increased. The net result has remained an insufficiency of bandwidth, and can be expected to be so in the future as Fernando says in [1].

As the majority of our (incoming) traffic is for http (web) and ftp access, we concentrated on management of web traffic at the application layer from the OSI reference model. We used several techniques to manage our bandwidth: Caching, to avoid repeated fetching of data; Traffic Shifting, comprising off-line downloading and mirroring, to shift traffic to night-time, and Bandwidth Allocation, to assign bandwidth to units and user groups. We used Squid caching system that modified as needed, and also we do a firewall technique to manage our network well. 2. THE NETWORK

The Faculty of Industrial Technology is connected to the Internet with VSAT connectivity and gets its bandwidth from PT. GTU as an ISP which is located in Jakarta which has fiber optic connection which connects to Indonesia Internet Exchange (IIX) for local connections, and Asianetcom at Singapore to connect international connections.

The Faculty of Industrial Technology connected at 256kbps downlink and 64 kbps uplink with a Committed Information Ratio (CIR) each 1:2. The bandwidth is planned to increase in mid end 2005 to 512 kbps, and 1 Mbps is planned in 2006.

Page 44: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

38

Our network is fully managed by Informatics Department with a help from Computer Network Laboratory assistant. Recently we run two PC routers with Linux Operating Systems (one with Fedora and one with Trustix) to connect users in network so they are able to connect to Internet with Network Address Translation (NAT) technology. By mid end 2005, we plan to use Cisco Router to replace the PC routers which is equipped with network QoS.

We also run a web server with mobile-phone Proliant server with dual Xeon Processor, and in mid 2005 we will run a mail server also using mobile-phone Proliant to provide email system in our faculty by our self.

The Faculty of Industrial Technology has two buildings, to connect both; we provide a fiber optic backbone.

Since March 2005, the Faculty of Industrial Technology implementing WiFi, hence devices equipped with 802.11 devices compliant can connect to Internet. To provide wireless access, we use Linksys WRT54G and WAP54G Access Points.

2.1 The Case The Faculty of Industrial Technology Network is

divided into two main subnets. The first is the north area (the new building) and the second is the south area (the old building). Both servers are running Linux to serve as gateway to connect them to the Internet.

Our gateways are installed with Squid to serve as proxy server, which is responsible in caching and distributing Internet connection. To serve the network well, we also run a firewall in our Linux system, so inappropriate access of network can be avoided.

Figure 1. Faculty of Industrial Technology Network Infrastructure Design

Our networks serve about a hundred computers that connect using cables, and more than fifty wireless devices in everyday of working hours that are connected to Internet. If we count this amount of

devices, we will have not less than 150 computers. If we just divide the 256 kbps with 150 computers then each computer will have a connection only in 1.7 kbps, which means that each can download a file in size 100 kilo byte in 470 seconds. Of course, that is not what we expected. So, we need to manage well so that everyone can have its connection fine, although of course we cannot serve in a maximum speed.

3. BANDWIDTH MANAGEMENT CONCEPTS

Bandwidth management is neither a technique nor tool. Successful provision of managed network bandwidth within an organization is likely to involve the application of many tools encompassing a number of different techniques. The techniques and tools an institution uses will depend on a number of factors [2]:

• ratio of available bandwidth to existing/future demand;

• need to prioritize some traffic types/users over others;

• resources available to implement bandwidth management strategies;

• Organizational experience with products and systems.

Before an institution can decide how to solve the problem of reducing bandwidth demands, it is important to be aware of how bandwidth is being consumed at the moment. There are a number of options for doing this. Firstly some of the bandwidth management products have a monitoring as well as proactive mode.

Simple Network Management Protocol (SNMP) based network management solutions give an overall indication of bandwidth ‘hotspots’ on the network that can be further investigated. Here, we use CACTI that connected to our SNMP to manage, monitor, and learn the network behavior in Faculty of Industrial Technology. And also, we learn from log file that produced by our Proxy Server.

4. BANDWIDTH MANAGEMENT IMPLEMENTATION

4.1 Caching Web caching [3] is the storage of recently accessed

pages locally, and delivery of subsequent requests for pages from the local cache rather than the original web site. Caching resources allows a single copy of a resource to be downloaded over an external network connection and then served out to multiple users locally. Caching not only reduces the amount of bandwidth used on the external network connection but can also sometimes provide increased performance for the local users. The prime objective of caching is to improve user response time, but it also reduces the load on the long-distance links. Caching is widely

Page 45: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Managing Internet Bandwidth: Experience in Faculty of Industrial Technology, Islamic University of Indonesia – Mukhammad Andri Setiawan

ISSN 1858-1633 @2005 ICTS

39

used on the Web, and can provide bandwidth savings of up to 40% [1].

After the initial download of the resource the users do not have to compete for bandwidth on what is likely to be a slow and congested external network path. Instead, users will get a copy of the resource delivered rapidly to them from a local cache server over what will normally be a much faster and less heavily loaded internal institutional network connection.

A hierarchy of caches may be used to increase the effective cache size and thus improve the hit rate. Push caching attempts to place content in a cache before it is requested, either by looking at other caches, or by predicting usage. Some of these techniques are discussed by Dias (1996) in his research paper in title “A Smart Internet Caching System” as described in [1].

In Faculty of Industrial Technology, Islamic University of Indonesia, we do serve the Internet access by using the Squid proxy server. Squid proxy server is used to cache web pages that have been accessed recently. Squid is implemented as a transparent proxy (at the central cache server), therefore, users are automatically served by the proxy for all web access without any browser configuration.

4.2 Access List Faculty of Industrial Technology is an academic

institution. We realize that, most of Internet access should be addressed into academic needs, and should not intended to fulfill needs on leisure such as networking games, peer to peer program such as napster, e donkey, grokster, or bit torrent, and adults sites, and ads. Here, we define access lists that will control user, which site they can visit and which one is not.

We also combine access list and firewall in PC router to disable some common port that is used to run some spyware program. Figure 2 show access list that is implemented in our server.

acl notsex url_regex -i "/etc/squid/notsex" acl sex url_regex -i "/etc/squid/sex" acl utara src 192.168.100.0/24 acl ftinetwork dst 202.150.76.200/29 # http_access always_direct allow ftinetwork http_access allow notsex all http_access deny sex all http_access allow utara

Figure 2. Access list configuration file

As a result, users who try to access site that is prohibited in our access list will get an error message.

4.3 Quality of Service (QoS) To provide a good link connection, sometimes a

network manager may wish to offer different levels of

service for different subsets of the traffic passing over the infrastructure. The QoS technologies allow the manager to do this.

The service levels that QoS deals with include dedicated bandwidth, reduced packet loss, controllable amounts of jitter and latency and ensure that particular traffic flows do not swamp the network and drown out other flows. These facilities can help ensure that critical traffic is delivered more reliably [2]. The QoS systems operate only in real-time, in response to the traffic. They do not generally attempt to manage traffic over a longer term. Also, QoS systems normally operate in an environment where the total bandwidth requirement of high-priority traffic is less than the available bandwidth. If high-priority traffic approaches or exceeds the available bandwidth, performance degrades rapidly [1].

To make use of QoS, packets in flow need to be identified, classified and then marked. The identification and classification of packets is performed as described above for traffic shaping, either by source, destination and ports or by using application level probing into the packet contents [2].

In Faculty of Industrial Technology, we manage QoS especially at wireless networking. As we provided free hotspot areas, we must provide a guarantee that the academic staffs still have a good link quality even a numerous wireless user is connecting to our hotspot areas. We provide QoS well so that our bandwidth doesn’t run out quickly because of the use of WiFi devices in our free hotspot areas.

The objective of much work on Quality of Service (QoS) is to provide desired levels of throughput, delay, etc. in the face of unreliable networks and congestion. In wireless networking especially for the free hotspot areas, we provide a low priority to all services, including HTTP, FTP, POP3, SMTP and a few ports that commonly used in Internet. It means that all services will be treated as a lower level priority if there are other activities that is using those services but not using the free hotspot connections. If the priority is set to lower, a lower speed will impact; hence our bandwidth isn’t grabbed out by wireless connections. The free hotspot areas will have its high priority back if the other connection is not using those services.

4.4 Rate Limiting It is very often that the amount of traffic wanting

to use a network link of Internet far exceeds the available capacity of the link. Rate limiting techniques are designed to force some request to reduce their demands for bandwidth based on the protocol, network interface or user involved. Traffic shaping on the other hand aims to spread out the demand for bandwidth and ensure that the most efficient use is made of the available bandwidth. Both of these help to either reduce the required bandwidth to within the

Page 46: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

40

available capacity or to give competing traffic a chance of using the link.

We implement this techniques using squid delay pool and reply_body_max_size configuration. Below is our Delay pool configuration in Squid Configuration file which is located in /etc/squid/squid.conf as shown in Figure 3. reply_body_max_size 8000000 allow all acl magic_words1 url_regex -i 192.168.100 202.150.76 66.179.235 192.168.1 cisco .pdf netacad uii acl magic_words2 url_regex -i ftp .mp3 .vqf .tar.gz .gz .rpm .exe .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .tar.bz2 .bz2 delay_pools 2 delay_class 1 2 delay_parameters 1 -1/-1 -1/-1 delay_access 1 allow magic_words1 delay_class 2 2 delay_parameters 2 5000/5000 5000/120000 delay_access 2 allow magic_words2

Figure 3. Delay pool configuration File

The configuration above shows us, that a user can only download file not more than 8000000 bytes (approximately 7800 Kbytes). We prevent user to download a huge file, by doing this, it is expected that bandwidth is not run out quickly.

We also create a rate limiting management by using delay pool. Conceptually, delay pools are bandwidth limitations – “pools” of bandwidth that drain out as people browse the Web, and fill up at rate we specify – this can be thought of as leaky bucket that is continually being filled. Delay behavior is selected by ACLs (low and high priority traffic, staff vs students or student vs authenticated student or so on) [4].

Above parameters create two delay pools. Each delay pool is class 2 which is suitable for aggregate and individual access, so that we can control each client.

The first delay pool is initiated to provide a maximum capacity of Internet bandwidth to serve client, it is useful when user try to connect to local area network (begin with IP address 192.168.100), connect to site that contain UII (means every site that contain UII – Universitas Islam Indonesia – Islamic University of Indonesia), then to download some PDF and DOC file, that usually is needed by academic activities.

The second delay pool is initiated to limit the use of bandwidth capacity by limiting each user to download at maximum rate 5000 bytes (40 kbps) as an aggregate maximum download of each client, and down the rate of download speed after opening some web pages if the total amount of download exceeds 120000 bytes.

5. RESULT After implementing bandwidth management, we

examine for about a month to see how the effect on clients. As a result, we found that each client can browse sites in a tolerable speed, and sometimes can get a maximum speed. So that, users are never wait to long to get a web page shows up in their browser.

We also found that, even at peak hours time, users still can get a download speed at rate 24 Kbps per second, which mean that users can download at rate 3 Kbytes per second. And at peak off time, this speed is increasing up to 240 kbps for each user or about 30 Kbytes per second.

We realize that, we need to do more to implement a very optimum bandwidth management. And still, we do some research and collecting data in order to improve bandwidth management quality.

ACKNOWLEDGEMENT

We thank to Gesit Singgih, Agung Priyamanto and Yudha from Computer Networking Laboratory who has helped in implementing Bandwidth management.

REFERENCE [1] Dias, G.V., Managing Internet Bandwidth:

The LEARN Experience. 2005 http://www.isoc.org/isoc/conferences/inet/01/CD_proceedings/T86/ManagingInternetBandwidth.htm, accesed (May 15 2005).

[2] Knight, J.P., Review of Bandwidth Management Technologies, Availability, and Relevance to UK Education. 2003, Loughborough University Computing Services / JANET Bandwidth Management Advisory Service.

[3] Gettys, J., T. Berners-Lee, and H.F. Nielsen, Replication and Caching Position Statement. 2005 http://www.w3.org/Propagation/Activity, accesed (May 31 2005).

[4] [email protected], Squid configuration manual. 2002.

Page 47: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

41

MUE: MULTI USER UML EDITOR

Suhadi Lili, Sutarsa, Siti Rochhimah

Informatics Department, Faculty of Information Technology, Sepuluh Nopember Institute of Technology Kampus ITS, Jl. Raya ITS, Sukolilo – Surabaya 60111, Tel. + 62 31 5939214, Fax. + 62 31 5913804

email : [email protected], [email protected]

ABSTRACT Most of software developers nowadays use object-

oriented method, and Unified Modeling Language (UML) is the most popular modeling language used. There are a number of tools for modeling software application in UML notations, but the majority of those tools do not support multi-user mode, where on-line team collaboration is not supported.

In this paper, we developed a multi-user UML Editor called WEKMU. This system allows a number of developers to work together at the client site on the same model and the server keep them updated in real time of any change made by others. This feature is implemented using .Net Remoting feature provided in .NET framework. Beside the view synchronization, this system also provide another feature, that is, Undo function, which enables user to return to the previous state of the model

Keywords : UML Editor, .NET Framework.

1. INTRODUCTION

UML is the most popular modeling language used by software developer that based their engineering process on Object Oriented method. This modeling language is known to be well-defined, expressive, powerful, and widely used. Nowadays, there are already a number of tools that support this modeling language, such as ArgoUML, Poseidon, and Rational Rose. But most of them were designed for single-mode user. As the consequence, those tools do not support an online collaborative way of designing a model, which is really common in real life. Therefore, we developed a multi-user UML editor called WEKMU.

This paper covers four main issues of this system, that is:

1. How to model the 8 UML standard diagrams (use case, class, state chart, activity, sequence, collaboration, component, and deployment).

2. How .NET Remoting feature from .NET is used.

3. How the undo strategy is done and its authorization.

This paper is organized as follows. The second section describes the overview of the architecture of the system. The third section explains its implementation. The fourth section describes some

result from testing phase. The last section concludes some findings and further works.

2. SYSTEM ARCHITECTURE

Figure 1 shows the system architecture of WEKMU. This system is comprises of two main applications, that is, client and server applications. The client application resides on the user’s sites, where the editing on a model are done. This application displays the UML elements according to their hierarchy as represented by the tree view. This view can be accessed through the the model explorer. As a modification is done by a user, the client application does not immediately modify the element. All the user actions are pushed to the server application. Then, the server application makes sure that all the required manipulations are done. Then, it propagates the result of the modification too all clients, so that all views are updated.

Figure 4 System Architecture

The server and client applications are connected using .NET Remoting [1][5]. This is done as follows. The server application registers all channels and the objects, which then registered as remoteable objects. The client application receives a proxy of a remoteable object that has been activated by the server. Through this proxy, a diagram modification request is sent by the client to the server, which by the proxy will be forwarded to the respective object.

2.1. The Architecture of UML Elements There are at least 8 different diagrams in UML, i.e.

use case, class, state chart, activity, sequence, collaboration, component, and deployment. Each diagram is filled with particular kind of elements. For instance, class diagram can only contain any of the following elements: class, association relation,

Page 48: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

42

generalization relation, dependency relation, and realization relation.

An element in UML can be viewed in different diagrams. In order to do so, class representations of an element should be separated into model and glyph. An object model contains the name and other attributes of an element, while glyph contains the element position, dimension, and color in a diagram. Glyph is referred to an object model. This different glyph is then showed in corresponding diagram. This separation is implemented using a bridge pattern [4].

2.2. Model Element

A UML element can be grouped into 2 major groups, i.e. relation elements and shape elements, which become the source and destination object of a relation. A set of elements composed a hierarchy. An element can be a container of other elements. Table 1 shows the possible hierarchies.

Table 1 Possible Hierarchies

Element Possible sub-element Use case

class diagram,use case diagram,activity diagram,state chart diagram

class class(inner class), Attribute, Method, state chart diagram, activity diagram

Method Parameter, state chart diagram, activity diagram

State state chart diagram ,acitvity diagram

Activity state chart diagram, acitvity diagram

Package use case, Class, sequence object, collaboration object, Package, Component, Device, Processor, Association, Generalization, Realization, Dependency, Message

In order to arrange an element hierarchy as shown in Table 1, we use Composite pattern introduced by Gang of Four (GoF)[3]. By using this design pattern, all elements can be treated consistently, i.e. the container element or what it contains. The hierarchies of shape and relation elements are shown by Figure 2 and Figure 3, respectively.

UmlBaseRelation

UmlAssociationRelation

UmlDependencyRelation

UmlGeneralizeRelationUmlRealizeRelation

UmlStateTransition

UmlDeviceConnection

UmlInteractionMessage

Figure 5 Relation element hierarchy

UmlClass

UmlBaseShape

UmlClassAtribute

UmlElement

UmlMethod

UmlMethodParameter

UmlUseCase

UmlStateActivityUmlDecision

UmlSwimline«property»+ AttachedClass

UmlInteractionObject«property»

+ AttachedClass

UmlComponent

UmlDevice

UmlProcessor

UmlPackage

- _UmlElement

*

StateActivityContainer

- _UmlElement *

- _UmlElement

*

- _UmlElement *

- _UmlElement*

- _UmlElement*

Figure 6 Shape elements hierarchy Glyph Element

BaseGraph

BaseLineGraphBaseShapeGraph

RelationLineGraphAttachedShapeGraph

NoteGraph AttachedLineGraph

# _destGraph

# _sourceGraph

NoteAnchorGraph

# _notedShape

# _theNote

# _notedLine

Figure 7 Glyph Hierarchy

Glyph is the part that responsible to handle the representation of an element. In general, an glyph object can be explained in two different views, i.e. shape-based object (AttachedShapeGraphs) and line-based object (AttachedLineGraphs). A shape-based object contains information about dimension, width, height, and position of an object in (x,y) coordinate. A line-based object contains information about the direction of a line, which can be represented as dots of line. Figure 4 shows the class hierarchy for Glyph element. Figure 5 and 6 show their relation with model element.

AttachedLineGraphUmlBaseRelation

«property»+ AttachedRelation

Figure 8 Bridge between AttachedLineGraph and Model Element

UmlBaseShapeAttachedShapeGraph

«property»+ ObjectModel

Figure 9 Bridge between AttachedShapeGraph and Model Element

Not all glyphs require this separation, because not all elements need to be shown in more than one diagram. The following are the elements that do not require separation: note and element link to a node. These elements, called BaseGraphs, do not require

Page 49: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

MUE: Multi User UML Editor – Suhadi Lili, Sutarsa, Siti Rochhimah

ISSN 1858-1633 @2005 ICTS

43

view consistency among diagrams, because it will only shown in one diagram. For this kind of element hierarchies, we do not apply bridge pattern [2][3].

2.3. Diagram Element Diagram element represents the container of a

glyph object. There are 8 derivation classes of UMLDiagram (as being implemented by our application). The diagram hierarchy of these 8 classes can be seen in Figure 7.

UmlDiagram

UmlActivityDiagramUmlClassDiagram UmlComponentDiagram

UmlDeploymentDiagramUmlStateChartDiagramUmlUseCaseDiagram

UmlCollaborationDiagram

UmlSequenceDiagram

UmlElement

Figure 10 Element Diagram Hierarchy

2.4. Editing In our implementation, the editing process can be

seen from two sides, i.e. at the client side and at the server side. Although the client application has the direct interaction with the user actions, any editing command on the model is not carried out by the client. The editing command, i.e. insert, update, or delete, is passed by the client to the server. The server takes the decision whether an editing command will be committed or not, and then notifies its decision to corresponding clients. As soon as client receives the notification, it will update its view accordingly.

The client application consists of Diagram Editor Form and Model Explorer. The diagram editor form provides the user with means to edit a diagram. In this form, user interacts with the glyph objects. Figure 8 shows the use cases available in diagram editor form.

autentified user

mem ilih elem en

Drag elemen

res ize element

hapus elem en

mem buat elem en baru

Form diagram

render gambar

mem inta membuat emen graph

mem inta modifikasi elem en graph

mem inta delete elem en

s inkronisas i data dengan server

menotifikas i client atas perubahan

(from Use-Case M odel)

Diagram controller

(f rom Use-C ase Model)

Figure 11 Use-cases for Diagram Editor Form

The model explorer displays the model element according to the hierarchy of the element, which is viewed as a tree. In model explorer, user can interact with the model. Figure 9 shows the use cases available in model explorer.

m enam bahkan elem en baru

kondis inya dis ini adalah aplikas i client m em inta server untuk m em buat elem en

renam e elem enautentified user

(f rom aksi di f orm diagram)

ubah spes ifikas i

tam pilkan spes ifikas i<<include>>

delete elemen pada treeModel explorer

mem inta delete element m odel

mem inta modifikas i atribut

mem inta m embuat elem en model baru

Model Controller

(f rom Use-Case Model)

Figure 12 Use-cases for Model Explorer

2.5. Server Application Architecture The server application is divided into two parts, i.e.

Model Controller and Diagram Controller. The Model Controller is responsible to handle any manipulation action on the model. While the Diagram Controller is responsible to handle any manipulation action on the diagram. Therefore, there will only be one Model Controller and a number of Diagram Controllers for a running project. When the client application passes an editing command on a model element from user to the server, the command is handled by Model Controller. While an editing command on a diagram is handled by Diagram Controller.

As already mentioned earlier, a model can be referred by many glyphs that view the model on different kind of diagrams. As the consequence, any manipulation on a model element should be synchronized through all of its corresponding glyphs. If a model element is deleted, then all of corresponding glyphs should be deleted from all diagrams.

Since both objects, model and glyph, are handled by different Controllers, there should be a mechanism between both controller to handle such object manipulation. In our architecture, we used an observer pattern to represent the relation [2][3]. Figure 10 displays the implementation of this patter to these controllers.

BaseDiagramController

+ OnModelElementCreated ( )+ OnModelElementDeleted ( )+ OnModelElementModified ( )

ModelController

# _lastUndoEnabledUserSession : long = -1# _lastUndoSequence : long = 0# UndoLength : int = 20

+ CreateShapeBasedModelElement ( )+ CreateRelationBasedElement ( )+ StoreUndoData ( )+ «get» TopLevelPackage ( ) # _modelController

IListeningDiagram- _diagramControllerList

0..1

*

Figure 13 Class Relation: Model and Diagram Controller

Given this architecture decision, a Model Controller can immediately manage a model element manipulation through all the Diagram Controller.

2.6. Undo The undo command requires the application to

store all previous states, model element and glyph, that follows sequence of manipulations. When an undo command is initiated, the application not only should reverse the sequence but also execute the opposite manipulation commands. For example, if an

Page 50: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

44

undo on a delete command is initiated, the application should recreate the deleted object.

Memento Pattern In the manipulation action, the application

modifies a model element or glyph. Therefore, in the state storing process, the internal variables of the object should be copied. These internal variables are probably private attributes of the object. It means that it cannot be accessed from outside. If we change these variables as public, we might intrude its encapsulation function.

To solve this problem, we introduce memento

pattern [3]. The class that contains the internal variables that need to be stored is added with a method, SaveCurrentState for model element and SaveGraphState for glyph, that instantiate a memento class, which will store the internal variables. Figure 11 and 12 show the implementation of memento pattern.

UmlElement

+ SaveCurrentState ( )+ CopyAttributeFromStateSaver ( )

UmlElementMemento

«property» + SubElementState

- _UmlElementMemento

0..1

Figure 14 Memento class for Model Element

BaseGraph

+ GetGraphState ( )+ CopyAttributeFromStateSaver ( )

GraphMemento- _GraphMemento

0..1

Figure 15 memento class for Glyph

State Saving Mechanism As already shown, a modification can be done on

an model element or a glyph. Any modification requires the application to save the state before the modification takes effect. Therefore, any modification on a model element or glyph needs to be stored in a form of UndoItem or DiagramUndoItem, respectively.

UML diagrams are correlated with each other. Any modification on a model element may require modifications on other diagrams. Therefore, it is not a wise architecture decision to implement the undo stack on a diagram level. Because it means that each diagram save its own undo information. The information for undo command needs to be integrated. The state of a model element that needs to be saved is embedded into its class structure, as shown in Figure 13.

DiagramUndoItem

+ «property» CreatedElementID : int []+ «property» ModifiedElementSavedState : GraphMemento []+ «property» DeletedElementSavedState : GraphMemento []+ «property» UndoDataOwnerID : int

UndoItem

+ «property» UndoSequenceNumber : long+ «property» UndoDataOwner : long+ «property» CreatedModelElementID : int []+ «property» ModifiedElement : UmlElementMemento []+ «property» DeletedItemState : UmlElementMemento []

- _DiagramUndoItem*

Figure 16 Class diagram for saving states

The UndoItem can be describe as follows:

UndoSequenceNumber, a sequence number of undo information. This number is used to verify whether an undo request is correspond to the sequence number. If it is not, than an undo request is rejected.

DataOwner, the id of a user that has the right to request the undo, that is, the user that initiates the modification.

CreatedModelElementID, a list of created element IDs. This attribute is filled if the modification is a create model element command.

ModifiedElement, an array of UMLElementMemento instances that holds the states of model elements. This attribute is filled if a modification command is intitated.

DeletedItemState, a state element of a deleted model element. This attribute is filled if the modification is a deleted model element command.

The DiagramUndoItem is quite similar to UndoItem. The only difference is that DiagramUndoItem save the state of glyphs (instance of GraphMemento).

Undo Process The undo process begins by extracting the

UndoItem data that resides on the top of the stack. According to the modification data (create, delete, update), the application decides what command should be done in order to annul the previous action. Figure 14 shows the general scheme of undo process.

hapus element buat element

kopikan s tate ke dalam elemen

createditem>0 deleteditem>0

modifieditem>0

Figure 17 Undo Process: State Diagram

Page 51: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

MUE: Multi User UML Editor – Suhadi Lili, Sutarsa, Siti Rochhimah

ISSN 1858-1633 @2005 ICTS

45

2.7. Client Views Synchronization To maintain the synchronization view among the

clients that connected to the server over the same model, the server need to notify its clients of any modification that takes place. The mechanism used is push. Basically, the relation between server and client is similar to Model and Diagram Controller. But, server and clients reside in separate sites. Therefore, we use .NET Remoting [1][5] to enable the synchronization between server and clients.

It begins with client that registered its interface methods to server by delegating them. The server sees the clients as the delegated method. When the server needs to notify a client, it triggers the delegate method of the client. And then the delegated method functions as server notification for the client.

3. IMPLEMENTATION In the implementation phase, we use C# (under

.NET Platform 1.1) [1]. We deploy the system in 7 projects, where two of them are the client application and server application. The server is deployed as a console application, while the client application is deployed as a GUI-based application. The rest of the projects are built as shared libraries (.dll) to support the server and client applications.

4. TESTING

For the testing phase, we have planned a number of testing scenarios. These scenarios are targeted to verify the system integration and based on the use cases that we have proposed. Parts of the tests involved a number of users working together on a same model and exercising the modification commands.

The results show that the system functionalities meet its specification. But it fails to show a significant performance in the sense of execution and responds time. 5. CONCLUSION

Through the engineering process of this system, we come out with a number of conclusions. This application enables software designers to

collaborate together when designing system using the 8 UML diagrams in online manner.

The separation of model element and glyph and the implementation of bridge pattern allow representations of an element in different diagrams.

Memento pattern is very effective to solve the undo mechanism problem, i.e. accessing internal (private) variables of a class.

The .NET Remoting has eased the mechanism of notification for two different objects that resides in different sites.

REFERENCE [1] Barnaby, Tom. Distributed .NET

Programming in C#. Apress. 2004 [2] Fischer et.al. Professional Design Pattern in

VB .NET: Building Adaptable Application. Wrox. 2002

[3] Gamma et.al. Design Patterns Elements of Reusable Object Oriented Software. Addison Westley. 1995

[4] Grady, Booch. The Unified Modeling Language User Guide. Addison-Wesley. 1999.

[5] Microsoft Visual Studio .NET 2003. Documentation.

Page 52: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

46

DESIGNING SECURE COMMUNICATION PROTOCOL FOR SMART CARD SYSTEM, STUDY CASE: E-PURSE APPLICATION

Daniel Siahaan I Made Agus Informatics Department, Faculty of Information Technology, Sepuluh Nopember Institute of Technology

Kampus ITS, Jl. Raya ITS, Sukolilo – Surabaya 60111, Tel. + 62 31 5939214, Fax. + 62 31 5913804 email : [email protected], [email protected]

ABSTRACT

This paper discusses the high-level security protocol and the verification as used for developing a secure e-purse transaction between smart card applet and its terminal applications. This work is part of the E-Purse project, which is carried out in Software Engineering Laboratory, Informatics Engineering, ITS. There are four interfaces, which are used as communication channels between components in an e-purse system. These interfaces need to be secured from malicious actions. Therefore, we implemented two protocols, i.e. Bilateral Key Exchange and our version of corrected BKE algorithm. In order to verify that the protocols are indeed securing the interfaces, we use Casper/FDR. And as the result, both protocols were successfully passed the verification process

Keywords : Bilateral Key Exchange (BKE), Casper/FDR, E-purse, Smart Card System..

1. INTRODUCTION

This paper is a result of e-purse project, which is carried out at Software Engineering Laboratory, Informatics Engineering, ITS. It describes the high-level security protocols and the verification as used for developing a secure e-purse transaction between smart card applet and its terminal application. Furthermore, in order to verify our security protocol, we use Casper/FDR [1]

This paper is organized as follows. The second section describes the overview of the e-purse system. The third section explains the security protocol that is implemented for the communication between its components and its enhancement. The fourth concludes with some findings and further work. 3. E-PURSE

The e-purse application is targeted for a banking company that wants to provide its customers the possibility of using electronic cash, an application that

Figure 18 E-Purse System Architecture.

resemble our purse or wallet. Our product provides the software necessary for the customers’ smart cards and the reload and point-of-sale terminals (POSs).

Figure 18 describes the different parties in the e-purse model that we are trying to develop. Those components within the “Developed” rectangle are developed within the project. And thus, the access to the interfaces should be secure and restricted to satisfy requirements of the system, which are security and data integrity.

4. SECURITY PROTOCOL

The security protocol that we consider here is for the communication between the components within the e-purse system, that is, POS with Smart Card, Amount Repository, Maintainer System, and Cash Register; and Reload Terminal and Smart Card.

Page 53: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Designing Secure Communication Protocol for Smart Card System, Study Case: E-Purse Application – Daniel Siahaan & I Made Agus

ISSN 1858-1633 @2005 ICTS

47

4.1 Interfaces In our e-purse system, the hardware and software

interfaces look like those diagrams shown in Figure 19 and Figure 20, respectively.

Figure 19 Hardware Interfaces.

The terminal system consists of a personal computer which is connected with the Chip Drive via the USB port.

Figure 20 Software Interfaces.

The PC/SC (Personal Computer Smart Card, see [9]) interfaces with the hardware. OCF (Open Card Framework, see [10]) provides a framework for inter-operable smart cards solutions used by the Terminal software. The Java applet running on the smart card uses the JCOP framework [11],[12]. IBM JCOP is an implementation of several open smart card standards like JavaCard™, GlobalPlatform and ISO (7816, 14443).

4.3 Verification Tool In order to verify that the communication protocols

used in the interfaces are indeed secure, we use a verification tool. There are a number of verification tools that implement certain verification method, such as Casper/FDR, Isabelle, and CSP ([1], [5], [7] and [8]). In the implementation of our e-purse system, we use Casper/FDR as the verification tool. This tool provides a simple mechanism for user to check the authentication and secrecy of a communication protocol. It uses a custom input language specially tailored for security protocol checking. Furthermore, it has successfully tested a wide range of security protocol.

4.2 POS – Smart Card For communication between the point of sales and

the smart card, both sides need to be authenticated. In addition a secure session needs to be established over which messages can be sent.

Iteration 0 In our first approach, we used the BKE (Bilateral

Key Exchange) algorithm. The smart card (represented by B) and the POS terminal (represented by A) both have a public and private key pair ((P(A), S(A)) and (P(B),S(B))). The other party knows the public key. First, both parties authenticate and agree on a (symmetric) session key (kab). This session key is used for the remaining communication.

A B na,AP(B) A B na,nb,B,kabP(A)A B nbkab A B OK/NOKkab

With na, nb: Nonce; kab: session key, P(L): public

key of L; At this point both sides are authenticated, and a

session key is available. We expected that we could use the session key without problems and verified this with Casper.

A B na,AP(B) A B na,nb,B, kabP(A) A B nbkab A B OK/NOKkab A B m1kab A B m2kab

With na, nb: Nonce; kab: session key, P(L): public

key of L; m1,m2: message (The message contains the function (with arguments) to execute, e.g. “Add(25)”)

The Casper analysis showed that a man in the middle could reuse messages that were sent encrypted with the session key.

Iteration 1 To prevent this, we decided to send a sequence

number along with the sent messages. In this way, reuse of sent messages can be detected. There are seemed to be an obvious way to model this in Casper. This is probably due to the possibility of infinity of the sequence numbers (so it is hard for Casper to check the state space). As the solution, we modelled each sequence number as a different type.

This time, no problems were found (in addition, we modified the algorithm, so session keys are generated on the terminal side (which is expected to have more computational power).

A B na,A,kabP(B) A B na,nb,BP(A) A B nbkab A B OK/NOKkab A B message,0kab A B response,1kab A B message,2kab

Page 54: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

48

A B response,3kab … …

With na, nb: Nonce; kab: session key, P(L): public

key of L; message,response: message

4.4 Environment - POS The same approach is taken for POS – amount

repository (where POS fulfils the role of A and the amount repository that B).

The Cash register (represented by A) – POS (represented by B) and Maintainer System (represented by A) – POS (represented by B) use a different protocol, as they don’t need the possibility of sending more then one message in a session. A and B both have a public and private key pair. The other party knows the public key. First, both parties authenticate and then agree on a (symmetric) session key.

A B na,A,kabP(B) A B na,nb,BP(A) A B nb,messagekab A B responsekab

With na, nb: Nonce; kab: session key, P(L): public

key of L; message,response: message. As the previous communication, we also verified

this security protocol using Casper. We found that there is no problem.

5. CONCLUSION

Because the representation of a protocol is quite short in Casper/FDR, the detection of the communication protocol’s flaws is quickened. Although the protocols are correctly verified with Casper/FDR, this is no guarantee that this is the case for the implementation. This is because things considered as atomic in Casper might not be atomic in the implementation.

Using the communication protocol that we proposed, that is, BKE and corrected BKE, we can develop secure interfaces for e-purse system. And as

the future work, we would like to integrate our e-purse system with other smart card systems, e.g. loyalty card, freeway card, petrol-rationing card, and rent-a-car card.

REFERENCE [1] Casper: A Compiler for the Analysis of Security

Protocols. Computing Laboratory. Oxford University. http://web.comlab.ox.ac.uk/oucl/work/gavin.lowe/Security/Casper/index.html

[2] Siu-Cheung Charles Chan, An Overview of Smart Card Security, 1997. http://home.hkstar.com/~alanchan/papers/smartCardSecurity/

[3] J.A. Clark and J.L. Jacob. A survey of authentication protocol literature. Technical Report 1.0, 1997.

[4] Dinoj Surendran, Smart Card Technology and Security. http://people.cs.uchicago.edu/~dinoj/smartcard/security.html

[5] EPSRC, Verifying Security Protocols Using Isabelle. http://www.cl.cam.ac.uk/users/lcp/papers/protocols.html

[6] A.W. Roscoe, Modelling and Verifying key-exchange protocols using CSP and FDR, Proceedings of The Eight IEEE Computer Security Foundations Workshop (CSFW ’95), 1995

[7] Schneider et.al., Modelling and Analysing of Security Protocols. Addison-Wesley Professional, 2000.

[8] S. Schneider, Verifying Authentication protocols in CSP, IEEE Transaction on Software Engineering. Vol.24, Issue 9. 1998.

[9] PC/SC Workgroup. http:/www.pcscworkgroup.com

[10] Open Card Framework Workgroup. http://www.opencard.org

[11] Java Card Open Platform. http://www.zurich.ibm.com/jcop [12] Java Card Technology. http://java.sun.com

Page 55: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

49

FUZZY LOGICS INCORPORATED TO EXTENDED WEIGHTED-TREE SIMILARITY ALGORITHM FOR AGENT MATCHING IN VIRTUAL

MARKET

Sholeh Hadi Setyawan* , Riyanarto Sarno† *Informatics Engineering Department, Faculty of Engineering, Surabaya University

Raya Kalirungkut, TC Building, 2nd Floor, Surabaya 60293, Indonesia Tel. +62 31 298 1395, Fax. +62 31 298 1151

†Faculty of Information Technology, Sepuluh Nopember Institute of Technology Kampus ITS, Jl.Raya ITS, Sukolilo-Surabaya 60111, Indonesia

Tel. +62 31 593 9214, Fax. +62 31 592 3804 Email : [email protected], [email protected]

ABSTRACT Multi agent system such as AgentMatcher, is

implemented in many virtual market in e-commerce. The virtual market consists of buyer agent, seller agent and middle agent. The important issue regarding process involved in virtual market is matchmaking process. The matchmaking process performed by middle agent to find the closest match pair between buyer agents and seller agents. In AgentMatcher Architecture, the matchmaking procedure including similarity calculation, pairing and negotiation. The similarity calculation is peformed based on buyer agent and seller representation. The representation of buyer agent and seller agent specification may use the form of arc-labelled, arc-weighted, node-labelled tree. This form has advantages such as accommodation of structured inter-relation between variables, accommodation of importance, preference or priority by using arc-weight. Similarity calculation between two tree representation in AgentMatcher Architecture performed by Extended Weighted-Tree Similarity Algorithm. In the recent development of the algorithm, comparison between node labels is based on string matching. In this research, the Extended Weighted-Tree Similarity Algorithm will be improved by applying fuzzy logic to compare adjective node labels. This improvement will be help to catch semantic meaning, therefore bringing better similarity calculation. The negotiation process in AgentMatcher Architecture is also improved by adding dimension. Keywords : agent, virtual market, matchmaking, similarity, extended weighted-tree, fuzzy logic. 1. INTRODUCTION

Multi-agent system as a further development of artificial intelligence technology and distributed computation has settled as a modern software model alternative and widely used nowadays [1][2]. The advantage of this system is based on the autonomy, proactive, and intelligence of the agent and its capability to cooperate with other agents. The multi

agent system has widely accepted as a system that efficient, effective and closest to represent traditional commercial transaction [3][4].

In general, multi-agent system consists of provider agent, service requester agent dan middle agent. Provider agent provides certain service such as information searching or solving problem at specific domain. Requester agent is the agent who needs the service. Middle agent has main task of matchmaking between provider and service requester agents. Some systems give different names to this middle agent such as profile agent, broker agent, matchmakers [2], info agent [5], communication facilitators, mediators [6].

The process performed by middle agent to find the match between provider and requester agent is called matchmaking. In general, the process consists of this sequence [7] : • Provider agent advertise its capability to middle

agent • Middle agent store that advertising information • Requester agent send request to middle agent, ask

if there exists provider agent having advertisement match the required specification.

• Middle agent perform matchmaking process between the request and the stored advertisement, and give the result to requester agent. The result is a subset of advertisement closest to the request.

The AgentMatcher architecture applied to power

grid transaction, adds pairing and negotiation process to find the closest pairs based on price and the amount of power provided [8].

The matchmaking process is done by finding the highest similarity, or the lowest distance between requester agent request and the provider agent advertisement specification. There are methods to represent information/ knowledge used in multi-agent systems, such as LARKS (Language for Advertisement and Request for Knowledge Sharing) [7], KQML (Knowledge Query and Manipulation Language) [6], and object representation using node labelled, arc labelled, arc weighted tree in Object Oriented Rule Markup Language (OO RuleML) [9].

Page 56: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

50

LARKS and KQML using a list to store specification in contrast with OORuleML that using a tree. The tree representation has some advantages. The first advantage is the ability to accommodate the complex knowledge in structural way. Minor specification will be put to the branch farther from the root rather than the major specification. The second advantage is the flexibility to represent missing specification. If there is a missing specification, it should be treated different from a specification with zero value. In this situation, the missing specification is represented by a missing node and branch after the node. The third advantage is the ability to represent priority, preference or importance using weight that put on all branch. By using this structural and weighted approach, the matchmaking process using tree representation is hoped to be more finegrained [1].

Car

Make0.15

Sedan TOYOTA

Body Style0.5

Year0.05

Price0.3

510000002003

Figure 1. Tree representation of car request

If the matchmaking process is better, then the behaviour of multi-agent system is closer to the real system represented. The closer to real system, make the multi-agent system receiving higher degree of success [10].

The example of request representation of a car is shown in Figure 1, and the correspondent OORuleML representation is in Figure 2. The full specification of the car is shown in Figure 3.

<cterm> <_opc> <ctor>Car</ctor> </_opc> <_r n=“BodyStyle” w=“0.5”> <ind>Sedan</ind> </_r> <_r n=“Make” w=“0.15”> <ind>TOYOTA</ind> </_r> <_r n=“Price” w=“0.3”> <ind>51000000</ind> </_r> <_r n=“Year” w=“0.05”> <ind>2003</ind> </_r> </cterm>

Figure 2. OORuleML Representation Example

In OORuleML representation, the complex term element (cterm) serialized the whole tree. The root of the tree serialized by opc element, and the node label is serialized by ctor element. Every edge/arc serialized by role (_r) element, and the role label is serialized by individual constant element (ind).

One of the algorithms to find the similarity between two trees is Extended Weighted-Tree Similarity Algorithm. [Bha et. al.-2003]. The algorithm is applied to some multi agent systems such as ACORN (Agent-based Community Oriented Routing Network) [Mar et. al.-2003]. ACORN is a distributed multi-agent architecture to search, distribute and manage information in a network.

The Extended Weighted-Tree Similarity algorithm and then further improved by adding arc/edge variance calculation, pairing and negotiation method [8]. The other implementation of the algorithm is to estimate the effort in software engineering using global normalized ratio method [11].

The latest development of the algorithm using “string matching” to compare the values between two correspondent nodes. This approach need to be improved in order to accommodate the semantic meaning of the string. One of the method to meet the requirement is fuzzy logic, applied to compare two node labels having adjective values. This fuzzy logic comparison method is based on membership functions, the result is a value between 0 and 1. For example, to compare the values “12” and “young” which represent the age of people, the result of string matching comparison is “0”. But using fuzzy logic with certain membership function, the result is a value near or equal 1, which is closer to the real world comparison.

This paper will propose improvement of original Extended Weighted-Tree Similarity using Fuzzy Logic Method when comparing node labels having adjective values in multi-agent virtual market system. By using this improvement, the matchmaking process will be more accurate, and the virtual market behaviour is closer to the real world market represented.

Page 57: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Fuzzy Logics Incorporated to Extended Weighted-Tree Similarity Algorithm for Agent Matching in Virtual Market – Sholeh Hadi Setyawan & Riyanarto Sarno

ISSN 1858-1633 @2005 ICTS

51

2. IMPROVED EXTENDED WEIGHTED-TREE SIMILARITY ALGORITHM

Extended Weighted Tree Similarity Algorithm is used to measure the similarity between two trees. The similarity is a value between 0 and 1. Value 0 means totally different and value 1 means exactly the same. The form of the tree representation used in this algorithm refers to Weighted Object-Oriented RuleML or Relfun Specification. The algorithm is based on recursive case analysis. There are 3 main functions : treesim, treemap dan treeplicity. The function call structure are :

Parameters are in “[]“ Arguments are in “()”

2.1. Function treesim[N,A](t, t’) The function has two parameters : • “N” Parameter is node-identity fraction, that

is a value between 0 dan 1, is a value given if the correspondent root labels are exactly the same.

• “A” Parameter is an Arc Function, to adjust the similarity result, giving compensation of similarity degradation of nested trees

• “t” dan “t’” arguments are the two tress to calculate

• The result of this function is a value between 0 and 1.

2.2. Function treemap [N,A] (l , l’) This function recursively compares two list l and

l’, each list is a set of arc of each level of the tree. The result of this function is a value between 0 and 1.

2.3. Function treeplicity(I, t) This is a recursive function to measure the

simplicity of a tree. The result is a value between 0 and 1. Value near 1 represent a simple tree, and value near 0 represent complex tree. If the level of the tree increase, or the count of arc increase (increasing breadth dan depth), then the result of this function decrease. “I” is depth degradation value which is initially equals (1-N). After each increasing level, this value will be multiplied by a global factor named treeplideg which the value is <= 0.5.

2.4. Function treeplimap(I, l) This is a recursive function to map the degree of

simplicity of a role list. The result is depend on weight and simplicity of the subtree.

2.5. Algorithm Improvement There is still a need to improve the Extended

Weighted Tree Similarity Algorithm [Sar et. al.-2003], because when comparing two node labels or arc labels, the algorithm uses “string matching” approach. This approach has disadvantage which is unable to accommodate uncertainty and imprecision. In fact, human mind is easier to accept and express linguistically (context sensitive), easier to deal with uncertainty and imprecision rather than exact values [Zad-1994]. For example, it is easier to accept and to express “a cheap car having big diesel engine“ than “a US$1500 car having 5000 cc diesel engine”. In this situation, the fuzzy logic method is required. The improvement of the algorithm is adding capability to apply fuzzy logic method when comparing two node labels having adjective values (v1 and v2), using these rules :

C ar

A n ti L oc k B ra k e s 0 .1 6 7

C o u n try0 .1 6 7

B o d y S ty le0 .1 6 7 M a k e

0 .1 6 7P ric e0 .1 6 7

Y e a r0 .1 6 7

D rive L in e 0 .0 9 1

F u e l 0 .0 9 1

P a s se n g e r V an U S A

H o n d aS ta n d ard 2 4 4 9 0 0 00 0 2 0 0 4

O D Y S S E Y M o d e l

1

L X 5 -S P D A T

T yp e1F ro n t

W h e e l D riv e

G a so lin e

E n g in e C a p ac ity 0 .5

N o . o f C ylin d e rs 0 .5

35 00 6

M a x H o rs e P ow e r

0 .5 M a x To rq u e

0 .5

2 4 0 24 2

H e ig h t 0 .0 9 1

1 7 3 9 .9

L e g R o o m F ro n t 0 .0 9 1

1 0 4 1 .4

L e gR o o mR e a r0 .0 9 1

10 1 6

L e n g th0 .0 9 1

5 1 1 0 .4 8

S ta n d a rdS e a tin g0 .0 9 1

7

To w in gC a p a c ity

0 .0 9 1

W id th0 .0 9 1

T ra n s -m iss io n0 .0 9 1

W he e lB a s e0 .0 9 1

8 8 0

A u to m a tic

2 9 99 .7

19 20 .2 4

Figure 3. Example of car specification tree

Page 58: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

52

• if both v1 and v2 is not fuzzy/ adjective variables, the similarity is 1 if v1=v2 and 0 otherwise

• if both v1 and v2 is fuzzy/adjective variables, and both v1 and v2 having fuzzy values, the similarity is 1 if v1=v2 and 0 otherwise

• if both v1 and v2 is fuzzy/ adjective variables, and v1 having fuzzy value, but v2 having crisp value, the similarity is the membership function value f(x) of v1 for x=v2

• if both v1 and v2 is fuzzy/ adjective variables, and v1 having crisp value, but v2 having fuzzy value, the similarity is the membership function value f(x) of v2 for x=v1

• if both v1 and v2 is fuzzy/adjective variables, and both v1 and v2 having crisp values, the similarity is the defuzzification value of both membership function of v1 and v2 using min-max method

3. EXPERIMENT RESULT

First, the correctness of algorithm is compared to the result of case analysis as listed in the last research of algorithm [Bha et. al.-2003]. The output of the last research can be tested using server http://serv-4100.dfki.uni-kl.de:8000/~vega/cgi-bin/rfi. From the case analysis, the improvement has better result for the case of: a. Similarity of two trees having different node

labels

Car

Low

Price0.5

Year0.5

2003

Car

15000000

Price0.5

Year0.5

2002t1 t2

Figure 4. Two trees having different node labels

The original algorithm result is 0. When 15000000 is a representation of price car in Indonesian Rupiahs, it is common that such price is cheap for any common car. The result of improved algorithm is near or equal 1, more realistic than original algorithm.

b. Similarity of two trees having extreme different weight

Car

Low

Price0.0

Year1.0

2003

Car

15000000

Price1.0

Year0.0

2002t5 t6

Figure 5. Trees having extreme different weight

The original algorithm result is 0.1, but the improved algorithm result is 0.55. Again with assumption of common cheap price in Indonesian Rupiahs, the improved algorithm giving more realistic similarity.

c. Similarity of two trees having missing information

Car

Low

Price1.0

Make0.05

TOYOTA

Car

15000000

Price0.9

Year0.05

2002t11 t12

Car

Low

Price1.0

Make0.45

TOYOTA

Car

15000000

Price0.1

Year0.45

2002t9 t10

Figure 6. Pairs of trees having missing information

Table 1. Result Comparison of case c. Similarity

Tree String matching

Fuzzy Logic

t9 t10 0.2823 0.7773 t11 t12 0.1203 0.9752

Again with assumption of common cheap price in

Indonesian Rupiahs, the improved algorithm giving more realistic similarity.

Page 59: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Fuzzy Logics Incorporated to Extended Weighted-Tree Similarity Algorithm for Agent Matching in Virtual Market – Sholeh Hadi Setyawan & Riyanarto Sarno

ISSN 1858-1633 @2005 ICTS

53

d. Similarity of two trees with different complete information

Car

Low

Price0.5

t15

Car

Low

Price1.0

Make0.333

TOYOTA

Car

15000000

Price0.334

Year0.333

2002

t13

t14

1999

Year0.5

Figure 7. trees with different complete information

The result comparison is listed in Table 2. Table 2. Result Comparison of case d.

Similarity Tree String

matching Fuzzy Logic

t13 t14 0.2349 0.8352 t15 t14 0.1674 0.5427

The algorithm improvement is applied to a

prototype of car virtual market, having dataset of 1016 types of car from 53 car make around the world, taken from various car web site portals. The car specification is converted to OORuleML format and store in database, represent a seller agent advertisement.

The buyer request is generated using a web form interface, allowing buyer to define the requirement using fuzzy values for adjective variables, and also allowing buyer to define all or part of the specification required.

4. CONCLUSION

Knowledge or object specification representation using arc-labelled, arc-weighted, node-labelled tree has some advantages such as: a. accommodating flexible level of preference,

importance or priority. b. adapting hierarchy or structure of inter-variable

dependency. c. accommodating incompleteness of information

which is common in real world. In this research, the tree representation is used for

car specification.

The extended weighted-tree similarity algorithm using the tree representation as input to calculate the degree of similarity between two objects. Applying fuzzy logic to improve the algorithm gives more realistic result than original algorithm. The fuzzy logic is applied to adjective variables.

With improvement in similarity calculation, will further improve the functionality of middle agent in a virtual market multi-agent system, giving the behaviour of virtual market closer to the real market represented. REFERENCE [1] Bhavsar, C., Virendrakumar; Boley, Harold;

Yang, Lu. A Weighted-Tree Similarity Algorithm For Multi-Agent Systems In E-Business Environments. Business Agents and the Semantic Web (BASeWEB) Workshop; Halifax, Nova Scotia, Canada : 2003.

[2] Kehagias, Dionisis; Chatzidimitriou, C., Kyriakos; Symeonidis, L., Andreas; Mitkas, A., Pericles. Information agents Cooperating with Heteregoneous Data Sources for Customer-Order Management. Proceedings of the 2004 ACM Symposium on Applied Computing, March 14-17, 2004, Nicosia, Cyprus, 2004

[3] Karacapilidis, Nikos; Moraïtis, Pavlos. Intelligent Agents For An Artificial Market System, Proceedings Of The Fifth International Conference On Autonomous Agents, Montreal, Canada, May 2001

[4] He, Minghua; Jennings, R., Nicholas. SouthamptonTAC: An Adaptive Autonomous Trading Agent, ACM Transactions on Internet Technology (TOIT), Volume 3 Issue 3, August 2003.

[5] Marsh, Stephen; Ghorbani, A., Ali; Bhavsar, C., Virendra. The ACORN multi-agent system. Web Intelligence and Agent Systems : An International Journal I, 2003

[6] Finin, Tim; Fritzon, Richard; McKay, Don; McEntire, Robin. KQML as an Agent Communication Language, Proceedings of the 1994 Conference on Information and Knowledge Management, November 1994, Gaitherburg, USA.

[7] Sycara, Katia; Klusch, Matthias; Widoff, Seth; Dynamic Service Matchmaking Among Agents in Open Information Environments. SIGMOD Record, Vol. 28, No. 1, March 1999.

[8] Sarno, Riyanarto; Yang, Lu; Bhavsar, C., Virendra; Boley, Harold. The Agent Matcher Architecture Applied to Power Grid Transactions. IEEE/Web Intelligence Consortium International Conference on Web Intelligence, Halifax, Nova Scotia, Canada, 2003.

Page 60: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

54

[9] Boley, Harold. Object-Oriented RuleML: User-Level Roles, URI-Grounded Clauses and Order-Sorted Terms. Springer-Verlag, Heidelberg; 2003.

[10] Chen, Gang; Yang, Zhonghua. Multi Agent Coordination : A Fuzzy Logic Based Approach. AAMAS ’03; July, 14-18, 2003

[11] Fabianto, Ervan., Ratio Extended Weighted Tree Similarity Algorithm Applied to Cost Estimate of Software Development. Thesis. Surabaya: Post Graduate Program, Faculty of Informatics Engineering, Sepuluh Nopember Institute of Technology; July 2004.

Page 61: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

55

SHAPE MATCHING USING THIN-PLATE SPLINES INCORPORATED TO EXTENDED WEIGHTED-TREE SIMILARITY ALGORITHM FOR

AGENT MATCHING IN VIRTUAL MARKET

Budianto1, Riyanarto Sarno2 1Indonesia Informatics Institute

Jl. Biliton 21-23, Surabaya 60281, Indonesia Tel. +62 31 5046666 Fax. +62 31 5043334 2Faculty of Information Technology, Sepuluh Nopember Institute of Technology, Surabaya

Kampus ITS, Jl. Raya ITS, Sukolilo – Surabaya 60111, Indonesia Tel. + 62 31 5939214, Fax. + 62 31 5913804

email: [email protected], [email protected]

ABSTRACT A weighted-tree similarity algorithm has been

successfully used in the e-business environments and power grid transactions. Using the weighted-tree similarity algorithms, we can compute the similarity of two agents having textual information. This paper proposes the extension the weighted-tree similarity algorithm in order to compute the similarity of two agents having visual information. The extension of the algorithm incorporates shape matching with Thin-Plate splines transformation. The computation results show that the similarity tree algorithm can be employed in agent matching to obtain the most appropriate garment.

Keywords: Multi agents system, similarity algorithms, shape matching, shape context, thin-plate splines. 1. INTRODUCTION

Distributed Artificial Intelligence (DAI) has emerged more than a decade as a field of artificial intelligent concern with how groups of agents solve problem. In DAI a society of problem solver composed of computers and people interacting each other to solve a common problem. The society is called Multi agent system which can be defined as a network of problem solver that work together to solve problems that beyond individual capabilities [9]. Historically, distributed artificial intelligent is divided into two broad camps: (1) multi agent system (MAS), which concern with collection of autonomous agents which communicate, cooperate, share knowledge and solve their own problem, and (2) distributed problem solver, a collection of agent that cooperate, sharing knowledge, and solve a common given problem [10, 15].

In the MAS, agents communicate each others to solve their problems. Based on communication structure, MAS can be divided into two categories: (1) blackboard and (2) messages passing [7].

In the blackboard structure, MAS for e-commerce application usually employs the virtual market places, where agent buyer and agent seller meet to coordinate

their preferences and find agreement among them. To enable negotiation among agents in the MAS, agents bring the owner’s preferences and act on the behalf of the owner. Many models can be used to describe the information of agents. In ACORN [11], An Agent-based Community Oriented Routing Network use community based approach for searching distribution and management information in network, information is carried in the form of a set of key words.

Later, some improvement on the information model is made to give well-descriptive preferences. Such model is in the form of node-labeled, arc-labeled, arc-weighted tree to represent the agent preferences in the hierarchical model [4]. Using the tree, the well structured preferences can be obtain.

Setyawan et.al. [14] propose the extension of the Extended Weighted-Tree Similarity Algorithm by incorporating fuzzy logics to compare adjective node labels. This improvement can handles semantic meaning of the node labels.

In the form of arc-labeled arc weighted tree, each agent can bring information by giving information in the node of the tree. Such model has been used by Bhavsar et.al. [4,5]. Unfortunately, agents can only bring textual information, while in the real-world application there is information which is difficult to be described using only textual information such as image, video, and sound.

To improve the capabilities of the tree, we add a node shape to bring any visual information. Using node shape, the agent can bring not only textual information, but also visual information [8].

After we employ node shape, we also need to improve the weighted-tree similarity algorithms by applying shape matching algorithm. Shape matching algorithm is used only on the node shape to find similarity between two node shapes.

This paper is organized into 5 sections: section 2 gives a brief description about multi agent system; section 3 reviews a weighted-tree similarity algorithm; section 4 describes about node shape in the arc-labeled arc weighted trees; next on section 5, we discuss about how shape matching with thin-plate splines is used to improve the capabilities of the weighted-tree

Page 62: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

56

similarity algorithm; finally, Section 6 and section 7 presents the experiment result and the conclusion respectively.

2. MULTI AGENT SYSTEM (MAS)

MAS must have several aspects to enable agents to exchange information among them. Among many aspects of agent in MAS, communication, coordination and negotiation are the essential characteristics of MAS. Many researches involved in this three area of communication, coordination, and negotiation aspects. After they have communication among them, they need to coordinate their activities and negotiate their interest to solve problem without confliction [9].

ACORN (Agent-based Community Oriented Routing Network) as one of multi agent system use community based approach for searching distribution and management information in network [11]. The agents in ACORN are autonomous agent who acts autonomously and make their own decision on the owner behalf.

Figure 1. Virtual market [4, 11]

One capabilities of ACORN architecture is to provide information sharing among agents. Café is a place where agent can share its information among themselves as shown in figure 1. Figure 1 show the virtual market adopted from [4, 11]. Here, the virtual market is the place to exchange information among agent buyer and agent seller.

For communication between agent buyer and agent seller, there is a café manager who manages the information exchange. At a certain time, all agents give their information to the café manager. The café manager compares all data, sharing out any relevant data to agents who would find it of use. Moreover, the café manager maintains the mingling of agents in the café. Since the sharing information by café manager, each agent will know about other agents and it can contacts interested agent to learn more.

3. A WEIGHTED-TREE SIMILARITY ALGORITHMS

In ACORN, information carried by agents is represented as a set of key words with their weights [11]. In the real world cases, such flat information can not give the whole description about the agent’s preferences. To solve the problem, bhasvar propose the form of weigted tree to represent the agent preferences [11, 13]. The description of seller and buyer agents’s preferences are represented using node-labelled, arc-labelled, arc-weighted trees. The tree has been suitably applied as representation of knowledge of an agent. Using similarity tree algorithms, we can set up the matching process between two trees and find the similarity between them. Then, the pairing and the negotiation process would be the next process between two agents with best similarity to make an agreement.

In the arc-labeled arc weighted tree, the arcs will always be labeled in alphabetical order. Moreover, bold font is used to difference between arc labels and node labels as shown in figure 2.

Figure 2. Example trees of garment item

Figure 2 also shows the example trees of garment item. The tree brings three types of information: Age, Occasion, and Type of garment. Each has weighted information 0.3, 0.3, and 0.4 respectively.

The depth of the tree is not limit with one or several level. The depth and the complexity of the tree can be vary depend on the information given. In the real world application, an agent can bring more complex such as shown in figure 4. <cterm> <_r n=”Age” w=”0.3”> <ind>Adult</ind></_r> <_r n=”Occasion” w=”0.3”> <ind>Formal</ind></_r> <_r n=”Type” w=”0.4”> <ind>Shirt</ind></_r>

</cterm>

Garment

Adult Formal T-Shirt

Age 0.3 Occasion

0.3

Type 0.4

Garment

Adult Casual Shirt

Age 0.3 Occasion

0.3

Type 0.4

Shirt

Garment

Adult Formal

Age 0.3 Occasion

0.3

Type 0.4

(a) (b)

(c)

.

.

Buyer 1

Buyer 2

Buyer n

.

.

Seller 1

Seller 2

Seller n

Virtual market

Page 63: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Shape Matching Using Thin-Plate Splines Incorporated to Extended Weighted-Tree Similarity Algorithm for Agent Matching in Virtual Market – Budianto & Riyanarto Sarno

ISSN 1858-1633 @2005 ICTS

57

Figure 3. The symbolic tree representations of figure 2(a).

Bhavsar et.al. then used RuleML to represent the tree in object oriented model [4, 5, 13]. Element _r is a metarole contains the names and weights of arc labels (see figure 3).

For similarity algorithms, the weighted-tree similarity algorithm recursively traverses every pair of trees and calculate the similarity on each node to find the similarity between two trees. The algorithm compute the average of weights from two trees,

2/)( 'ii ww + and obtain the similarity si of tree t1

and tree t2 recursively by multiply an arc function A(Si) and the averaged weight. Then Sum of

2/))(( 'iii wwSA + is divide by sum of all averaged

weights [4]:

∑ ∑ ++ 2/)(/)2/))((( ''iiiii wwwwSA (1)

Later the weighted-tree similarity algorithm is refined by applying weight variance on the selection of the most preferable agent when several agents have the same similarity [13]. Here is the formula of weighted-tree similarity algorithm with weight variance:

∑ −+−=n

iiii nwwwwiance1

2'2 /)))()(((var (2)

where 2/)( 'iii www −= and n = number of weight

pairs. Using variance to choose the preferable agents is done by selecting the smaller variance. 4. NODE SHAPE IN THE ARC-LABELED ARC-WEIGHTED TREES

In this research, we build the arc-labeled arc-weighted tree for garment as seen in figure 4 and include node shape to unable weighted-tree similarity algorithm to bring information about the shape of a cloth or dress in the trees. With the arc-labeled arc-weighted tree, a buyer/seller can describe his information not only using node label but also using node shape [8].

First, Let us consider a buyer who wants to buy a cloth with specific shape instead of textual information. Using the previous arc-labeled arc-weighted tree [6], he would find difficulties to describe the shape using node label. Yet it is easy to describe the shape of a cloth using node shape.

In figure 4, the tree show garment information which employ two node shapes for information about the back and the front shape of a cloth. After applying node shape, we need an algorithm to match between two node shapes.

The shape matching using shape context with Thin-Plate splines used in this research is employed to the problem [1, 2, 3, 4]. The next section will describe briefly about shape matching algorithm.

Figure 4. Garment tree as representation of user’s preferences

5. NODE SHAPE AND SHAPE MATCHING WITH THIN PLATE SPLINES

We propose the use of shape matching for the tree describing garment. Shape matching techniques has been use in many applications such as image information retrieval and image recognition. According to Russel et.al., shape matching in computer vision can be categorized into two approaches: (a) feature-based, and (b) brightness-based [12].

In this research, we propose the feature-based approach using shape context matching developed by Belongie et.al. [2, 3]. In Shape context matching, a set of points defines the internal or external contour of shape is used. Figure 5 shows the example of set point from shape of a cloth. Given set P = p1, p2,..,pn, pi ∈ R2, each point pi in the first shape is matched to the point qi on the second shape which have the best correspondence each other. To match between two correspondence points, we use the shape context, which plays an important role for one-to-one point matching. Suppose we have a point used as a reference point, n-1 vector can be formed from the reference point. Now we can identify the distribution over relative positions from the reference point. The coarse histogram hi of the relative coordinated of the remaining n-1 points is employed to identify the distribution. The coarse histogram hi is defined as [2, 3]:

Hi =# q≠pi: (q-pi)∈ bin (k) (3)

Age Avail- ability

Fabric Gender

Occasion Price

Type

Adult, Baby, …

1 day, 2 days, …

Cotton, Silk, …

Cotton, Silk, …

Major Minor

M, L Forma, Casual, …

Jacket, t-shirt, …

Garment

Button Style

Front Shape

Back Shape

Sleeve Collar

Cheap, …

Circle, Square, …

V-Style, Circle, …

Long, Short, …

Page 64: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

58

Figure 5. Examples of edge pixels generated from cloth

Histogram hi is called to be the shape context of pi. The shape context is counted using the log polar coordinate with the diagram of log polar bins (see figure 6), simply by counted the number of pixel in each the polar bins [2, 3].

Figure 6. Diagram of Log polar bins used for counting the shape

context

After we finished calculating all histogram for each pi in the first shape and the second shape, we need to find cost function Cij = C (pi, qj) where pi is a point in the first shape and qj is a point in the second shape. Based on the histogram, now we can compute the matching costs using Chi Squared Test χ2

[2,3]:

∑= +

−=

n

k ji

jiij khkh

khkhC

1

2

)()()]()([

21 (4)

where hi(k) and hj(k) denote the K-bin normalized

histogram at pi and qi, respectively. For all pair i and j, we compute the cost function Cij in order to find the minimal total cost of matching subject to the constraint that the matching be one-to-one point from two shapes. Figure 7 shows the example of one-to-one point from shape e and shape g from figure 9.

Figure 7. Examples of correspondence pixels from two cloths.

The one-to-one point from two shapes is used to

proceed a best transformation using the Thin-Plate splines (TPS) model [6]. TPS interpolation f(x,y) has the form [2, 3, 6]:

∑=

−+++=n

iiiiyx yxyxUwyaxaayxf

11 )),(),((),( (5)

where U(r) is the kernel function defined by 22 log)( rrrU = and 0)0( =U .

Figure 8. The matching process of shape matching between shape a

and b from figure 8

Several papers about thin-plate splines by Bookstein [6], and Belongie [2, 3] give more detail information about thin-plate splines transformation.

The matching process between two shapes is summarized in figure 8. Top left image is the 1st iteration, top right image is the 2nd iteration, bottom left image is the 3rd iteration and the bottom right image is the 4th iteration after applying thin-plate splines on the correspondence points in shape contexts. The grid points give us the illustration of the transformation made during iteration.

Similarity between two node shapes is counted based on the shape context distance. Thus, we should

Page 65: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Shape Matching Using Thin-Plate Splines Incorporated to Extended Weighted-Tree Similarity Algorithm for Agent Matching in Virtual Market – Budianto & Riyanarto Sarno

ISSN 1858-1633 @2005 ICTS

59

measure the context distance D(P,Q) between shapes P and Q as the sum of shape context matching costs over the best matching points and , as follows [2, 3]:

bePp Qq

Pp Qq

DqTpCn

qTpCn

QPD

+

+=

∈ ∈

∈ ∈

))(,(minarg1

))(,(minarg1*8.0),( (6)

where ),( QPDbe is the effort of transformation done to adjust the shapes. For finding the similarity between two shapes, we modify the equation (6) by subtract one with the context distance D (P, Q) such that the result will reflect the similarity, as follows:

),(1),( QPDQPSim −= (7) After we have found the similarity between pair-

node shapes in the trees, the result will be used to compute the similarity of the tree.

5. RESULTS

Here, we present results on the cloth shape data set from http://www.loeshinsedesign.com. In our experiments, we use 7 shapes of cloths. We also defined the similarity of node shapes based on equation 7 and used three iterations of TSP transformation on each shape. Figure 9 shows all cloth shape used in this experiment. For each cloth, we provide the back and the front of the cloth respectively.

Figure 9. Examples of edge pixels generated from cloth

Figure 10 and figure 11 depict the form of arc-labeled arc-weighted tree which bring information of shape a and shape g in figure 7 respectively. The whole information for each shape brought by each agent is summarized in the Table 1. Each column on the table corresponds with each image on the figure 9 and each row presents the properties of arc-labeled arc weighted tree such as age, availability, fabric, gender, etc.

Table 1. The dataset used for the experiments.

A B C D E F G

age Adult Adult Adult Adult Adult Adult Adult

avail 1day 1day 1day 1day 1day 1day 1day

major polyester wol polyester cotton polyester polyester polyester

minor cotton cotton cotton polyester polyester cotton cotton

gender F F F F M F M

occasion Formal Casual Formal Party Casual Casual Formal

price Normal Normal Expensive Expensive Cheap Normal Normal

type Coat Sweater Coat Long dress Trouser Skirt Trouser

button Sty Circle None Strap None None None None

Back Shp Fig(a) Fig(b) Fig(c) Fig(d) Fig(e) Fig(f) Fig(g)

Collar V-Style Circle V-Style Circle None None None

Front Shp Fig(a) Fig(b) Fig(c) Fig(d) Fig(e) Fig(f) Fig(g)

Sleeve Long Long Long Long Short Long Long

Using shape matching, we can compute the

similarity between node shapes of the tree. After finding the similarity between two node shapes, the overall similarity between two trees can be defined using weighted-tree similarity algorithms.

Figure 10. The form of arc-labeled arc weighted

tree with node shape for shape a in figure 9. Given arc-labeled arc weighted trees summarized in Table 1, first we compute the similarity of each node shapes exists in each tree. The result of similarity of node shape is shown in Table 2 and Table 3

Age Avail- ability

Fabric Gender

Occasion Price

Type

Adult 1 day

Polyester Cotton

Major Minor

F Formal

Coat

Garment

Button Style

Front Shape

Back Shape

Sleeve Collar

Normal

None V-Style

Long

Page 66: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

60

Figure 11. The form of arc-labeled arc weighted tree with node

shape for shape g in figure 9.

Table 2 and Table 3 summarized the similarity between two node shape of the front and the back of each cloth in figure 9. The similarity of each tree in Table 1 along with the similarity between node shapes

in Table 2 and table 3 can be computed using equation 2 and the result is summarized in Table 4.

Table 2. The shape similarity of the front of the cloth

A B C D E F GA 1.00 0.87 0.94 0.72 0.81 0.74 0.72B 0.87 1.00 0.78 0.38 0.56 0.72 0.41C 0.94 0.78 1.00 0.77 0.86 0.83 0.82D 0.72 0.38 0.77 1.00 0.69 0.65 0.78E 0.81 0.56 0.86 0.69 1.00 0.66 0.92F 0.74 0.72 0.83 0.65 0.66 1.00 0.70G 0.72 0.41 0.82 0.78 0.92 0.70 1.00

Table 3. The shape similarity of the back of the cloth

A B C D E F GA 1.00 0.75 0.60 0.64 0.60 0.64 0.66B 0.75 1.00 0.27 0.00 0.36 0.65 0.45C 0.60 0.27 1.00 0.37 0.53 0.05 0.50D 0.64 0.00 0.37 1.00 0.76 0.67 0.71E 0.60 0.36 0.53 0.76 1.00 0.54 0.87F 0.64 0.65 0.05 0.67 0.54 1.00 0.67G 0.66 0.45 0.50 0.71 0.87 0.67 1.00

Cloth TotalA-B 0.2 1 0.05 1 0.05 0.2 0.1 1 0.1 0 0.2 1 0.3 0 0.56A-C 0.2 1 0.05 1 0.05 1 0.1 1 0.1 1 0.2 0 0.3 0.852 0.7556A-D 0.2 1 0.05 1 0.05 0 0.1 1 0.1 0 0.2 0 0.3 0 0.35A-E 0.2 1 0.05 1 0.05 0.04 0.1 0 0.1 0 0.2 0 0.3 0 0.252A-F 0.2 1 0.05 1 0.05 0.05 0.1 1 0.1 0 0.2 1 0.3 0 0.5525A-G 0.2 1 0.05 1 0.05 0.05 0.1 0 0.1 1 0.2 1 0.3 0 0.5525B-C 0.2 1 0.05 1 0.05 0.01 0.1 1 0.1 0 0.2 0 0.3 0 0.3505B-D 0.2 1 0.05 1 0.05 0 0.1 1 0.1 0 0.2 0 0.3 0 0.35B-E 0.2 1 0.05 1 0.05 0 0.1 0 0.1 1 0.2 0 0.3 0 0.35B-F 0.2 1 0.05 1 0.05 0.01 0.1 1 0.1 1 0.2 1 0.3 0 0.6505B-G 0.2 1 0.05 1 0.05 0.01 0.1 0 0.1 0 0.2 1 0.3 0 0.4505C-D 0.2 1 0.05 1 0.05 0 0.1 1 0.1 0 0.2 1 0.3 0 0.55C-E 0.2 1 0.05 1 0.05 0.04 0.1 0 0.1 0 0.2 0 0.3 0 0.252C-F 0.2 1 0.05 1 0.05 0.05 0.1 1 0.1 0 0.2 0 0.3 0 0.3525C-G 0.2 1 0.05 1 0.05 0.05 0.1 0 0.1 1 0.2 0 0.3 0 0.3525D-E 0.2 1 0.05 1 0.05 0.01 0.1 0 0.1 0 0.2 0 0.3 0 0.2505D-F 0.2 1 0.05 1 0.05 0 0.1 1 0.1 0 0.2 0 0.3 0 0.35D-G 0.2 1 0.05 1 0.05 0 0.1 0 0.1 0 0.2 0 0.3 0 0.25E-F 0.2 1 0.05 1 0.05 0.04 0.1 0 0.1 1 0.2 0 0.3 0 0.352E-G 0.2 1 0.05 1 0.05 0.04 0.1 1 0.1 0 0.2 0 0.3 0.7 0.562F-G 0.2 1 0.05 1 0.05 0.05 0.1 0 0.1 0 0.2 1 0.3 0 0.4525

TYPEACCATION PRICEAGE AVAIL FABRIC GENDER

Table 4. The similarity tree algorithm result

6. CONCLUSION We have improved the weighted-tree similarity

algorithm to match two agents having visual information. The visual information is carried in the leaf nodes, which represent the shapes of garments. The improvement of the algorithm incorporates shape matching using thin-plate spline transformation.

The results of computation study show that the similarity tree algorithm can be employed in agent matching to obtain the most appropriate garment.

Age Avail- ability

Fabric Gender

Occasion Price

Type

Adult 1 day

Polyester Cotton

Major Minor

M Formal

Trousers

Garment

Button Style

Front Shape

Back Shape

Sleeve Collar

Normal

None None

Long

Page 67: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Shape Matching Using Thin-Plate Splines Incorporated to Extended Weighted-Tree Similarity Algorithm for Agent Matching in Virtual Market – Budianto & Riyanarto Sarno

ISSN 1858-1633 @2005 ICTS

61

REFERENCES [1] Belongie, S., Malik, J., and Puzicha, J., Matching

Shape, Eight IEEE International conference on Computer Vision, July 2001.

[2] Belongie, S., Malik, J., and Puzicha, J., Shape Context: A New Descriptor for Shape Matching and Object Recognition, In NIPS, November 2000.

[3] Belongie, S., Malik, J., and Puzicha, J., Shape Matching and Object Recognition using Shape Context, Technical Report UCB//CSD-00-1128, UC Berkeley, January 2001.

[4] Bhavsar, V.C., Boley, H., and Yang, L., A weighted-tree similarity Algorithm for Multi-Agent System in E-Business Environment, 2003.

[5] Boley, H., The Rule Markup Language: RDF-XML Data Model, XML Schema Hierarchy, and XSL Transformations, Invited Talk, INAP 2001, Tokyo, October 2001. LNAI 2543, Springer-Verlag, 2003.

[6] Bookstein, F.L., Principal Warps: Thin-Plate Splines and the Decomposition of Deformations, IEEE Transactions on Pattern Alanysis and Machine Intelligence, Vol 11, No.6, June 1989.

[7] Budianto, An Overview and Survey on Multi Agent System, Soft Intelligent and Information Technology National Seminar, July 2005.

[8] Budianto, and Sarno, R., Shape Context Incorporated to the Extended Weighted-tree

similarity Algorithm for Agent Matching in Virtual Market, Soft Intelligent and Information Technology National Seminar, July 2005.

[9] Green S. Hurst, L., Nangle, B. Cunningham, P., Somers, F., and Evans, R., Software Agents: A Review, 1997.

[10] Jennings, N.R., Sycara, K., and Wooldridge, M., A Roadmap of Agent Research and Development, Autonomous Agents and Multi-Agent system, 1, pp. 275-306, 1998.

[11] Marsh, S., Ghorbani, A., and Bhavsar, V.C., The ACORN Multi-Agent system, Web Intelligence and Agent Systems: An International Journal 1, pp. 65-86, 2003.

[12] Russel, S.J. and Norvig, S., Artificial Intelligence: A Modern Approach Second Edition. Prentice Hall, 885-892.

[13] Sarno, R., Yang, L., Bhavsar, V.C., and Boley, H., Agent Matcher Architecture Applied to Power Grid Transaction, 2003.

[14] Setyawan, S.H. and Sarno, R., Fuzzy Logics Incorporated to Extended Weighted-Tree Similarity Algorithm for Agent Matching in Virtual Market, International Seminar on Information and Communication Technology, August 2005.

[15] Stone, P. and Veloso, M., Multiagent Systems: A Survey from a Machine Learning Perspective, in Autonomous Robotics volume 8, number 3, July 2000.

Page 68: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

62

TEXT-TO-VIDEO TEXT TO FACIAL ANIMATION VIDEO CONVERTION

Hamdani Winoto, Hadi Suwastio, Iwan Iwut T.

Jurusan Teknik Elektro – Sekolah Tinggi Teknologi Telkom Jl. Telekomunikasi, Dayeuh Kolot Bandung 40257 Indonesia

Email:[email protected]

ABSTRACT

Nowadays, the development of Text-to-Speech has been growth very fast. In the beginner generation of Text-to-Speech, the sound that produced from this system is very unnatural. And now the prosody of Text-to-Speech is better than the past. Nowadays, the development of Text-to-Speech is in the area of its visualization.

The video consist of sound and moving picture. Text-to-Video is the integration of two main system, there are Text-to-Speech and Facial Animation. Text-to-Speech is used to produce sound in Text to- Video. While to produce moving picture, Facial Animation is used.

The block synthesizer in Text-to-Speech has three methods, there are formant synthesizer, articulatory synthesizer, and concatenation synthesizer. The synthesizer that we use in this Research is diphone concatenation.

In the moving picture, we use Facial Animation to produce the video. The main process of Facial Animation is morphing process of picture that has been available in our database. The morphing process that we used in this Research is Cross Dissolve. The result of MOS (Mean Opinion Score) shows that video which produced from Text-to-Video is good enough, moreover the MOS result from Facial Animation shows that animation is good (4.0733).

Keywords : Text-to-Speech, Text-to-Video, Cross Dissolve, Facial Animation 1. INTRODUCTION

The development of Text-to-Speech today has been grown rapidly. At the beginning, the sound produced by Text-to-Speech sounds unnatural in the side of intelligibility. In order to solve those problems, some methods are used. Even right now, the development in the side of prosody has shown good result. The next research are focused on the visualization of Text-to-Speech which known as Text-to-Video. Text-to-Video it self, is a program which convert texts input into moving pictures or video.

The application of Text-to-Video can be implemented on the system of GSM, where in the side of receiver received video record from the transmitter. The bandwidth used by this system is relative less,

since the bits which are transmitted principally just in the shape of text, where the size of texts are relatively smaller than the video frames.

The example of other applications is in the TV show news caster. From the side of transmitter, the one who is needed is just Text-to- Video program, no news caster needed. It is so efficient since no record needed, no fund lavish, and no news caster hired, what is needed is just Some photographs.

The purpose of this research is to implement and integrate between Text-to-Speech and Facial Animation. It is hoped that by this research, the video processing can be developed with its extraordinary low used bandwidth. It is hoped that in the future, there will be any video communication through two sides mobile in the real time connection, like Tele conference.

Text-to-Video is the combination of two main systems, which are Text-to-Speech and Facial Animation. The synthetic methods of Text-to-Speech are formant synthetic, concatenation, and articulation synthetic [7]. The methods which is used in this research is diphone concatenation method, with the diphone database is being made.

Facing animation principal is used in the moving pictures. The main process in this video is in the morphing process of the pictures provided in the database. The morphing process used in this research is Cross Dissolve.

The problems limitations of this research are: 1. Definite shape and image format 2. Definite diphone speech format. 3. The one which is changed are just the face,

no changing on the body. 4. The language spell is just Indonesian. 5. No prosody used. 6. The ability of reading the letter ‘e’ is just as

similar as the way reading the word “papaya” and zebra, and the letter ‘o’ is just read as similar as the word “pohon”.

7. The Text-to-Speech method used is diphone concatenation

8. Facial Animation used is Cross Dissolve method.

Page 69: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Text-to-Video: Text to Facial Animation Video Convertion – Hamdani Winoto, Hadi Suwastio, Iwan Iwut T.

ISSN 1858-1633 @2005 ICTS

63

2. BASIC THEORY, DESIGN, AND IMPLEMENTATION

2.1 Basic Theory 2.1.1MPEG-4 Face and Body Animation Video compression technology used before

MPEG-4 is just talking about inter and intra frame compression. By having the virtual and synthetic model on MPEG-4, the better compression than the previous video is resulted.

The new MPEG-4 technology can be applied in every multimedia field. Nowadays, MPEG-4 is still in the trial of appearing the face and body animation. FDP (Face Definition Parameters) is a set of values which identified a certain pattern of a face. These FDP values will be translated, scaled, and rotated by FAP (Face Animation Parameters). FAP is the displacement vector value which normalized the FDP changes [9].

2.1.2. Facial Animation The origin of introducing morphing technique is

because of the needed of special effect software, for example; how to make the expression which is impossible to be done by human beings (Like how to open the mouth widely until it reach the four head).

Facial Animation technique is used to make the moving pictures effect (smooth transformation among pictures) so that the video is resulted. Principally, there are only two pictures which called source picture and target picture, morphing technique is used to make the transformation effect from the source picture become target picture become some shift pictures smoothly, so that it seems like a video.

2.1.3. Morphing and Deformation Deformation effect is a technique used in order to

change an object (2D or 3D object) into other object. What is needed is just an o object which is going to be deformed.

Morphing effect is the effect which is used to change an object into other object. The difference between morphing and deformation is that morphing needs two objects while deformation needs one object only [8].

2.1.4. Cross Dissolve Cross Dissolve morphing method is the simplest

morphing method. In this method, what is needed is just appearing two pictures by transparent mode. Linearly, Secara linier, transparansi gambar asal akan berkurang dan transparansi gambar target akan bertambah seiring dengan berkurangnya transparansi gambar asal. By using this method, the source pictures will be slowly disappear while the targets slowly appear.

2.1.5. Feature Morphing There are two steps in using morphing between

two pictures, which are deformation between the

source pictures and the target one, and then using cross dissolve between them.

In order to know the topology relation between two objects (face), there are feature lines which every feature line has its pair on the target picture.

There are three kinds of feature line changes, which are translation, scaling and rotation.

After deformation, do cross dissolve to combine the texture or color between the source picture and the target one.

2.1.6. Mesh Morphing Mesh morphing technique use closed curve in

order to choose a feature. By using closed curve (usually triangle), the feature selection become more accurate.

In the mesh morphing, the source picture triangle will be interpolated into a target triangle by assuming a triangle consist of three feature lines which will be interpolated. Then, the nodes on the triangle will be deformed. Each of the node is deformed only by the three lines where it is located, so that every node is relative towards all of the features lines lied on those picture.

2.1.7. Text-to-Speech (TTS) Basic Block Text-to-Speech is a text into voice conversion

system. Synthetic method in Text-to- Speech can be classified into three categories with its strengths and weaknesses, articulation synthetic, formant synthetic and concatenation synthetic [7].

In the articulation synthetic we can simulate the human voice system, like the movement of tongue, air circulation on the throat, and voice band. This method is difficult o be implemented because of the long time needed during the research [5].

Formant synthetic is based on the source-filter simulation, with an acoustic phonetics description approach. The voice is not produced by a physic equation of vocal apparatus, but it is produced by simulating the main acoustic characteristic of a voice signal. The basic acoustic model represent as filter. It is made by some sets of formant, which reflect the articulation of voice[5].

The method which is normally used is concatenation. It can combine Every voice unit like phone, diphone and triphone.

2.1.8. Speech Processing Basic Theory The littlest part of a statement is phoneme.

Phoneme can be in voiced, unvoiced or semi voiced Pitch is a time differences between two close peak

wave, and owned only by voiced, while the unvoiced is in random graph.

2.1.9. Text-to-Speech Basic Theory Text-to-Speech system can be classified into two

important components, which are NLP (Natural Language Processing) or text to phoneme and DSP (Digital Signal Processing) or phoneme to speech.

Page 70: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

64

Text converter part is used for changing the input sentence in a certain text language into voice codes which usually represent as duration phoneme code with its pitch. This part is language dependant [6].

Phoneme converter into speech will get the input code in phoneme, pitch, and duration resulted before.

Based on its codes, phoneme converter into speech will produce the signal voice which is fit with the sentence that will be said. There are two alternative techniques used in order to implement this part. The one which is often used are formant synthesizer and synthesis concatenation [6 ].

2.2 Text-To-Video Stake And Desain 2.2.1. Text-to-Speech Algorithm

Figure 1. Text to speech algorithm

2.2.2. Text Preprocessing There will be an input paragraph analysis in this

block that is the punctuation recognition and the number translation into letters.

2.2.3. Text Parsing Text Parsing is used for processing the separation

of words into a smaller part of voice/speech, and letters normalization into symbols that can reduce the complexity of the implemented program. For example the coma and point will be changed into another similar symbol. In this block, there will be also the rules to differentiate the way to read ‘e’ letter.

In the TTS block diagram, it is seen that the input from text parsing consist of two data bases, which are dictionary and language manner rules. The dictionary consists of certain words which is not appropriate with the language manner rules.

2.2.4. Speech Generation The arrangement of diphone from the voice

symbols resulted from the previous block is done in this block. Voice signal (*.wav) is taken from the database we made before.

2.2.5. Synthesizer Overlap-Add method is the synthesizer used in

TTS system. Here, every diphone will be windowed. Kaiser window is used here, because by changing

the value of Beta, we can change the impulse respon in time domain.

After windowing process, the diphone will be overlapped with the next voice signal. The purpose of this overlap system is to ignore the sound multiplexing

resulted by the editing process, since it is impossible for every diphone to be edited exactly on the half of its transition. In order to get the smoother output, especially in the overlap area where the two process of filtering, average smoothing and LPF (Low Pass Filter) is proceed.

2.2.6. Facial Animation Algorithm Morphing technique is used for animated the

transformation of two difference pictures, so that the changes can be seen slowly.

There area three kinds of Facial animation techniques used, dissolve, feature morphing, and mesh morphing. Among thus three method, the fastest computation resulted by cross dissolve method, while the slower one produced by feature morphing method. The best result will be given by mesh morphing method.

In this research, the one will be used is cross dissolve method. It is used because of the fastest computation produced and the pretty good result for Text-to-Video.

By using cross dissolve technique, what is needed is appearing the two pictures (source and target pictures) using transparent mode which can be controlled. In the beginning of animation, the transparent level is set to maximum (100%), while the second picture is set to minimum (0%).

During the animation process, the transparency of the first picture is reduced slowly, while the second picture is increasing if it is fulfill the requirement of the first picture transparency level compare with the second one is 100%.

2.2.7. Text-to-Video Algorithm Text-to-Video is the combination between Text-to-

Speech and Facial Animation. Some blocks of TTS which are text preprocessing and text parsing, are going to use in the Facial Animation also.

The problem of Text-to-Video is how to combine both of two systems (Teks-to-Speech with Facial Animation) so that the synkronize and the arrangement of each word can be reached.

Figure 2. Image generation process

Page 71: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Text-to-Video: Text to Facial Animation Video Convertion – Hamdani Winoto, Hadi Suwastio, Iwan Iwut T.

ISSN 1858-1633 @2005 ICTS

65

In the image generation process, first of all, all of the voice data base will be read and will be kept in the picture variable. From the normalization text input, can be found pairs of picture variable (source and target pictures). Morphing cross dissolve process will be done in every pair.

For the synchronization between morphing and voice duration, the duration of morphing process has to equal with the diphone duration.

But if we watch carefully in the pronouncing of a word, for example the word ”baik” in the phoneme ”ba”, the duration of the letter ”b” is not the same with the duration of the letter ”a”. It can be conclude that it is unnatural at all.

Because of that reason, it is strongly needed to give the duration animation rules between two nearby chronological letters, where thus rules are shown in this table below:

Table 1. Duration Rules

By having thus rules, the animation will be will be

looked more natural. 3. RESULT

3.1 Voice Diphone Quality Analysis From the side of quality, the kinds of data base of

concatenation synthesis can be divided from the best synthesis into the lower one, which are: word, phoneme, triphone, diphone, and phone. But from the side of quantity, the chronology will be the reverse.

Because of the good quality and the less quantity, Text-to-Speech system use diphone data base.

3.2 NLP Module Analysis 1. Diftong Letter (ai, au, oi) 2. Numeral reading 3. Abbreviation and acronym 4. Points and comas punctuation 5. Dash (“-”) 6. Mathematics symbol 7. “E” letter 8. space duration and punctuation

3.3 DSP Module Analysis The method used in DSP module of Text-to-Speech

is OLA (OverLa -Add). The Window used is Kaiser, because by using

Kaiser, the responses can be changed. By doing the experiments, the optimal beta values is found about β

= 1,7 – 2,2 because on those rank, the voice signal vague in the side lobe is a half of the peak response.

The bigger the values of Beta, the signal will look discontinue in the connector, but the lesser the values of Beta, there will be a letup in the connector area, because the addition of the signals is done in the connector era.

3.4 Naturalism Animation Analysis By using cross dissolve method, the time needed

for proceeding two pictures computation is pretty fast. It is happen because the deformation for every picture in the mesh morphing and feature morphing is very long. Decreasing the pictures resolution to make the computation faster can result the quality degradation. Because of that reason, for Text-to- Video application, cross dissolve method is used.

3.5 The Analysis of Frame Mistakes Animation Amount

The round of the multiplication between diphone duration and the video speed is done to determine frame animation amount. Round off error and diphone overlapping make the frames animation number incorrect.

In the case of using 15 fps video speed, commonly there are round to under value because the difference of diphone multiplication duration with the video speed is not reach a half. So that usually the difference between the number of frames animation and texts normalization character are not going too far. However if it is accounted by the multiplication between total voice duration with the video speed, the amount will be more than the multiplication of animation frames.

But in the case of using 50 fps video speed, the reverse will be happened. The amount of frames animation will always be more than the real number of frames. It is happen because usually the speed round video factor is pretty big, the round which commonly happened is the upper round while overlapping happened in the DSP process which resulting the voice total duration smaller than if it is accounted for every diphone voice duration.

Based on the experimental data, the optimal video speed (smaller error frames) is 30fps. Eventhouh sometimes on 25 fps and 40 fps error frames resulted is smaller than 30 fps. If it is monitored from the experimental data, the error frames could reach 0 % for some sentences. It is proved that the optimal video speed (if it is monitored based on the number of error frames) is on 30 fps. If the error frames is being generated on 25 fps, 30 fps and 40 fps, generally the smaller errors is on 30 fps. By thus analysis, the conclusion is Text-to-Video program will produce video with the smaller error frames amount on 30 fps video speed.

Page 72: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

66

3.6 The Fitness Analysis Between Voice And Animation

From some experiments, the fitness level between movie and voice is depend on the total of frames animation error and the real amount of frames.

In this Text-to-Video program, the video speed used is 30 fps, because the error frames amount is smaller in 30 fps, compared with 15 fps, 25 fps, 40 fps, or 50 fps. The smaller number of error frames, the higher fitness between animation movie and the voice produced. Eventhough sometimes by the small number of errors, the unfitness is still happened, usually it is happened if the number of the input sentences is too much. It could be happened because of the computation in Matlab is basically heavy.

3.7 MOS Valuing On the MOS valuing, every block of Text-to-Video

system which included Text-to- Speech, Facial Animation, and Text-to-Video it self.

The parameter which is going to be measure on Text-to-Speech is the intelligibility of the sound heard . while on the Facial Animation is the naturally of facial animation while pronouncing sentences whether the shape of the mouth is suitable with the sentences pronounced and also the duration of each word and each phoneme.

While on the Text-to-Video, the synchronization between video animation and synthetic voice will be looked at.

General value of TTS MOS: 3,3033 General value FA MOS : 4,0733 General value TTV MOS : 3,536

4. CONCLUSION AND SUGGESTION

4.1 Conclusion • Using Cross Dissolve method can produce good

enough facial animation in Text-to- Video. But to morph between two different faces, cross dissolve produce bad animation, because of there is a shadow in image transition.

• The MOS result in Facial Animation shows that the naturally of animation by controlling animation duration is good enough (MOS result FA is 4.0733).

• From the synchronization testing result in Text-to-Video, shows that the difference number between animation frame and true frame determine synchronization between animation and sound.

• From the Text-to-Speech testing result, shows that the quality of diphone determine the intelligibility of sound.

• The optimal frame rate in Text-to-Video is 30 fps, if we observation in the difference number between animation frame and true frame.

• The optimal kind of window is Kaiser, with range of Beta (β = 1.7-2.2)

4.2 Suggestion • Tools for recording must be good (free of noise) • Suggested for TTV implementation without

Matlab • More observation in DSP block of TTS • TTV with prosody REFERENCE [1] Bhaskaran , Vasudev dan Konstantinos

Konstantinides , Image And Video Compression Standard , Kluwer Academic Publishers , London , 1996 .

[2] Castleman , Kenneth , Digital Image Pocessing , Prentice Hall ,New Jersey , 1996 .

[3] Sid-Ahmed , Maher , Image Processing , McGraww Hill , Singapore , 1995 .

[4] Kondoz,A.M , Digital Speech ‘Coding for Low Bit Rate Communication System ‘ , John Wiley & Sons , England , 2001 .

[5] Woolier , Benjamin , A Text to Speech System for the IBM PC , Queensland , 1998 .

[6] Arman , Arry Akhmad , IndoTTS , ITB Bandung , 2000 .

[7] Dutoit , Thierry , A Short Introduction to Text-to-Speech Synthesis , Belgia , TCTS Laboratory .

[8] Nalwan , Agustinus , Movie dan Special Effect , Gramedia , Jakarta , 2001.

[9] Walsh , Aaron dan Mikael Bourges Sevenier , MPEG-4 Jump-Start , Prentice Hall , USA , 2002

Page 73: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Text-to-Video: Text to Facial Animation Video Convertion – Hamdani Winoto, Hadi Suwastio, Iwan Iwut T.

ISSN 1858-1633 @2005 ICTS

67

APPENDIX Transition Testing from Vowel “a” to “i”

Testing Sentence “DANI” Frame 1 – Frame 17

Page 74: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

68

SHARE-IT: A UPNP APPLICATION FOR CONTENT SHARING

Daniel Siahaan Informatics Department, Faculty of Information Technology, Sepuluh Nopember Institute of Technology

Kampus Sukolilo, Jl Raya ITS, Surabaya, Indonesia email : [email protected]

ABSTRACT Our work is based on the idea of creating a smart

environment where individuals are encouraged to interact with others. One of the applications that we developed is Share-It, an application that enables people who are present in an environment to share its on-hand content, i.e. mp3s collection with others. The target of Share-It is consumer electronics for small public place (proximity network), such as, home, café, hotel’s lobby, mall, plaza, airport, etc. To realize our application, we use Universal Plug and Play framework as the enabling technology. The idea of Universal Plug and Play is a network architecture framework that allows automatic connectivity and interoperability between appliances, PCs, and services within a network. We have installed this application on a constrained environment in our laboratory, and it shows a promised result in term of performance. In the future, we would test them on real public spaces. Keywords : Content Sharing, Proximity Network, Share-It, Universal Plug and Play (UPnP) 1. INTRODUCTION

It has been addressed many times by a lot of people that the rapid advancement of technologies tends to weaken the social relation between individuals [2][5][6]. Nowadays, people tend to be more individualistic, and technology is one of the most often to blame. Based on that assumption, our work at Computer Architecture and Network (AJK, Arsitektur dan Jaringan Komputer ) laboratorium is focused on building a smart environment where individuals are encouraged to interact with others. In this paper, we would like to introduce one of the applications that we developed, which is Share-It. It is an application that enables people who are present in an environment to share its on-hand content, i.e. mp3s collection with others regardless the platform of its content holder (player). The target of Share-It is consumer electronics for small public place (proximity network), such as, home, café, hotel’s lobby, mall, plaza, airport, etc.

Proximity networks are available immediately to clients for the time that clients are in a local service environment. The basic requirements for proximity networking are the followings [1]:

• There is no service-specific code need exist on the client before using the service,

• There is no undesired code or configuration remains once the service is out of range.

• There is a simple mechanism for discovering and navigating of a local service.

To realize our application, we use Universal Plug and Play (UPnP) framework as the enabling technology. The idea of Universal Plug and Play (UPnP) is a network architecture framework that allows automatic connectivity and interoperability between appliances, PCs, and services within a network [7].

The rest of this paper is organized as follows. The second section shows the scenario that we create for Share-It application. The third section briefly describes the UPnP framework. The fourth section describes the system architecture of Share-It. And the last section concludes with findings and further work. 2. SHARING SCENARIO

Tika, an 18 years old female student who lives in Jakarta, wants to go back to her campus in Surabaya by flight because the beginning of next month, the new semester will be started. So, she went to Sukarno-Hatta International Airport that afternoon. On the road, she listens to her mp3 collection through her jukebox. When she gets to the airport, she immediately check in at Air Asia desk. Then goes to the waiting room. When she enters the waiting room, she notices that there are a lot of new mp3 files listed in her jukebox. She goes through the list and finds a song from Corrs that she likes but does not have in her collection. Then she plays the song.

After a half an hour, together with other passengers, she is asked to board in. Immediately after she leaves the waiting room, the new mp3 files are gone from the list.

3. UPnP

Universal Plug & Play (UPnP) was first initiated by Microsoft, which initialized the work through the Plug and Play in Microsoft Windows 95 OS [4]. It is first implemented in Microsoft Windows ME OS. This concept of network architecture framework was later developed within a forum called UPnP Forum. UPnP is meant to provide a transparent automatic

Page 75: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Share-It: A UPNP Application for Content Sharing – Daniel Siahaan

ISSN 1858-1633 @2005 ICTS

69

connectivity and interoperability between appliances, PCs, and services within a network, which is based on peer-to-peer discovery and configuration. It is based on a number of standards protocols, such as TCP, IP, UDP, HTTP, SOAP, SSDP, etc. This enhances the interoperability between UPnP devices. Figure 1

shows the UPnP protocol stack. Figure 1 The UPnP Protocol Stack [4]

3.1. The Concept A UPnP system is composed of three major

components, that is, devices, services and control points. Figure 2 shows the A device represents a physical entity that holds inside services and nested devices. A service is the smallest controllable entity that composed the system functionality through actions and state variables. A control point is an entity that able to discover and control devices by means of interaction with the services provided by the devices. In order to support the open language and platform characteristic of UPnP, it uses XML (eXtensible Markup Language).

Control Point

Control Point

DeviceUPnP Enabled Device

Service 1 Service 2

Service

Device

UPnP Enabled Device

Figure 2 UPnP Control Points, Devices, and Services

There are a number of requirements for a UPnP protocol implementation, they are • For its operational, it requires in every device a

TCP/IP stack that able to obtain its own IP address.

• It requires SSDP, which allows devices advertise its capabilities and control points to search for available services across the network.

• It requires a control point to control services through actions.

• It requires an event mechanism that signals a service state change.

• It requires a device to be able to present its information on a control point’s browser.

• It requires a support for HTTP protocol and it’s extensions.

This specification is presented as a communication protocol stack, which does not specify any API or implementation details of the stack. This means that UPnP implementations are independent of the development language and operation system. But it also means that application developers are required to learn different APIs.

4. SHARE-IT SYSTEM ARCHITECTURE

This system is basically comprised of two kinds of devices, i.e. dedicated content servers (MP3 Servers) and control points with embedded content server (MP3 Players). Figure 3 shows the system architecture of Share-It.

MP3 Server

Services

MP3 PlayerMP3 Player

MP3 Player

WiFi Access Point

Embedded Content Server

Services

Embedded Content Server

Services

Embedded Content Server

Services

Figure 3 Share-It System Architecture

To enable content sharing, a proximity network should provide a wireless access point that supports dynamic IP self-configuration (DHCP) and protocols stacks of UPnP.

4.1. The Concept The MP3 Server is acting as a device that provides

a set of services for browsing its content (mp3 files), extracting the metadata of the content, and opening streaming channel for playing the content. This device is supported by a content metadata database, which is managed by a singular Database Management System. The MP3 Server is immobile and normally maintained by the owner of the network.

UPnP Vendor Defined

UPnP Forum Working Committee Defined

UPnP Device Architecture Defined

HTTPMU(Discovery)

SSDP GENA SSDP

HTTPU(Discovery)

SOAP(Control)

HTTP(Description)

GENA(Events)

HTTP

TCPUDP

IP

Page 76: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

70

Device Model Device Type

Service Type Action

MP3 Server

SharingContent:1 - GetNumSongs - GetSong

As already mentioned earlier, another function that

this device provides is opening a streaming channel for playing the content. Since UPnP is built on top of HTPP protocol, it provides a mean for playing a audio streaming.

XML Device Description <?xml version="1.0" ?> <root xmlns="urn:schemas-upnp-org:device-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <device> <deviceType>urn:schemas-upnp-org:device: clock:1</deviceType> <friendlyName>MP3 Server</friendlyName> <manufacturer>T.Informatika ITS</manufacturer> <manufacturerURL>http://if.its.ac.id </manufacturerURL> <modelDescription>NCC mySQL DBMS Device </modelDescription> <modelName>MP3 Server</modelName> <modelNumber>1.0</modelNumber> <modelURL>http://if.its.ac.id</modelURL> <serialNumber>TC05001</serialNumber> <UDN>uuid:myMP3ServerDevice</UDN> <UPC>00x000x</UPC> <iconList> <icon> <mimetype>image/gif</mimetype> <width>48</width> <height>32</height> <depth>8</depth> <url>icon.gif</url> </icon> </iconList> <serviceList> <service> <serviceType>urn:schemas-upnp- org:service:SharingContent:1 </serviceType> <serviceId>urn:schemas-upnp-org: serviceId:SharingContent:1</serviceId>

<SCPDURL>/service/SharingContent/description.xml</SCPDURL>

<controlURL>/service/ SharingContent /control</controlURL>

<eventSubURL>/service/ SharingContent /eventSub</eventSubURL>

</service> </serviceList> <presentationURL>/presentation </presentationURL> </device> </root>

XML Service Description <?xml version="1.0"?> <scpd xmlns="urn:schemas-upnp-org:service-1-0" > <specVersion> <major>1</major> <minor>0</minor> </specVersion> <actionList> <action> <name>GetNumSongs</name> <argumentList> <argument> <name>NumSongs</name> <relatedStateVariable>Number

</relatedStateVariable> <direction>out</direction> </argument> </argumentList> </action> <action> <name>GetSong</name> <argumentList> <argument> <name>SongIndex</name> <relatedStateVariable>Number

</relatedStateVariable> <direction>in</direction> </argument> <argument> <name>Song</name> <relatedStateVariable>Song

</relatedStateVariable> <direction>out</direction> </argument> <argument> <name>Artist</name> <relatedStateVariable>Artist

</relatedStateVariable> <direction>out</direction> </argument> <argument> <name>Album</name> <relatedStateVariable>Album

</relatedStateVariable> <direction>out</direction> </argument> <argument> <name>Year</name> <relatedStateVariable>Year

</relatedStateVariable> <direction>out</direction> </argument> <argument> <name>Genre</name> <relatedStateVariable>Genre

</relatedStateVariable> <direction>out</direction> </argument> <argument> <name>Comment</name> <relatedStateVariable>Comment

</relatedStateVariable> <direction>out</direction> </argument> <argument> <name>Location</name> <relatedStateVariable>Location

</relatedStateVariable> <direction>out</direction> </argument> </argumentList>

</action> </actionList> <serviceStateTable>

Page 77: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Share-It: A UPNP Application for Content Sharing – Daniel Siahaan

ISSN 1858-1633 @2005 ICTS

71

… </serviceStateTable> </scpd>

4.2. MP3 Player The MP3 Player is acting as a control point that

browses through the content list of all devices on the network, extracts the metadata of a certain song at a time, and plays a certain song by streaming an mp3 file provided by one of the devices.

As already mentioned, since we expect that a MP3 player is a mobile device, the network should provide a access point that enables all MP3 Servers and Players to share their content. In our implementation we choose a WiFi access point. This access point is proofed to support the specification that we required.

4.3. Implementation To implement our system, we use a UPnP Java

API made made by Satoshi Konno, called cyberlink [3]. We have made some significant modifications on this library in order to which is an UPnP API

5. CONCLUSION

It is shown that our system enables interactions between individuals who are present within the proximity network, by sharing their content (mp3 files) with each other.

The design of our UPnP application is simple. It also allows painless implementation or further development. It allows any manufacture to develop their own content server with their own specific platforms, i.e. hardware, operating system, language development, and database management system.

There are a number of potential issues that still need to be solved in UPnP Technology, especially for our application. They are as follows: • Security. Our design, which is inherited from

UPnP architecture, does not restrict unauthorized MP3 Player to access the servers.

• Property right. Giving the security issue, our design also does not guarantee any violation on property right regarding the mp3 files shared.

• Content. The database that accompanies the server manages metadata of the content stored in the server. We have not implemented any application that will use this metadata. We intend Our initial intention design is

Bandwidth. The decision of which protocol to be used for wireless communication will influence the performance of the system, in the sense that smaller its bandwidth capacity the less performance it produces.

We have installed this application on a constrained environment in our laboratory, and it shows a promised result in term of performance. In the future, we would test them on real public spaces and explore any possible solution from the issues mentioned. REFERENCE [1] Denny, B., Escobar, J., and Pingali, V.,

Proximity Networking, 3COM Corporation, 2002.

[2] Keyani, P. and Hong, J.I., Potential effects of Ubiquitous Computing on Civic Engagement, in Workshops on Social Implications of Ubiquitous Computing, ACM Conference on Human Factors in Computing Systems (CHI2005), Porland, OR, US. 2005.

[3] Konno, S., Cyberlink for Java Programming Guide, 2005 http://www.cybergarage.org

[4] Microsoft Universal Plug and Play Device Architecture v.1.0., 2000.

http://www.upnp.org/download/UPnPDA10_20000613.htm

[5] Paulos, E. and Goodman, E., The familiar stranger auziety, comfort, and play in public places. In Proceeding of CHI’04: Proceedings of the 2004 Conference on Human Factors in Computing Systems, 2004.

[6] Putnam, R.D., Bowling Alone. Simon & Schuster, 2001.

[7] UPnP Forum, Introduction to Universal Plug and Play. 2005. http://www.upnp.org/download

Page 78: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

72

MODIFIED BAYESIAN OPTIMIZATION ALGORITHM FOR NURSE SCHEDULING

I N. Sutapa, I. H. Sahputra, V. M. Kuswanto Industrial Engineering Department, Petra Christian University

142-144 Siwalankerto Surabaya, Indonesia Email: [email protected], [email protected]

ABSTRACT This paper discusses the application of modified

Bayesian optimization algorithm for weekly schedules of nurses that cover the demand for nurses for every grade considering their preferences. All probable shift patterns were generated in the algorithm. The first population of rule strings (shift patterns) was chosen randomly using roulette wheel method from all probable shift patterns. A particular shift pattern was determined for every nurse using four building rules. The process would be repeated continuously until the desired fitness function is found. The result was proposed schedule can cover the requirement of nurse for every grade with minimum preference value. It can be seen from the mean of fitness function proposed schedule was 1.903,73, which was less than real one, which was 3.268,67. The proposed schedule also was better than real one in quality and fairness aspects. Keywords : modified Bayesian optimization algorithm, nurse scheduling 1. INTRODUCTION

Nurse scheduling is a challenging job because it’s complexity. For every work shift period, there is particular number requirement of nurses with specific grade. A good scheduling also considers the preference of the nurse for work shift period and also vacation period. In the previous work done by Oktopina [1] cyclical scheduling method that every nurse would have a particular cyclic work shift pattern was used. But the weakness of this cyclic shift pattern is not flexible. In other work done by Li and Aickelin [2], Bayesian optimization algorithm was used. But in their case, there was no rule that every nurse must take two successive night shifts at least every two weeks as in this particular hospital case. In this case after the nurse works at night shift she has one vacation day. Also in Li and Aickelin [2] there were only two work-shift times that are day and night. In this case, there are three work-shift times : morning, afternoon, and night. It is also to be considered in this case that higher-grade nurse can replace the lower one, but not reversible. Because of the nature of the problem in this case, some modification had been made in the Bayesian Algorithm.

A pavilliun in the hospital, which has capacity 39 patients, was used for study case. There are 29 nurses including one room chief and 2 vice chief. Grades of nurse in this hospital are senior, medior, and junior. For scheduling reason, the nurses are divided into 2 teams that are team A and team B. Number of nurses and grade for every team is same. There is scheduling rotation for nurses from team A to team B or reversible every 3 month. Schedule will be issued weekly on Saturday, which covers Sunday until following Saturday. There are 3 work-shift times : morning (07.00-14.00), afternoon (14.00-21.00) and night (21.00-07.00). Every nurse can request particular schedule for one-day weekly vacation but the decision depends on the room chief. Table 1 shows the requirement of number and grade of nurses.

Table 1. Requirement of number and grade of nurses

Grade Shift Senior Medior junior

Total

Morning 6 2 2 10 Afternoon 3 2 4 9 Night 1 0 2 3

This paper discuss the solution for nurse scheduling problem at the particular hospital, considering the number of nurses required, grade of nurses, and minimum preference value of the nurses. 2. SCHEDULING MODEL AND IMPLEMENTATION

A modified Bayesian optimization method was used to make the scheduling of the nurses. First a Bayesian network model was formed and then modified Bayesian optimization was applied to produce a scheduling for some period of time. The result from this algorithm was compared to the real scheduling using statistical analysis.

2.1. The Bayesian Network Model and Modified Bayesian Optimization

For this hospital scheduling purpose, a Bayesian network was formed for all nurses in Pavilliun 11. The network was consisted of 45.123 nodes, with 13 nurses and 3.471 shift pattern. Special for period of 24 - 30 October 2004 and 31 October - 6 November 2004, the number of nurses was 14 for every team. The Bayesian network can be seen in figure 1.

Page 79: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Modified Bayesian Optimization Algorithm for Nurse Scheduling – I N Sutapa, I H Sahputra, V M Kuswanto

ISSN 1858-1633 @2005 ICTS

73

Figure 1 Bayesian Network for Nurse Scheduling

This is the original algorithm as in Li and Aickelin [2] and Pelikan [3]:

1. Set t = 0, and seed initial population P(0) randomly

2. Using roulette-wheel method to choose solution candidates (rule strings) S(t) from P(t)

3. Count the conditional probability of every node

4. For every nurse, roulette-wheel is used to choose one rule (shift pattern) based on conditional probability of all nodes to develop a new rule string. A new rule strings O(t) will be produced in this step

5. Create new population P(t+1) by replacing some rule strings from P(t) with O(t), and set t = t+1

6. If stop condition is reached, back to step 2.

First, the authors tried to use this algorithm to produce a scheduling and then were compared to real one. But the result was the proposed scheduling using the algorithm could not cover the requirement. After considering the first model result, the authors made some modification in the algorithm, especially in the step 4.

Instead of using roulette-wheel method to choose the rule (shift pattern), the authors used sequential step using four building rules methods to choose the rule for particular nurse. The first building method was cover rule method. For each shift pattern in a nurse’s feasible set, calculate the total number of uncovered shifts and would be covered if the nurse worked that shift pattern. This method does not include how many nurses still needed for particular shift. If after applied this method, two or more shift pattern was found, k-

cheapest building rules was used to choose the shift pattern for particular nurse.

Without considering the feasibility of the shift pattern, the k-cheapest rule chooses randomly a shift pattern from k-list of the shift pattern, which has minimum preference. If there was still more than two shift patterns is chosen, the conditional probability was used to choose the shift pattern for particular nurse.

Finally if there was still more than two shift patterns was chosen, contribution rule was used. This rule is designed to considering the preference of the nurses. This rule also considers the uncovered limitations that give preference to shift pattern that cover the uncovered shift. This rule goes through to the all-feasible shift patterns for particular nurse and gives score to each pattern. Shift pattern, which has highest score, will be chosen. If there were two or more shift pattern has the same highest score, the first shift pattern found would be chosen.

2.2 Designs and Implementation All possible shift patterns were generated

according to the hospital’s regulation. There were 3.471shift patterns. This is different with Li and Aickelin [2], which used 411 shift patterns from previous hospital’s schedule for 52 weeks. This generated pattern shift was performed because the lack of data for this particular case. It was only found 473 previous shift patterns from the hospital. In Li and Aickelin [2] paper, the hospital only has two shift periods and in this study case there are three shifts period that are morning, afternoon, and night.

To acquire data of preferences of the nurse for particular work shift, questioner was distributed to 26 nurses at Pavilliun 11. Nurses were asked to choose their preference, in range of 1 to 4. Value 1 indicates they strongly like and value 4 if they strongly dislike. Validity and reliability tests [4] were performed on the result. There were 26 respondents and 28 questions. Software SPSS 10.0 was used to perform the tests. To verify if the questions were valid, corrected item-total correlation (r result) was compared to value of r table. Value of r table for d.f.: (26 – 2) = 24 with α: 0,05 was 0,2598. This value was greater than value of r table therefore the data was valid. For reliability test, the alpha value of nurse’s preference was 0,9102. This value was greater than value of r table (0,2598) therefore the data was reliable.

For making the schedule, this information is required: a. Data of the nurses.

Name, preference, and team (A/B). b. Data of nurse requirement.

Number and grade c. Data of particular one-day weekly vacation

request by nurse Specific schedule request by nurse will be

weighted according to the importance:

Page 80: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

74

− 0: Emergency. − 1: Very Important. − 2: Important. − 3: Less important

d. Data of previous week schedule. This data was required because there was a

hospital’s rule that every nurse must work in night shift on two successive days every two weeks. Delphi and SQL server were used to make the

scheduling program and database of the nurse. Figure 2 shows the proposed schedule for period of 1-7 August 2004 for team A After running one cycle of modified Bayesian optimization algorithm, program will display message dialog that show lowest fitness function value in that cycle and let user to decide continue the program or not. If user does not satisfy with current fitness function, program will ignore the lowest one-day weekly vacation request by nurse to create new schedule. This will be repeated until the last priority and program will display the value of fitness function, nurse’s preference, and penalty of current requirement.

.Figure 2 Proposed Schedule of Team A for period 1-7 August

2004

2.3. Comparison Proposed Schedule with Real Schedule

Using the program, the authors made a proposed schedule for period of 1st August-13th November 2004 to be compared to the real schedule.

Mean comparative test between fitness function of the real schedule and proposed schedule used one way paired samples t test [5]. The hypothesis was :

0H = mean of fitness function of real the real schedule and proposed schedule is equal.

1H = mean of fitness function of the proposed schedule is less than real schedule.

SPSS 10.0 software was used to perform the test. The mean of the fitness function of the real schedule was 3.268,67 and proposed schedule was 1.903,73. Based on the test result with α = 0,05 and d.f.= 14, t table value was 1,761 and calculated t was 8,117 (greater than value of t table) therefore 0 H was rejected.

Mean comparative test of preference of the nurse from the real schedule and proposed schedule also

used one way paired samples t test. The hypothesis was :

0H = mean of nurse preference of real the real schedule and proposed schedule is equal.

1H = mean of nurse preference of the proposed schedule is less than real schedule

Mean of nurse preference using real schedule was 268,67 and using proposed one was 250,40. The result of one way paired samples t test with α = 0,05 and d.f. = 14 value of t table was 1,761. Value of calculated t was 10,407 (greater than value of t table) therefore 0H was rejected.

Mean comparative test between penalty of uncovered shifts of real schedule and proposed one used paired samples t test. The hypothesis was :

0H = mean of penalty of uncovered shifts of real schedule and proposed one was equal.

1H = mean of penalty of uncovered shifts of proposed schedule was less than real one.

Mean of penalty of uncovered shifts real schedule was 3.000,00 and proposed schedule was 1.653,33. The result of the test with α = 0,05 and d.f. = 14 value of t table was 1,761. Value of calculated t was 7,995 (greater than value of t table) therefore 0H was rejected.

From coverage aspect, both real and proposed schedule did not completely fulfill the requirement. But for the requirement on number of nurse for every grade, proposed schedule was better than real schedule. It can be seen from the result of paired samples t test of penalty of uncovered shifts between real and proposed schedule. Mean of penalty of uncovered shifts proposed schedule (1.653,33) was significantly less than the real one (3.000,00).

For total requirement covered per day without considering grade, both of the schedules did not completely cover the requirement. Because of mean total uncovered shifts real schedule is less than the proposed one, real schedule was better than the proposed one. This is because initial random population making more difficult to get suitable shift pattern. Also cover rule, which was used in the proposed schedule algorithm, did not concern how many nurse still needed in the particular shift. Cover rule just counted total uncovered shifts and will be covered if a nurse work at hat shift pattern. Although particular shift needed more nurse but had less cover value, will be denied. If this would happen for the next nurse therefore that shift still uncovered.

Most uncovered shifts found in these schedules for nurse with senior grade. In real schedule, mean of uncovered shifts of senior nurses was 7 nurses, and in proposed one was 4 nurses. In real schedule mean of uncovered shifts of medior grade nurse was 6 and in proposed one was 4. For yunior grade nurse, mean of uncovered shifts in real schedule was 3 nurses and 2 nurses in proposed one.

From quality aspect, proposed schedule was better than real one because it can fulfill the nurse’s

Page 81: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Modified Bayesian Optimization Algorithm for Nurse Scheduling – I N Sutapa, I H Sahputra, V M Kuswanto

ISSN 1858-1633 @2005 ICTS

75

preferences. It can be seen from the result of paired samples t test for nurse’s preference that show mean of nurse’s preference (250,40) was significantly less than real one (268,67). In the proposed schedule, the nurse’s one-day weekly vacation request and preference were considered. In the real schedule, only nurse’s one-day weekly request was considered.

From stability aspect, the proposed schedule was better because it could create schedule according to the rotation shift and vacation rule. Rotation of the nurse from team A to team B can be done by change the location of the nurse. The nurse’s request for one-day weekly vacation was given priority based on the important level.

From flexibility aspect, both schedules have a good flexibility because both of them consider the nurse’s request for specific shift pattern. From the fairness aspect, proposed schedule was better than the real one because it’s process was not influenced by personal interest but randomly.

3. CONCLUSION

Modified Bayesian optimization methods had been used to produce nurse schedule that cover the requirement number and grade of nurse at this particular hospital. This proposed schedule was better that schedule made manually by the chief of room. This is can be seen from the result of paired samples t test fitness function of manual schedule and using proposed algorithm. The proposed schedule has

average of fitness function (1.903,73) smaller than average of fitness function of real manual schedule (3.268,67). For coverage aspect, proposed schedule was better than manual one, but manual schedule was better in covering the total requirement number of nurse. For quality and fairness aspects, proposed schedule was better than manual one. For stability and flexibility aspect, both schedule had similar performance. REFERENCE [1] Oktopina, Penjadwalan Tenaga Paramedis

Perawatan Instalasi Rawat Inap Anak di RSUD Dr. Soetomo, Surabaya, Universitas Kristen Petra, 2003

[2] Li J., & Aickelin U. , A Bayesian Optimization Algorithm For The Nurse Scheduling Problem, Proceedings of the 2003 Congress for Evolutionary Computation (CEC2003), Canberra, IEEE Press, 2003

[3] Pelikan, Martin. Bayesian optimization algorithm (BOA), available at http://www.cs.umsl.edu/~pelikan/boa.html

[4] Azwar, Saifuddin, Reliabilitas dan validitas. Yogyakarta, Pustaka Pelajar, 1997

[5] Santoso, Singgih, Buku latihan SPSS statistik parametrik, Jakarta, PT Elex Media Komputindo, 2001

Page 82: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

76

POLITENESS IN PHONING BY USING WAP AND WEB

Amaliah Bilqis, Husni Muhammad Informatics Department, Faculty of Information Technology, Sepuluh Nopember Institute of Technology

Kampus ITS, Jl. Raya ITS, Sukolilo – Surabaya 60111, Indonesia Tel. + 62 31 5939214, Fax. + 62 31 5913804

email : [email protected], [email protected]

ABSTRACT How human communicates with others is

influenced by their current context. In communication using phone devices, a caller does not know the situation of its receiver, whether he is in a meeting or free, in the mood or wants to be left alone. This is because they do not meet physically. This problem has increased the possibilities of conflicts and miss-communication due to unwanted communication, which degrades the quality of social interaction. One of the ways to reduce this and increase the politeness in phoning is by sharing context (situation in this time) from receiver to caller. Application for receiver is context_selection, and application for caller is context_call. The caller can decide whether to continue making a call, leaving a message, or else, base on the information about the receiver’s context that he received through his phone device. With this context sharing, the receiver would not be annoyed and loose any important information. In order to preserve the receiver’s privacy and convenience, two concepts are used. The first concept is grouping, which enlists phone numbers either as " friend", " family", or " others", is used. The enabling technologies for this concept solution are WAP and Web. The second is user self-configurability, which enables a receiver to set context, i.e. at the moment or at certain time. Keywords: Politeness, WAP, Web, Context_selection, Context_call 1. INTRODUCTION

Handphone is not such a luxurious goods anymore. Most people have mobile-phone nowadays, therefore if mobile-phone can be exploited as much as possible, we can make the market to be left widely open in this area. One common phenomenon when someone is using mobile-phone is he can turn off the mobile-phone, if he does not wish to be contacted or turn on the mobile-phone if otherwise.

The advantage and disadvantage turn on/turn off mobile-phone can be listed as follows: Turn off mobile-phone : • Advantage: do not be bothered by tinkle of

mobile-phone.

• disadvantage: someone losing of very important phone call.

Turn on mobile-phone : • Advantage: someone will never losing of very

important phone-call. • Disadvantage: perhaps someone will get phone-

call, but do not at the correct time

When the mobile-phone is turned off, we can still receive an offline voice message. But this change the paradigm of two-direction communications to one way communications. Voice message obliges receiver to check it regularly, and we rarely do this. This is because the mobile-phone balance will also decrease if checked message voice.

In this paper, we discuss how to increase politeness in mobile-phone communication using information sharing of context. Existing motivation pursuant to result of observation how people start conversation of face face-to, order any kind of which they use at that moment situation. Then this paper discusses the context application which is implemented using WAP and Web. 2. CONTEXT IN COMMUNICATIONS.

A conversation that is started when meeting someone face-to-face is far difference to one that started using mobile-phone. The following compares two communication techniques in social environment, i.e. face-to-face and long distance techniques.

2.1. Face-to-Face Technique When is done research how communications woke

up at environment of social, can be seen a important fact: Situation of that Situation moment, in general can be seen that 2 one who will do communications can decide when will start conversation. This order represent the part of knowledge of social, become decision process communicate very depend on that moment situation.

Some facts that usually considered by a user to set his mind when communicate with others are • how necessary is it for me to communicate at this

time? • does an underway discussion needs to be

interrupted?

Page 83: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Politeness in Phoning By Using WAP and WEB – Amaliah Bilqis & Husni Muhammad

ISSN 1858-1633 @2005 ICTS

77

2.2. Long Distance Technique To start a long distance communications by a

significance difference from communications face-to-face. At long distance communications of caller usually estimate about situation of situation one who will in phone-call ( do receiver is working, or perhaps just come home from meeting, etc). And when success caller phone, usually is often started with conversation asking about situation what's going on at receiver, for example : “ You is residing in where ; “ What you do now ; “ You have the kindness to converse in this time ?”; in this way receiver situation can know by caller and will influence communications which underway. Information sharing here often loses time because receiver has accepted phone-call.

In this time, receiver of mobile-phone can see phone-call number which is phoning it, and can take decision, do will accept phone-call or not. When receiver recognize with caller, receiver can decide will accept phone-call or not, but do not know how important discussion to happened

Some mobile-phone can group phone-call number, for example family group, VIP group, friend, friend work or is other. But however, same arising out problem still : knowledge inexistence about receiver situation and knowledge inexistence about how important him phone from caller.

Other Problem also arise : for example there is a family member which phoning non from his mobile-phone, but from telephone-shop, so that number which emerge non family number, but unknown number. While receiver have doormat his mobile-phone , can only accept phone-call of just family, others cannot phone.

There is other example of where long distance communication use computer offer information about situation of partner. For example using ICQ . ( Chatting wear Mirc or of yahoo messenger). ICQ is tool internet informing whosoever user which is on-line at that moment, so that can be invited to communicate. 3. PROTOTYPE CONTEXT-CALL USE

WAP. Context sharing in this time is one of the way of

long distance communications can look like communications of face-to-face.

Prototype to be explained in this time is receiver can arrange context which wish to be activated in this time. Pursuant to information of receiver context, caller can decide does call remain to phone or not.

3.1. Scenario to motivate. To motivate idea of our context-call we dedicate

the following scenario, pursuant to 3 situation where someone wish to phone others.

a. Mike is friend work of Mary. Mike phone Mary which is working. Mike invite Mary to drink after work. Mike phone Mary use context-call, Now Mike get reciprocation “ I am meeting, don't distrub” At mobile-phone layer also there are 3 choice that is is first : call ( remain to phone) ; both : message ( leaving word is); third : cancel ( canceling to phone). Mike feel that he needn't to phone Mary directly in this time, hence Mica leave word for Mary.

b. Harry is friend work other of Mary, see Mary misplace Figure at moment slid of meeting. Harry in short order phone Mary use context-call, and Harry also get message “ I am meeting, don't disturb”. But because this is important discussion, hence Harry remains calling Mary.

c. One day, Customer service from bank of Mary, phone Mary use context-call, he also get message “I am meeting, don't disturb”. And get 3 choice. He realizes this non right time to phone Mary and offer a new investment, so that he cancel to phone Mary.

By using phone-call standard, Mary given on to 2 choice when is meeting, that is turning off or turning on phone-call. At example of b, Mary earn losing of very important phone-call or Mary disregard imprecise 2 phone-call of its situation ( example of a and of c).

Clearly visible from mentioned scenario that information about context very is assisting both parties. Sharing information put in the way of others to communications within reason like communications of face-to-face, though only done with mobile-phone. By providing context to caller, hence caller can know situation what's going on at receiver and caller also can decide to remain phone, or leave message or cancel.

First appearance of application is : ask to receiver of caller, do wishing doormat of context_selection or context_call, like Figure 1.

Figure 1. Choice at WAP.

3.2. Context_Selection Applikasi. Context selector application is a application

of WAP where receiver can doormat information to be passed to caller. Receiver have choice, is doormat of context “ in this time” or “ not in this time”, like Figure 2.

Page 84: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

78

Figure 2. Context-Selection at WAP.

Receiver is also allowed to give choice to enter context at different group. There is also a choice to fill any text, if the receiver wants to give more specific information.

Then receiver submits his context use WAP-REQUEST to WAP server. At WAP server phone number and its context in this time kept to database. If there is an old record at this phone number, hence record old ones will in vanishing and changed with newly.

3.3. Context-Call Application Context-Call application replace normally of

interface before phoning. This interface where phone pursuant to WAP. caller open application, then caller asked to enter number phone one who wish in phone-call, like Figure 3. And there are choices also for context “ in this time” or “ not in this time”

Figure 3. Context-Call at WAP.

Figure 4. Result of context_call at WAP.

Number is sending to WAP server, then server

check phone-call number, if the phone-call number

there is a context, hence context will be sent to caller. At the same time with choice menu : call, message, or cancel, like Figure 4.

Now caller have 3 choice and know receiver context, so that receiver do not feel annoyed.

3.4. Privacy. Privacy seen to be for many people is

something that require to be thought of when them of sharing about context. Some observation initially : 1. Receiver often share their context when

them in phone-call, for example “ sorry i am meeting, can you call me again ?

2. Receiver wish share information selectively.

At first prototypr implementation of, given full control to receiver what will presenting in mobile-phone for the others . Receiver can take choice, what text will emerge at caller displayed and receiver also can give full information to caller , so caller will know of receiver context in this time.

To take care of someone privacy, added with facility of group for the list of phone-call number, so there are groups “ friend”, “ family” or “ others”. For example there is a phone-call of friend group, hence context which emerge “meeting” while the caller is a group of family hence context which emerge “ free” 4. CONTEXT PROTOTYPE USE WEB.

Sharing Context, besides by using WAP also can use WEB, because by using WEB will be more fleksible. Receiver needn't use mobile-phone when will use context_selection and caller nor require to use mobile-phone when wishing to know someone context, just run application of context_call through WEB.

Similar with WAP, first appearance of application is asking receiver or caller, do wishing doormat of context_selection or of context_call, like Figure 5.

Figure 5. Choice at WEB.

4.1. Context_Selection Application. Application of Context selection is an application

of WEB where receiver can doormat information to be passed to caller. Receiver have choice, is doormat of context “ in this time” or “ not in this time”, like Figure 6.

Page 85: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Politeness in Phoning By Using WAP and WEB – Amaliah Bilqis & Husni Muhammad

ISSN 1858-1633 @2005 ICTS

79

Figure 6. Context-Selection at WEB.

Receiver also will give choice to enter context for different groups. Also there is a choice to fill text any, if receiver like to give information more specific.

Figure 7. Context at different group

4.2. Context_Call Application . Application of Context-Call replace normally

interface before phoning. This interface phone pursuant to WEB. caller open application, then caller is asked to enter number phone one who wish in phone-call, like Figure 8. and there is a choice also for context “ in this time” or “ not in this time”

Figure 8. Context-Call at WEB.

Number is sending to WEB server, then server check phone-call number, if there is a phone-call number context, hence context will be sent to caller., like Figure 9.

Figure 9. Result of context_call [at] WEB.

Now caller have 3 choices and know receiver

context, so that receiver do not feel annoyed.

5. ARCHITECTURE.

This System consist of 3 main component they are : application of context-call, application of context_selection and in general. Every application use WAP and WEB. Both of application is sharing same data base at backend where information of context kept.

Receiver

Caller

WAP Server

WEB

context-selection

context-selection

context-call

Response

Call context-call

Figure 10 Architecture.

6. CONCLUSION.

Knowing Context and situation one who will be invited to communicate to play role important before starting itself communications. By comparing between long distance communications and natural communications at environment of social, we can see that communications social is more “ rich” and one very important reason is because knowledge about mutual context between both parties.

At this paper is depicted about context system; This system permit receiver use WAP and WEB for share of context and earn more selective doormat in long distance communications . Receiver can give information about his context to caller. Then caller can decide do this right time to phone.

Receiver can set his context not just only at the moment, but earn also for a few time to the fore With addition of group for receiver, will take care of receiver’s privacy. Every group can accept different context at the same time.

By using this application can make phone mobile not bother in each situation and with advantage always turn on every moment. 7. SUGGESTION

For furthermore development: we see addition at interface user, that is integrating context-selection with calendar and profile. Also integrate application of call with book address. REFERENCE [1] Schmidt, A., Takaluoma, A., and mäntyjärvi,

J., Context-Aware Telephony over WAP,

Page 86: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

80

Personal Technologies, vol 4 (4), pp. 225-229, September 2000.

[2] Chin, J., Tatchell, G., The Telephony Customer Interface: Five Perspectives on Problems and Solutions. Proceedings of CHI 96, 1996

[3] Liechti O, Siefer N and Ichikawa T. A Non-obtrusive User Interface for Increasing Social Awareness on the World Wide Web. Personale Technologies 3 (1&2), 1999: 22-32.

[4] Jacknis, M., Sawhney, N., Schmandt, C. GarblePhone: Auditory Lurking, July 2000.

http://www.media.mit.edu/~nitin/projects/GarblePhone

[5] Schmidt, A., Aidoo, K.A., Takaluoma, A., Tuomela, U., van Laerhoven, K., Van de Velde, W. Advanced Interaction in Context. 1st International Symposium on Handheld and Ubiquitous Computing (HUC99), Karlsruhe, Germany, 1999 & Lecture notes in computer science; Vol 1707, ISBN 3-540-66550-1; Springer, 1999.pp 89-101

Page 87: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

81

IMPELEMENTATION OF HIERARCHY COLOR IMAGE SEGMENTATION FOR CONTENT BASED IMAGE RETRIEVAL

SYSTEM

Nanik Suciati, Shanti Dewi Jurusan Teknik Informatika, FTIF. Institut Teknologi Sepuluh November

Kampus ITS, Keputih – Sukolilo - 60117 Email: [email protected], [email protected]

ABSTRACT

Nowadays, digital image processing have been used in various applications. One of the applications is content-based image retrieval (CBIR) system which use image content as key for retrieval process. Two important processes in CBIR system are storing process and retrieval process. Input system is digital image. In the storing process, the original input image together with the color and shape features, are saved in the database. The image features are obtained using region extraction process. While in the retrieval process, input image is used as a parameter query (key). Output from this retrieval process is list of images which contain the query object.

This research implement CBIR system using color image segmentation, relationship tree representation, and matching-tree method. Segmentation method used are region growing and region merging. Tree-matching method does the retrieval process by using relationship and features of region as parameter in order to compare the similarity between two images.

Based on the experimental result to some object query, can be concluded that color image segmentation method, representation of segmentation result with relationship tree and tree-matching method have fairly high efficiency ratio. The experimental result of 10 object query shows that the efficiency rate of retrieval process is about 60% up to 80%. Methods used in this content-based image retrieval system has high efficiency rate (about 80% up to 100%) especially if the relationship structure from the object query consist of more than one node region. Keywords : Image retrieval system, Region growing, Region merging, hierarchical of region relationship. 1. INTRODUCTION

The using of digital image processing grows rapidly equal to the growth of computer technology in every field, such as medical, industrial technology, geographical mapping, etc. For example, in medical field, for deciding objects from human; body’s photo, a way for differentiating proponent object is needed. It is a process of dividing one image into separated regions, which each region is homogeneous and each points to definite uniformity criterion [1].

The content-based image retrieval system is a query system that uses content as key for retrieval process [2]. One of the impediments in making this system is how to do real world image segmentation correctly, remembering that usually real world image consist of complex color and object information.

Some research have been done in order to extract color and space information from image such as color histogram. This histogram accommodate information about the amount of pixel for certain color in an image. This histogram information is used in a process of comparing two images. Another approaches is by dividing image into regions of constant (but unknown) reflectance. Ratio between reflectance of a region to that it's background is used to understand object. This already existing segmentation are not suitable for making content-based image retrieval system because of two reasons. First, they are based only on color information alone. They usually produced disconnected segments. Second, in complex image, selecting threshold is almost impossible.

Another method that can be used in making content-based image retrieval system is the combination among color image segmentation, representation of segmentation’s results with relationship tree and tree-matching method [3]. Segmentation that is used is region growing and region merging which are considered as one method of region-oriented segmentation. Its technique not only uses color information but also pixel relationships to partition an image into some regions. The relationship among regions of segmentation result is represented with relationship tree. Tree-matching method does retrieval process by using relationship and feature of region as parameter to compare the similarity between two images.

2. SYSTEM DESCRIPTION

The objective of this project is to implement a CBIR system on image database. Input of CBIR system is color image. This image will be segmented using region growing and region merging segementation method. The relationship of resulted regions are represented in relationship tree. Then, process continued by extracting color and shape features.

If color image will be kept in database, system will save original image, segmentation image, relationship

Page 88: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

82

tree structure, and color and shape features of each resulted regions. If color image will be used as query image, system goes to find query object. The query object is subtree of outermost regions of relationship tree. The query object is represented as query string.

System output are images containing the query object. The number of output can be determined by user. Image output sort ascending by dissimilarity score.

Database structure consist of 2 tables. The first table is used to save original images, segmentation images and structure of relationship tree. The second table is used to save color and shape features each of resulted regions.

2.1 Data Flow Diagram Data flow diagram (DFD) is used to explain

process and data flow of system. Process and data flow diagram are explained in level 0 until level 3 diagrams.

Figure 1. Level 0 of DFD

[Input Simpan atau Cari]

Data citra serta fitur warna dan bentukData citra serta fitur warna dan bentuk

[Daftar citra output (hasil query)][Citra Input (format bmp)]USER

USER

1

Retrieve Citra

+

Basisdata Citra

USER

Figure 2. Level 1 of DFD

[Input Simpan atau Cari]

[Daftar citra output (hasil query)]

[Data citra serta fitur warna dan bentuk]

Region Query (jika cari)

[Data citra serta fitur warna dan bentuk]

[Citra Input (format bmp)]

USER

USER

Basisdata Citra : 2

1.1

Membentuk Region

+

1.2

Mencari Citra

+

Basisdata Citra : 1

USER

Figure 3. Level 2 of DFD

[Region Query (jika cari)]

Obyek query

Relationship tree (jika simpan)

[Input Simpan atau Cari]

Relationship tree (jika cari)

fitur warna dan bentuk

Data Region

Data Region

[Data citra serta fitur warna dan bentuk][Citra Input (format bmp)]

USER Basisdata Citra

Mencari Citra

1.1.1

Segmentasi Citra

1.1.2Membentuk Relationship

Tree

1.1.3Ekstrak Fitur Warna dan

Bentuk

1.1.4

Menyiman ke basisdata

USER

1.1.6

Ekstraksi fitur obyek query

1.1.7

Membentuk obyek query

Figure 4. Level 3 of DFD (Region composing process)

[Daftar citra output (hasil query)]

Citra hasil query

Citra hasil query

[Data citra serta fitur warna dan bentuk]

[Region Query (jika cari)]

Membentuk Region

Basisdata Citra

USER

1.2.1

Mencocokan obyek query dengan

relationship tree citra basisdata

1.2.2

Menghitung nilai ketidakmiripan

1.2.3

Menentukan citra output

Figure 5. Level 3 of DFD (Image Retrieval Process)

The method which is used to implement region extraction and image retrieval process is adobted from research conducted by Chiou-Shann Fuh et al [3].

2.2. Database Structure Database structure is used to save the following

data : 1. Original image 2. Segmentation image 3. String which represent relationship tree of image 4. Stucture of relationship tree 5. Color and shape features consist of :

• Mean of red component • Mean of green component • Mean of blue component • Standard deviation of red component • Standard deviation of green component • Standard deviation of blue component • Density ratio • Thinness ratio • Invariant moment

The above data are saved in 2 tables. The structure

of tables is shown in figure 6.

Simpan atau Cari Daftar citra output (hasil query)0

SISTEM TEMUKEMBALI CITRA

+

USER USER

Citra Input (format bmp)

Page 89: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Implementation of Hierarchy Color Image Segmentation for Content-Based Image Retrieval System - Nanik Suciati & Shanti Dewi

ISSN 1858-1633 @2005 ICTS

83

NoCitra GambarCitra CitraSegm ReprTree UrutanRegion 1 2 3 4

NoCitra

NoReg

MR MG MB SR SG SB Density

Thinness Invar

1 1 1 2 1 3 2 1

Figure 6. The structure of tables

4. EXPERIMENTAL RESULT Experiment Data

Image database which is used for experiment is 150 color image 24-b. These images are taken by Samsung Digimax 301 digital camera with ‘fine’ quality. The experimental image dimension is 640 pixels in width and 480 pixels in height. Theshold Value

Threshold value is shown in table 1. Table 1. Threshold Value

Threshold Value TL 20 TG 50 TS 20 TN 4000

Segmentation Result Color image segmentation result and relationship

tree structure is shown in figure 7. The number labeled in each node of the relationship tree represent the labels which are assigned during segmentation. Based on the relationship tree below, it can be seen that the regions are sorted by region size in descending order.

(a)

(b)

(c)

Figure 7. Segmentation result and relationship tree (a) Original image, (b) Segmentation result, (c) Relationship tree

Experiment system Software experiment of image retrieval is done by

querying 10 images. For each query object, the images containing the same object are determined by human eye are defined as ground truth.

After lots of ground truth decided, the experiment is continued to obtain a list of similar images. The length of this list can be determined by users. In this experiment, the length (L) are 5, 10, 15 and 20.

Root

4

1 2 653

String Representasi : ((n)nnnn)

Page 90: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

84

Four query object used in experiment are shown in figure 8.

Query object 1 Query object 2

Query object 3 Query object 4

Figure 8. Query object 1 to 4

The image retrieval efficiency, Lη [6] for length L is shown in the following equation :

⎪⎪

⎪⎪

=

LNN

N

LS

T

S

η

(13) where NS is the number of the similar images

retrieved in the result list, and NT is the number of the ground truth for query object

Output image of retrieval process for object query 1 to 4 is shown in table 2. Based on table 2, query object 1 obtains output images 1, 5, 2, 9, 4 and so on. Symbol * shows the similar images with query object.

Retrieval efficiency Lη for retrieval of 10 query

object are shown in table 3. Retrieval efficiency Lη for each query object are calculated for length (L) 5, 10, 15 and 20. Based on table 2, for query object 1 obtained similar images with query object (NS) for length 5, 5 images, length 10, 6 images, length 15, 7 images, and length 20, 8 images. After the number of ground truth for each query are determined, efficiency rate can be calculated by equation (13). In table 3, can be seen for query object 1, the retrieval efficiency for length 5, 10, 15 dan 20 are 1, 0.6, 0.7 and 0.8, respectively.

Table 2. Output images for query 1 to 4

No Query1 Query2 Query3 Query41 1* 11* 21* 32* 2 5* 13* 24* 38* 3 2* 17* 27* 39* 4 9* 15* 26* 40* 5 4* 12* 22* 37*

6 66 16* 28* 35* 7 70 45 30* 33* 8 78 49 29* 19 9 8* 47 50 127 10 61 43 18 128 11 64 44 42 103 12 111 48 16 125 13 17 20* 19 106 14 71 41 44 36* 15 10* 100 20 84 16 117 46 12 34* 17 7* 18* 15 10 18 68 42 13 31* 19 13 50 43 89 20 18 14* 45 90

Table 3. Retrieval efficiency for 10 query object

Citra NT L=5 L=10 L=15 L=20 1 10 1 0.6 0.7 0.8 2 10 1 0.6 0.7 0.9 3 10 1 0.8 0.8 0.8 4 10 1 0.7 0.8 1 5 10 1 0.9 1 1 6 10 0.4 0.3 0.4 0.5 7 10 0.6 0.6 0.8 0.9 8 10 1 0.9 0.9 0.9 9 10 0.4 0.3 0.6 0.7 10 10 0.6 0.3 0.4 0.5 Rata-rata

0.8 0.6 0.71 0.8

Retrieval result for query object 2 from rank 1 to 4 are shown in figure 9. And for query object 7 are shown in figure 10.

11 13

17 15

Figure 9. Rank 1 to 4 for query object 2

If NT ≤ L

if NT > L

Page 91: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Implementation of Hierarchy Color Image Segmentation for Content-Based Image Retrieval System - Nanik Suciati & Shanti Dewi

ISSN 1858-1633 @2005 ICTS

85

72 74

89 80

Figure 10. Rank 1 to 4 for query object 7

Efficiency rate for object query 10 is not high. This is because of the query string is simple one-node region. So, this query string will match with all images in database. So, the decision of output images only depend on dissimilarity score between query object and all matching images. The retrieval process will produce wrong output especially when color and shape features of image in database almost similar with feature of query object, although both images are not similar at all.

Efficiency rate for object query 3 is high enough. This is because of segmentation result which is showed by relationship tree of query object is not one-node region. So, the query string is more specific.

The mistake of retrieval process is caused by the segmentation produces different relationship tree structure. The factors which is affected the segmentation process are light and reflection. Object size in the image also influences segmentation process. If the object size bigger or smaller than query object, the segmentation process will be different.

The mistake of output image query object 3 can be caused by segmentation. Segmentation of some group truth are not the same as query string. Therefore, some of ground truth can not be processed.

5. CONCLUSION After doing some experiments and evaluation to

software, it can be concluded that : • Color image segmentation (region growing and

region merging), creation of hierarchical relationship tree and tree-matching method, have high enough efficiency rate. Based on the experiment of 10 query objects, efficiency rate for length 5, 10, 15 and 20 are 80%, 60%, 71% and 80%

• Image retrieval process produces high efficiency rate especially if the relationship structure of query object more than one-node region.

• Image retrieval process with tree-matching method which is used, is very sensitive to relationship tree structure. If the relationship tree of image in database is totally different with tree structure of query object, so this image can’t be processed although it contains query object.

REFERENCES [1] Rafael C. Gonzales, Digital Image Processing,

Addisson-Wesley Publishing Company, 1987 [2] P. Aigrain, H. Zhang, and D. Petkovic, Content-

based Representation and Retrieval of Visual Media : A State-of-the-art Review, Multimed. Tools Applic., vol.3, pp. 179-202, 1996

[3] Chiou-Shann Fuh, Shun-Wen Cho and Kai Essig, Hierarchical Color Image Region Segmentation for Content-Based Image Retrieval System, 2000.

[4] R.M. Haralick and L.G. Shapiro, Computer and Robot Vision. Reading,MA : Addison-Wesley, 1992, vol I,II.

[5] A. Tremeau and N. Borel, A region growing and merging algorithm to color segmentation, Pattern Recognit., vol 30, pp. 1191-1203, 1997.

[6] B.M. Mehtre, M.S. Kankanhalli, A.D. Narasimhalu, and G.C. Man, Color matching for image retrieval, Pattern Recognit, Lett, vol 16,pp.325-331,1995.

Page 92: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

86

DECISION SUPPORT SYSTEM FOR STOCK INVESTMENT ON MOBILE DEVICE

Ivan Satria, Dedi Trisnawarman Departmet of Information System, Faculty of Information Technology

Tarumanagara University, Jl. Letjen S.Parman No.1, Jakarta Barat

Telp : (021)5671747, Fax : (021)56941924 Email : [email protected] , [email protected]

ABSTRACT The Purpose of this final project is to help to

forecast or predict stock investment value on the mobile device that has a high flexibility and mobility to connect to the data banks (internet). The module that created are data selection module, technical analysis module and the result module. This modules are part of decision support system, for giving information to predict the development of stock values in the future. The programming language that used for design the module is PHP and MySql for the database, for the interface in the mobile device is created using Java 2 Micro Edition (J2ME) that have the ability to run on mobile device that support Java. The decision support system for stock investment on mobile device is design to help user in stock investment by providing the future possible growth of the stock value according to the user input to the system. This system also designed to help user to analyze the movement track record of a stock and can be used as an information system of a stock current value. Keywords : DSS, J2ME, Mobile device, Stock, Web. 1. INTRODUCTION

Decision making cannot be separate in our daily life, decision making especially in a crucial matters could be fatal if there is no data to analyze the possible condition of the decision.

Human has been facilitated to obtain some information in compliance of information technology improvement. Nowadays, the needs on information had made easier because of the appearance of internet, which allow us to transfer the information in just few seconds. Time and space is no longer as obstacles. This compliance has made advantage for those who are far from source of information.

Internet (Interconnected Network) is a network that connects computers in the whole world, and made possible communication data between computers that already connected into that network. Internet is use by many formals and in formals organizations to spread any information through public. Internet act as a media to deliver fast

information. Newest information can be spread through the internet. Internet is one of the media to search and transfer data that connect the entire computer network around the globe. Internet has grown into an information sending media. Internet also provides all the information and data that could be crucial in decision making.

However this, internet as an accessible network still have its own weakness especially in the access to the internet it self. But with the fast growth of the mobile device technology, this problems could be solved.

The mobile device concept is not meant to replace the function of the internet, in the contrary it is the extension of the internet itself, which through this device the internet is more accessible and can follow the highly mobility user. So this application can help user to help user in decision making to provide data and information access especially when the internet access is limited of not available.

This application use stock as the object of data with consideration that stock value is changing rapidly, therefore the needed data for decision making in stock investment would be the latest value of the stock.

2. BASIC THEORY

2.1. Decision Support System Decision support system is a computer based

system that designed as a helping tool for all the management level in decision making by simulating or predict the possible decision options results so the management can choose alternative action to get the expected goals. Decision Support concept is stressed on the effectifness, not on the efficiency of decision making . [1]

2.2. Investment An investment is a commitment of funds

made in the expectation of some positive rate of return[2]. Investment and speculation usually including assets purchasing in reliance to get profit form the increasing price[3].

Page 93: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Decision Support System for Stock Investment on Mobile Device – Ivan Satria & Dedi Trisnawarman

ISSN 1858-1633 @2005 ICTS

87

2.3. Stock Stock is valuable papers that used as an ownership

proof of a company, usualy stock used as a media for the commpany to gain more capital and expand their business.[4]

2.4. Prototyping Engineer appliance is determination and using the

engineer principal in order to get the trusted application, economic, and work efficiently in computer. To engineer the software need a systematic approach, this called prototyping.

The software design is a result of hardware development and system design. Prototyping method gives strong basic control to the software development, to develop a high quality and controlled software. The systematic steps of prototyping approach in software development are : 1. Data Gathering

Search and collecting data needs for creating, designing database and to identify problems.

2. Temporary design Create a blueprint of the design software to gives images of the objects and the software format for input and output.

3. Prototype Building The temporary design is collected and arrange into a computer language.

4. Prototype Evaluation Makes evaluation on software output to identify if the result is suitable with the expected outcome. This phase also conducted to all the function.

5. Product Making Is the last phased in prototyping method, where the full software is created.

2.5. System Design The Decision Support System for Stock

Investment on Mobile Device designed in 2 parts, first is the web application that used as the data gather and data store for the stock value, currency exchange value, inflation rate value. The decision support mathematical models calculation also take place on the web. The web application used to ensure the stock data used in the calculation is the latest data. The second part of the application is the mobile device application side that used as an interface to communicate to the web application.

2.6. Database Model The database model used in designing the decision

support system is E-R Diagram. E-R Diagram is a model network that use arrangement data that save in the system in abstract. E-R Diagram describes the relationship among entities in the integrated system. The relationship on basis data are: one to one relationship, one to many relationship, and many to many relationship. In E-R Diagram, the entities relationship resulted several tables. Those tables still

not normal, because of all data in the table still redundant. Therefore, normalization is needed in order to make those tables into normal and free from data redundant.

The data used in the decision support system for stock investment on mobile device, is the stock current value, the Indonesian currency rate, the inflation rate and the inflation rate that gathered from the internet from Jakarta market quotes and Indonesian banks website. This data gathered and stored automatically to the database using a php regular expression scripts. list and finds a song from Corrs that she likes but does not have in her collection. Then she plays the song.

After a half an hour, together with other passengers, she is asked to board in. Immediately after she leaves the waiting room, the new mp3 files are gone from the list.

2.7. Stock Valuation The method use for stock valuation is portfolio

model. Portfolio model is a model that collect several stocks, and from that stocks which have been collected will be use mathematics approach, in order to predict the future stock price. The usage of portfolio method is to forcasting the sellected stocks. To evaluate stock valuation will be use several methods. a. Simple Moving Average :

Simple Moving Average method is used to make prediction the next value based on previous stocks value. This method is more common, because it is the simpliest method. Meanwhile the results are more accurate for short term.

F T + 1 = ∑=

T

iiX

T 1

1 (1)

F = Forecasted value. X = Present Value. T = Time.

b. Exponential Moving Average : Exponential Moving Average method is one of

the most poppular and easy to to use. With combining the average of moving average value this methode smooth the value on the chart to identify the trend.

X = [ Kx(C-P)]+P (2)

X = Exponential Moving Average C = Current vale P = EMA Previous Period K = Smoothing Constant

K= 2/(1+N) (3)

N = period of Exponenttial Moving Average

Page 94: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

88

c. Inday Trading Inday Trading or known as one day trading, is a

trading method in a very short amount of time. In this method there’s some technic used, such as Pivot Points. Pivot Points is a value points that used as an anchor to predeict the stock next value.

Pivot Point = (high + Low + Close + Open)/4 Support-1 = (2*Pivot)-High Support-2 = Pivot-(High-Low) Resistance-1 = (2*Pivot)-low Resistance-2 = Pivot + (High – Low) (4)

d. Sthocastic Oscillator This method is created by George C. Lane, that

used to locate the relatif closing value of a stock in a

period. The asumtion used in this method is the stock price usually closed near the highest price in bullish trend.

%K = 100 * ⎟⎟⎠

⎞⎜⎜⎝

⎛−

−)()(

)(RenLowestLownhHighestHig

nLowestLowcentClose (5)

n = number of period used

e. William %R This indicator was develop by Larry William.

%R is one of the most poppular momentum indicator to measure the stock over bought/ over sold value. The scale used in this indicator is from 0 to -100, with the substance that from 0 to -20 is over bought and -80 to -100 is over sold.

%R= 100***

*−

−−

periodsoverLowLowestPeriodsoverhighHighestClosePeriodsoverhighHighest (6)

Figure 1 Stock Selection on Mobile Application Interface

2.8. Hierarchy Analytical Process Hierarchy Analytical Process is a way to simplify

a complex unstructured, dynamic and strategic problems in order to organize a hierarchy. Hierarchy Analytical Process have the benefit to help a complex decision making process by providing chart and graph to simplify problems so the decision making would be more easy. [5]

2.9. Programming Language This application designed using J2ME to build

application on mobile device interface. This programming language has the ability to cross platform as long as the mobile device support the Java technology [6]. The interface on the mobile application is designed very efficient, to reduce user difficulty in typing an input using the mobile device keypad.[7]

Figure 2 Mathematical Method Selection on Mobile Application Interface

3. RESULT In the result the program will gives the user the

comparison of the selected stock using the selected mathematical approach, the result also show the stock movement ratios. The result also includes graph and chart of the stock movement, the graph and chart used to help user to visualize the stock movement. As seen in Figure 3, 4, and 5.

Page 95: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Decision Support System for Stock Investment on Mobile Device – Ivan Satria & Dedi Trisnawarman

ISSN 1858-1633 @2005 ICTS

89

Figure 3. Decision Support Result on Web Application (1)

Figure 4. Decision Support Result on Web Application (2)

Page 96: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

90

Figure 5. Decision Support Result on Web Application (3)

Figure 6. Decision Support Result on Web Application (4)

4. CONCLUSION Now days the mobile device can be used not only

as a telecommunication media, but also as a media to support user in decision making by providing data and

information needs in decision making. By using the mobile device as a media of data and information provider user can get more benefit especially in the highly mobile ability of this device, user no longer need to carry all the data where ever they go because they always able to get and contact the data banks through this media. The decision making application is design to process the data using the mathematical model, and user’s input into information. This system also can be used as an embedded system that can be integrated into a larger system such as online transaction system. In the future this kind of applications will be highly need and use especially with the fast growth of the telecommunication technology and the upcoming 3G technology, the data transfer speed will be more highly increased and with more new mobile device that adopted this technology, many people will use this device as a data and information provider in decision making. REFERENCE [1] Turban Efraim, Decission Support System, Expert

System & Management Support System, 5th Edition, Upper Saddle River ; Prentice Hall, 2005, 40.

[2] Fischer Donald E, Security Analysis and Portfolio Management, Englewoodliffs ; Prentice-Hall, Inc, 1987, 5.

[3] Francis Jack Clark, Investment : Analysis and Management, New York ; Mcgraw-Hill Book Company, 1986, 10.

[4] Ahmad Kamarudin, Dasar-dasar manajemen investasi dan portfolio, Jakarta ; Rineka Cipta, 2004, 17.

[5] Marimin, Teknik dan Aplikasi Pengambilan Keputusan Kriteria Majemuk, Jakarta ; PT. Grafindo, 2004, 15.

[6] Topley Kim, J2ME in a nutshell: A Desktop Quick Reference, O’Reilly, 2002, 10.

[7] Piroumian Vartan, Wireless J2ME™ Platform Programming, Prentice Hall, 2002, 58.

Page 97: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

91

FUZZY LOGIC APPROACH TO QUANTIFY PREFERENCE TYPE BASED ON MYERS BRIGGS TYPE INDICATOR (MBTI)

Hindriyanto Dwi Purnomo, Srie Yulianto Joko Prasetyo Satya Wacana Christian University

Jl. Diponegoro 52-60, Salatiga, Indonesia Phone : (0298) 326362

Email : [email protected]

ABSTRACT Knowing our self is the first way to accept our

condition. There are several option to know our self. One of them is knowing our preference. When we know our preference, we can know our strength and weakness. People who know their strength and weakness can develop their self optimally and they can enjoy their life. There are a lot of method in measuring preference type. One of them are Myers Briggs Type Indicator. Myers Briggs Type Indicator measure preference type based on four indicator : nature (extravert and introvert), the way in collect information (sensing and intuition), the way in decide (thinking and feeling) and life style (percepting and judging). The indicator will create 16 combination of preference type. This research goal is build a model to quantify preference type using fuzzy logic based on Myers Briggs Type Indicator. The method try to quantity type preference. The computational model use in this research is fuzzy logic. In the future, this method can develop to create personality on machine. Keywords : Preference Type, MBTI, Fuzzy, Quantify 1. INTRODUCTION

Knowing our preference is early way to know our self. When we know our preference, we can do a job or activity appropriate with our personality. This help us to do the job or activity comfortably, effectively, creatively and happily.

Preference measurement is commonly used in psychology, mainly in human resource and development. Myers Briggs Type Indicator (MBTI) is a preference model and inventory that widely used in the world. According to Center for Application of Psychological Type, there are 2.000.000 people use MBTI in a year. Preference type have a lot of advantage to develop personality. This is mostly use in the field that need interact with a lot of people. This can be use in : determine a job, create an optimal condition in a job, compose a learning method, build a solid team work, etc.

This research goal is build a model to quantify preference type using fuzzy logic based on Myers Briggs Type Indicator. MBTI used because of its

validity and reliability. In the future, the quantity method can develop to create personality machine.

2. LITERATURE

2.1. Myers Briggs Type Indicator Myers Briggs Type Indicator (MBTI) is an

instrument for measuring person’s preference. Preference is something that we choose to do ,if we have a choice, althought we have some alternative in doing so. When we do in the way that we choose, we will use less energy and mind. The most frequency example in determine preference is the way we make a sign. We will tend to use the familiar hand to make a sign althought we can use the other hand. When we use the familiar hand, we will need less energy and effort. This is feel comfort to us.

MBTI was first developed by Isabel Briggs Myers (1897-1979) and her mother, Katherine Cook Briggs (1875-1968). MBTI developed in 1943 based upon Carl Jung’s (Swiss psychiatrist and colleague of Freud's ) notion of psychological types. MBTI measuring a person’s preference using four indicator : nature, the way in collect information, the way in decide and life style. Each indicator was scaled with opposite poles : nature (extravert and introvert), the way in collect information (sensing and intuition), the way in decide (thinking and feeling) and life style (perceiving and judging). The indicator will create 16 combination of preference type. Each type was represented in four alphabed in example ENTP (extravert, intuition, thinking, perceiving).

According to Jung, there are no one that pure in one indicator, in example pure extravert or pure intavert. Everyone have a combination from each indicator. In every indicator, one pole will dominate the other. This dominant will more influence people preference.

Based on the nature, there are 2 opposite poles, extravert and introvert. This nature represent how people interact with outer world ( activities, people, excitements and things) and inner world (thought, interest,ideas and imagination). Extravert people will more influenced by outer world. Introvert people will more influence by inner world.

Page 98: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

92

Based on the way people take in information, there are 2 opposite poles, sensing and intuition. People with a preference for sensing will comfort to start on the factual information before moving to the concept. People with a preference for intuition will comfort to start on the idea or guess before moving to the factual.

Based on the way in decide, the opposite poles are thinking and feeling. A person with preference for thinking use logical approachment to explain, cause-effect and universal rules of truth. They usually common with harmony. A person with preference for feeling tend to analysis the impact of decition on the other people.

Based on the life style, the opposite poles are judging and perceiving. People with preference for judging tend to do something structured. People with preference for perceivig tend to enjoy the spontaneous life.

2.2. Fuzzy Logic Fuzzy logic is part of artificial intelligent that

adopt the pattern of thinking method. This logic support the problem that can’t be determine as true or false, black or white. This concept are no longer clear-cut like yes or no, but relatively vague, for example more or less true.

Fuzzy logic arranged from fuzzy set who first developed by Lotfi Zadeh (1965). A fuzzy set allow the degree of membership of an item in a set to be any real number between 0 and 1. This allow human observation, expressions, and expertise to be more closely modeled. Fuzzy set are defined over some universe of discourse depending on the problem ( Yan, 1994).

Fuzzy logic can effectively used in non linier and complex system (usually difficult to make in mathematic modeled) which have uncertainty factor. There are two important thing in using fuzzy logic, chosing the main parameter used in fuzzy logic and compose the knowledge base (knowledge acquisition).

A fuzzy set is a generalisation of the concept of an ordinary set and defined by membership function. For a universe of discourse U, the fuzzy set can denoted as :

( )( ) UuuuF F εµ |,= for continous U, F may be written as :

and for discrete U, as :

A fuzzy logic usually consists of : 1. A fuzzyfication unit which maps measured

inputs crisp into fuzzy linguistic.

2. A knowledge base (KB) which is the collection of knowledge required to achive output.

3. A fuzzy reasoning mechanism that perform various fuzzy logic operation to infer the output for given fuzzy input.

4. A defuzzificaton unit which convert the inferred fuzzy output into crisp values.

3. METHODOLOGY

There are several step in the preference method using in this research (see fig-1).

Figure 1. Measurement Block

Input obtain from the MBTI. For each indicator, there are several questions that should be answer. The question purpose are to guess audience preference type. The answer used to inventory the audience preference, not state logical true or false. Each answer divide in 5 category that represend the intensity. The weight of intensity will be used to quantify.

Each answer category used to build a membership function. The membership function used in this research are Gaussian (see fig-2).

Figure 2. membership function

Each indicator will supplay two fuzzy input from their opposite poles. This input will be compute using fuzzy logic. The crisp output will represent the quantity of preference type.

The defuzzification unit strategies used in this research is centre of area (COA) method which describe as :

Input using MBTI method

Quantify method using Fuzzy logic

Output

Page 99: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Fuzzy Logic Approach to Quantify Preference Type Based on Myers Briggs Type Indicator (MBTI) – Hindriyanto Dwi Purnomo & Srie Yulianto Joko Prasetyo

ISSN 1858-1633 @2005 ICTS

93

( )( )∫

∫=dzz

dzzzz

µ

µ or

=

== n

jj

n

jjj

z

zzz

1

1

)(

)(

µ

µ

The fuzzy logic architecture used can be see in

figure 3.Universal Plug & Play (UPnP) was first initiated by Microsoft [x], which initialized the work through the Plug and Play in Microsoft Windows 95 OS [x]. It is first implemented in Microsoft Windows ME OS. This concept of network architecture framework was later developed within a forum called UPnP Forum. UPnP is meant to provide a transparent automatic connectivity and interoperability between appliances, PCs, and services within a network, which is based on peer-to-peer discovery and configuration. It is based on a number of standards protocols, such as TCP, IP, UDP, HTTP, SOAP, SSDP, etc. This enhances the interoperability between UPnP devices. Figure 1 shows the UPnP protocol stack.

Figure 3. Sketch of Fuzzy Logic

4. RESULT

The method tried to 20 respondent. The respondent will test in two manner. First they will test

using the method describe in this paper and then using the manual test of MBTI.

In the first test,t the program will record the intensity of each answer that use as fuzzy input. The output program will be compare with the manual test of MBTI.

There are 3 set of question that tried in this research. Each set arranged from 6 question for each indicator. Each question adopted from the MBTI.

From the first test, there are some aspect that influence the result. Each set of question will produce a slight different result. The complete and not complete answer will produce different output. The respondent condition will effect the result

Although the set question, respondent condition and the complete answer give difference result, they give to the same preference when compare with the manual test of MBTI.

There is a need an instrument to measure the precise of quantify preference type. In the future, this method can develop to create personality on machine.

5. CONCLUSION

The method used in this research can quantify preference type but it still no found fixed formula that can be use exactly.

There are some aspect that influence the result. The aspect are : set of question, complete answer and respondent condition.

For the next reseach, this method can be develop to observe the effective of the question. REFERENCE [1] Yan J, Ryan M, Power J, Using Fuzzy Logic,

Toward Intelligent System, Prentice Hall, United Kingdom, 1994.

[2] MBTI, Gloria People Development Centre, Yayasan Gloria Yogyakarta, 2004.

[3] About the MBTI® Instrument, www.capt.org/The_MBTI_Instrument/Home.cfm.

[4] Russel Stonier dan Masoud Mohammadian, 1996, Evolutionery Learning in Fuzzy Logic System, www.csu.edu.au/ci/vol103/stonier .

[5] Introduction to Myers-Briggs Personality Type & the MBTI, www.personalitypathways.com/

FIS and KB

Fuzzyfication

Defuzzification

Input

Output

Page 100: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

94

SECURITY CONCERN REFACTORING

Putu Ashintya Widhiartha1 and Katsuhisa Maruyama2 1 Graduate School of Science and Engineering, Ritsumeikan University

2Department of Computer Science, Ritsumeikan University 1-1-1 Noji-higashi Kusatsu

Shiga 525-8577, Japan [email protected] and [email protected]

ABSTRACT Computer security recently becomes a serious

issue. However, it is still difficult to build secure software. This paper proposes a method of increasing security level of software in the coding phase by using software refactoring. Refactoring is the process of improving the internal structure of existing code without changing its external behavior. In this paper, seven refactorings concerning security and transformations toward their automation are presented. An automated security refactoring tool makes it easier to improve security level of existing software. Keywords : software development, refactoring, software restructuring, security, software design 1. INTRODUCTION

In the recent era when computers are connected each others, they become vulnerable to an attack. There are many reasons for the attackers to attack a system such as business competition, data manipulating, bandwidth stealing, or even just for their fun. On the contrary, for the developers an attack could cause serious issue especially for the large developer due to the reliability of their systems or software would be questionable by their customers.

The best manner to avoid an attack to our software is to increase its security level. Certainly the security level of software depends on each phase of software development such as requirement analysis, design, coding, testing, and maintenance. Increasing security level of each phase will guide entire software to be more secure.

This paper proposes a method of increasing security level of software in the coding phase by using software refactoring [1]. Refactoring is originally the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. It is proper to be applied in design and coding phase of software development [2]. The contribution of this paper is to collect several code transformations with respect to security level improvement under the framework of refactoings and show the possibility of automating those transformations. An automated refactoring tool

supporting such transformations makes existing code more secure without changing its observable behavior. Our proposed refactorings can improve security level of software while traditional refactoring aims at making existing software easier to understand or modify.

We first describe traditional techniques on secure programming. Next we present the design of some security concern refactoings. Then we explain a refactoring tool that has been and will be developed. Finally, we conclude a summary.

2. SECURE PROGRAMMING

There are many ways to help programmer for increasing the security level of their code. In C/C++ platform we could consider CryptoAPI as a reliable tool for protecting secret data. In Java we know the Java Authentication and Authorization Service (JAAS) for securely determine who has the authorization to execute a Java code. However, it will give more benefit to the developer if there are many alternatives for creating secure code and in this paper we propose an alternative way by using refactoring in Java platform.

Since the numbers of the flaws to software are unlimited, it will be difficult to determine the most important factor in secure programming. However from several references such as [3] and [4] we try to determine the factors which are important to be applied in a source code for increasing its security level. Although some of the aspects has been tackled by existing tools now, but we will explain briefly about them.

2.1. Buffer Overrun When the size of an array input is not verified, it is

possible to write outside the allocated buffer. If such an action takes place in memory addresses higher than the buffer, it is called a buffer overrun [5]. By entering a hostile input, the attacker will read an address of the input character in the memory if buffer overrun happens. Consequently, the validation of input string is an important factor in order to avoid buffer overrun. Actually, this flaw is not a big issue in Java since Java has input validation tool, called a bytecode verifier.

Page 101: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Security Concern Refactoring – Putu Ashintya Widhiartha & Katsuhisa Maruyama

ISSN 1858-1633 @2005 ICTS

95

2.2. Cryptography According to [4], strong cryptography is a critical

piece of information security that can be applied at many levels from data storage to network communication. People always think that cryptography is important to protect data from attacking. However, people usually are not realizing that the misapplication of cryptography commonly leads to the security problem.

The ability to protect and secure information is vital to the growth of internet especially electronic commerce. We can imagine a bank which is giving service to the customer via internet, absolutely the bank should provide a secure method for the customer for accessing their account. Thus, the bank will need a cryptography method which is able to protect data sending from and to its server.

Mostly Java programmers write code at a higher level, dealing mostly with the APIs, in other word they have no strong connection with the principles and algorithm behind cryptographic. Although Java provides two APIs, JCA (Java Cryptography Architecture) and JCE (Java Cryptography Extension), but still there are opportunities to improve the quality of code security by learn more about cryptography principles and implement it into our code.

2.3. Random Numbers Random numbers is often required in order to

provide a key in cryptography. Although random numbers seem as unimportant factor but it could guide to a problem in secure programming. Generating random numbers by using predictable manner will ease attackers to disturb our software. Thus we need to consider the secure method for generating random numbers.

2.4. Anti-Tampering Reverse engineering has been known as a threat to

the security of software. With anti-tampering mechanisms we will be able to increase the security level of our software by protecting secret data or algorithm and ensuring proper execution of our software. Although there are no easy answers for avoiding reverse engineering from our compiled code but we can still apply several anti-tampering techniques in order to create obstacles for people who wants to gain the protecting information in our software.

2.5. Error Handling Error handling is also simple matter which could

lead to the security problem if we do not pay more attention on it. The most common problem in error handling occurs when the internal error messages provide too detail information such as stack traces which should not be revealed to the user. This simple information could be used by an attacker to disturb our software.

Consequently, the solution of this flaw is by providing robust error handling which provide enough information to the user about the error without revealing any protected information.

2.6. Injection Flaws There are many programs which work by

accessing the other programs or operating system features. If we write a code that access to the operating system and the code does not have any protection, a malicious code could be implanted in our program and there will be possibility that the malicious code will be able to access the operating system also.

Certainly, the easiest way to solve this problem is by avoiding any access to the other programs or operating system. For many shell commands and some system calls, there are language specific libraries that perform the same functions which are needed by us. Using such libraries does not involve the operating system shell interpreter, and therefore avoids a large number of problems with shell commands [8]. However, if we have to access the operating system or the other program we should provide a secure operation and provide protected parameter into the operation call.

2.7. Security Features in Java Indeed, besides the above aspects there are still

many aspects for secure programming. However we will focus on some aspects which are applicable to be implemented in Java and also open opportunity to apply refactoring.

Java, which will be used as the platform of this paper, is known as a programming language with large numbers of security features [10]: a. Java has no pointer; it means that a Java code is

not able to directly access arbitrary memory locations in the address space.

b. As mentioned above, Java has bytecode verifier. This feature is very useful for avoiding buffer overflow attacks because this feature checks the length of the input before the execution. If the length is not proper, Java will reject the input.

c. Java has Fine-grained control over resource access for both applets and applications. For instance, an applet could be prohibited from writing or reading to disk space.

d. Java has a large number of library functions for cryptographic building blocks and SSL, and authentication and authorization.

Consequently, it is quite difficult to find opportunity for applying secure refactoring in Java, however we try to determine several applicable secure refactoring and expect that our efforts will be able to increase the security level of a Java code.

Page 102: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

96

3. DESIGN OF SECURITY CONCERN REFACTORINGS

We present several refactorings, which are considered applicable to be implemented in Java, in order to increase the security level of its source code.

3.1. Encapsulate Field One important requirement of secure code is data

hiding. In the other word we can say that we have to avoid for making our data public [1]. The easiest way, although perhaps not secure enough, is by creating our data become private. This type of refactoring is included in 72 types of refactorings in [1]. Figure 1 shows codes before and after applying Encapsulate Field refactoring. An accessibility setting of a variable something was changed from public to private so that the value of the variable can not be directly read and written.

Figure 1. Encapsulate Field refactoring

3.2. Restructuring Arrays In [4], Viega and Messier wrote that one way of

anti-tampering effort is by restructuring arrays. Since arrays can describe the information in their structure, it will help the attacker for understanding our code. Restructuring arrays in order to protect our data structure from tampering can be done by changing the structures of our arrays.

Indeed, arrays is a weak data structure if we compare with a collection in Java but still arrays are used by large number of Java programmers. Consequently, we would like to provide refactoring for restructuring arrays in Java as one feature to increase the security level of the code.

Referring to [4], we could restructure our arrays in four ways: a. Splitting a one-dimensional array into multiple

one-dimension arrays (see Figure 2). b. Folding a one-dimensional array into multi-

dimensional array (see Figure 3). c. Merging two one-dimensional arrays into a single

one-dimensional array (see Figure 4). d. Flattening a multi-dimensional array into a one-

dimensional array (see Figure 5).

Definitely, restructuring arrays should be done not only in the declaration of the arrays (such as double[ ] data = new double [20] ) but also in the accessing methods of the arrays.

Figure 2. Array Representation of Splitting Arrays refatoring

Figure 3. Array Representation of Folding Arrays refatoring

Figure 4. Array Representation of Merging Arrays refatoring

// before refactoring public String something; // after refactoring private String something; public String getSomething ( )

return something; public void setSomething(String argument) something = argument;

// before refactoring

A1 A2 A3 A4 A5 A6

// after refactoring

A1 A3 A5

A2 A4 A6

// before refactoring

A1 A2 A3 A4 A5 A6 A7 A8

// after refactoring

A1 A4 A7

A2 A5 A8

A3 A6

// before refactoring

A1 A2 A3 A4 A5 A6 A7

B1 B2 B3

// after refactoring

A1 A2 B1 A3 A4 B2 A5 A6 B3 A7

A1

A2

Page 103: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Security Concern Refactoring – Putu Ashintya Widhiartha & Katsuhisa Maruyama

ISSN 1858-1633 @2005 ICTS

97

Figure 5. Array Representation of Flattening Arrays refatoring.

3.3. Generating Secure Random Number As mentioned above, generating random number

seems become an unimportant aspect in security. However, if we could increase the security level of our code by altering a piece of our code without change the behavior of entire program, we should try to use more secure method or class in our code.

For Java programmers, it does not need big effort for changing random generator to a more secure one. Java provides java.util.Random class for generating random number. Despite of using this class it will be better if we use its subclasses java security.SecureRandom. This class provides a cryptographically strong pseudo-random number generator (PRNG). The Secure Random class must produce non-deterministic output and therefore it is required that the seed material should be unpredictable and the output of the SecureRandom class will be cryptographically strong sequences as described in RFC 1750: Randomness Recommendation for Security [9]. The mechanism of this refactoring could be observed in Figure 6.

Perhaps people will ask what are the weaknesses of SecureRandom class compared with Random class? The answer is the features of SecureRandom are less than Random class. This is a common dilemma for secure programming since the features of the software and the security level usually opposite each other [3].

Figure 6. Secure Random Number refactoring

3.4. Storing/ Deleting Passwords We know that in Java programming language

String variable are immutable, it means we are not able to delete them from memory. This unique characteristic of Java String data type leads us to avoid

using it for passwords because String passwords will stay in memory and vulnerable from snooping [10]. Even worse, if real memory runs low, the operating system might page this password String to the disk’s swap space. Therefore, it will be vulnerable to disk block snooping. The solution, although not a perfect solution, is by substituting the String passwords with Char arrays passwords.

Figure 7 shows codes before and after applying the Storing/Deleting Password Refactoring. The last line is needed in order to overwrite the value of PassKey variable in memory with fake value.

Figure 7. Storing/ Deleting Password Refactoring

3.5. Smart Serialization Java has ability to serialize object for storage or

transmission. Unfortunately, since any private field also will be present in the stream during this process, sensitive data is vulnerable to snooping when objects are serialized [10]. We could use transient keyword to flag an attribute so that it will be skipped in the streaming.

In Figure 8, the keyword transient was attached to the code after a Smart Serialization refcatoring.

Figure 8. Smart Serialization Refactoring

3.6. Message Digest Message Digest is a security feature that ensures

the integrity of a message. Message digest use a message as input and generate a block of bits that represents the fingerprint of the message. Each small change in the message automatically will create a change in the fingerprint. Although using java.security.MessageDigest class is definitely easy and secure, however for easing programmers maintain their code security we would like to propose the refactoring which helps programmers for create their message digest.

// before refactoring String PassKey = “enter”;

// after refactoring char KeyInChar[ ] =

‘e’,’n’,’t’,’e’,’r’; String PassKey = new

String(KeyInChar); ………… //after execution lines String PassKey = “fake passwords”;

// before refactoring A11 A12 A13

A21 A22 A23

A31 A32 A33

// after refactoring A11 A21 A31 A12 A22 A32 A13 A23 A33

// before refactoring private char KeyInChar[ ] =

‘e’,’n’,’t’,’e’,’r’; // after refactoring private transient char KeyInChar[ ] =

‘e’,’n’,’t’,’e’,’r’; // before refactoring import.java.util.random; Random generator = new Random ( ); int ran = generator.nextInt( );

// after refactoring import.java.security.SecureRandom; SecureRandom generator = new SecureRandom ( ); int ran = generator.nextInt( );

Page 104: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

98

In the code after a Message Digest refactoring of Figure 9, new code fragments for creating a message digest object and calculating the digest were inserted.

3.7. Convert Message with Private Key to Public Key

A message which is encrypted by using Private Key such as DES, AES, or Blowfish has a weakness.

The problem is: how to send the key to the receiver without a risk of information disclosure. Since Java also allows for using Public Key for encryption, it is more secure to use Public Key to increase the security level of our message.

Figure 9. Message Digest refactoring

Next are the principles of Public Key

implementation [10]. • When a sender wants to send a secure message to

the receiver, she needs to encrypt the message. Therefore she does the encryption by using receiver public key and sends. The receiver could use her private key to decrypt the message.

• The receiver also could do the same method to send message to the sender. It means the private keys of the receiver and sender are never sent.

• The third party could get the message and both public keys but she will not be able to decrypt the message.

It opens opportunity to apply a refactoring to a method or class which is using private key to encrypt a message. We could propose for using Public Key in order to increase the security level of the code.

Figure 10 and 11 show codes before and after applying a Convert Message refactoring.

// before refactoring // this code read the plain text input but we assume that the programmer // did not create any effort to protect the plain text. public static void main (String[ ] args) throws Exception // get plain text from input if (args.length !=1) System.err.println(“ Please provide the text parameter”); System.exit(1);

byte [ ] plaintext = args[0].getBytes(“UTF8”);

// after refactoring // MessageDigest function is added import java.security.*; import javax.crypto.*; public static void main (String[ ] args) throws Exception

// get plain text from input if (args.length !=1) System.err.println(“Please provide the text parameter”); System.exit(1);

byte [ ] plaintext = args[0].getBytes(“UTF8”);

// crete a message digest object by using the MD5 algorithm MessageDigest fingerprint = MessageDigest.getInstance(“MD5”);

// calculate the digest and print it out fingerprint.update (plaintext); System.out.println(“\Digest: “); System.out.println(new String (fingerprint.digest( ),”UTF8”));

Page 105: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Security Concern Refactoring – Putu Ashintya Widhiartha & Katsuhisa Maruyama

ISSN 1858-1633 @2005 ICTS

99

figure 10 Convert Message refactoring in Encrypting a message.

Figure 11 Convert Message refactoring in Decrypting a message.

// before refactoring //this is a class which is using DES private key for encryption of a message import java.security.*; import javax.crypto.*; public class EncryptExample public static void main(String[ ] args) throws Exception // get the plain text if (args.length !=1) System.err.println(“Please provide the text”);

System.exit(1); byte[] MessageText = args [0].getBytes(“UTF8”); // get a DES key KeyGenerator KeyGene = KeyGenerator.getInstance(“DES”); KeyGene.init(56); Key kagi = KeyGene.generateKey( ); Cipher cipher = Cipher.getInstance(“DES/ECB/PKCS5Padding”); // starting encryption cipher.init(Cipher.ENCRYPT_MODE, kagi); byte[ ] cipherText = cipher.doFinal(MessageText); System.out.println(new String(cipherText,”UTF8”));

// after refactoring // this is a class which is using RSA public key for encryption of a message import java.security.*; import javax.crypto.*; public class EncryptExample public static void main(String[ ] args) throws Exception // get the plain text if (args.length !=1) System.err.println(“Please provide the text”); System.exit(1); byte[] MessageText = args [0].getBytes(“UTF8”); // get a RSA key KeyPairGenerator KeyGene = KeyPairGenerator.getInstance(“RSA”); KeyGene.initialize(1024); KeyPair kagi = KeyGene.generateKeyPair( ); Cipher cipher = Cipher.getInstance(“RSA/ECB/PKCS1Padding”); // starting encryption cipher.init(Cipher.ENCRYPT_MODE, kagi.getPublic( )); byte[ ] cipherText = cipher.doFinal(MessageText); System.out.println(new String(cipherText,”UTF8”));

// applying refactoring into decryption lines // before refactoring cipher.init(Cipher.DECRYPT_MODE,kagi); byte[] newMessageText = cipher.dofinal(cipherText); System.out.println(new String(newMessageText, “UTF8”));

// after refactoring cipher.init(Cipher.DECRYPT_MODE,kagi.getPrivate()); byte[] newMessageText = cipher.dofinal(cipherText);

System.out.println(new String(newMessageText, “UTF8”));

Page 106: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

100

4. CURRENT STATUS We have already developed a refactoring browser

[11] for Java programs, which is available for free. It supports the application of 22 general refactorings including the Encapsulate Field refactoring mentioned in 3.1. We are currently developing algorithms of transformations of the proposed refactrorings except the Encapsulate Field refactoring and constructing a module that implements each of the algorithms. The modules will be integrated into the refactoring browser or a popular IDE (integrated development environment) such as Eclipse [12] as plug-in.

In the proposed refactoring browser, the task to check preconditions and change code is automated. However, almost all security concern refactorings require a refactoring browser to automatically detect “bad smell” concerning security, which might or will be a security hole. We are also developing a mechanism for such detection.

5. CONCLUSION

This paper describes new concept of software refactoring that increases security level of software in the coding phase. Further studies are needed in order to find any opportunity to design more refactorings for increasing security level of a design or a source code. However, since security is a main issue in computer science and refactoring also seems promising to become one important technique in software engineering, we believe that our research will open new point of view for applying refactoring in the design and implementation of secure software system.

REFERENCE [1] M. Fowler, Refactoring - Improving the Design

of Existing Code, USA, Addison-Wesley, 2000. [2] T. Mens and T. Tourwe, A Survey of Software

Refactoring. IEEE Transactions on Software Engineering (30)2, February 2004, 126-139.

[3] M. Howard and D. LeBlanc, Writing Secure Code – Practical Strategies and Techniques for Secure Application Coding in A Networked World. Redmond, Microsoft Press, 2003.

[4] J. Viega and M. Messier, Secure Programming Cookbook – for C and C++. Sebastoopol, CA, O’Reilly & Associates, Inc., 2003.

[5] B.Bray. Compiler Security Checks In Depth. The Code Project, 2002 http://www.codeproject.com/tips/seccheck.asp

[6] P. Kumar. J2EE Security, for Servlets, EJBs and Web Services. Prentice Hall PTR,2004 http://www.informit.com/articles/article.asp?p=170967

[7] Java Cryptography Extension (JCE) Reference Guide. Sun Microsystems, 2002 http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html#EncrDecr

[8] Top Ten Vulnerabilities Project, OWASP ( Open Web Application Security Project) http://www.owasp.org/documentation/topten.html

[9] JDK 1.1.3 Documentation. Sun Microsytems. http://java.tcnj.edu/api/java.security.SecureRandom.html#SecureRandom

[10] Java Security Part I:Cryptobasics, IBM DeveloperWorks, 2002 http://www-128.ibm.com/developerworks/edu/j-dw-javasec1-i.html

[11] K. Maruyama and S. Yamamoto, Design and Implementation of an Extensible and Modifiable Refactoring Tool, 13th IEEE International Workshop on Program Comprehension (IWPC05), pp.195-204, May. 2005

[12] Eclipse.org, Eclipse, http://www.eclipse.org/

Page 107: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

101

A PARALLEL ROAD TRAFFIC SIMULATOR CORE

Dwi Handoko, Wahju Sediono, Made Gunawan Center for Information and Electronics Technology Development, BPPT

Jl. M.H. Thamrin No. 8 Jakarta, 10340 Email: [email protected]

ABSTRACT Traffic jam is one of common problem of big cities

in Indonesia. One way to reduce the traffic problem is to obtain accurate traffic rules for each condition of traffic. Here, in order to obtain an optimal traffic rules a traffic simulator tool is useful. A microscopic road traffic simulator core for simulating road structure and rules design have been developed by our group. The model for vehicles movement is developed based on a behavioral model. Simulation is performed based on lane. The core has also the ability to analyze the vehicle flow rate of the lane. However, since almost traffic rule design requires a large area, a large computing power for simulation is required; therefore consideration of the simulator should be ale to perform in parallel in order to decrease the computing time. The program design and the strategy for parallel porting of the program will be described in this paper. Keywords: Traffic simulator program, parallel simulation 1. INTRODUCTION

One of common problem of big cities in Indonesia is traffic jam. This problem can be seen almost everyday in big cities. However, this problem not just finished in the traffic jam problem. This problem may also arose another problem such increasing energy consumption, since there are much energy loss in the road because of traffic jam. This problem may also lower the national productivity, since there are many time losses in the road and many of people get stress because of traffic jam.

An optimum traffic rules such as length of red traffic light time for specific road at specific time is useful to decrease the traffic jam. However it is not easy to evaluate many variations of traffic rules by try and error in the field. A traffic simulator is useful in order to get the optimum traffic rules, since many variations of traffic rules can be applied in the simulation and the result can be obtained in a short time. We have been developing traffic simulator tools for this purpose [1,2,3]. The developed simulator is a microscopic road traffic simulator, where it simulates every body (i.e. vehicle, traffic light) in the simulation. This approach will increase the accuracy of the simulation [4]. There are several microscopic traffic simulator prior of this work [4,5,6]. However,

the developed simulator is developed for the purpose of enabling the Indonesian traffic situation.

In order to obtain an accurate traffic rule, some cases need to be verified in a large area. However, simulation of a large area requires a lot of computing power. Therefore, in order to simulate this large traffic area, a parallel version of the simulator is required. This paper describes the design of parallel traffic simulator core. This parallel core is an extension of the previous work of serial traffic simulator core [2].

2. PROPOSED SIMULATION MODEL

We have developed a traffic simulator which the vehicle following simulation flow is as shown in the Fig. 1. The vehicle moves forward according to the distance to the front vehicle. The vehicle increase, maintain or decrease the speed according to the prediction time to stop. This model developed based on actual driver’s behavior, which always predicts the distance to the front and time to stop in order to decide whether to increase, maintain or decrease the vehicle speed.

Calculate distance

with amax

Get dist. To stop(x_stp)with vt

Calculate new dist amin

Set New PositionSet New Speed

If dist. < x_stp

Set New PositionSet New Speed

time ++

Fig. 1. Vehicle Simulation Flow

The developed road traffic simulator is simulated based on lane of the road. In this way, first, one lane is

Page 108: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

102

chosen and then behaviors of the lane members (vehicle etc) are simulated. This process is repeated for all of the lane. A lane is defined as a one-direction

graph. A road may consist of several lanes. Figure 2 shows a road that consists of two lanes.

In the developed simulator, the method of choosing a lane from the lane list is based on lane distance number. Here, each lane is defined to have a

distance number. A distance number means the distance of the lane from the source of vehicle. Source of vehicle is a vehicle-generator that is placed in the boundary area of simulation to generate vehicle to be simulated. Figure 3 shows an example of lanes with its distance numbers.

Veh.Source

Distance = 1

Distance = 2

Distance = 2

Distance = 2

Distance = 4

Distance = 3

Distance = 5

Fig. 3 Distance number of lanes.

The entire simulation is performed in the following steps:

1. Vehicle generation 2. Took a lane with distance number = DMAX

(maximum distance number) 3. Simulate every body related to the lane 4. Choose another lane with the same distance

number, go to step 3. 5. If all lane with same distance number has

been simulated, decrease the distance number, choose one lane and go to step 3

6. If all lanes have been simulated, increase the simulation time, go to step 2.

These steps are shown in Fig. 4.

3. PARALLELIZATION STRATEGY

Parallelization is not new in the area of traffic simulator. There are several works prior to this work [6]. However, the strategy of parallelization in this

Simulation

D=D-1

Search Lane

Is Distance =D ?

D = MAX Distance

Another Distance =D ?

Y

Y

Fig. 4 Serial Simulation Steps

Fig 2. Two lanes form one road.

Page 109: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Parallel Road Traffic Simulator Core – Dwi Handoko, Wahju Sediono, & Made Gunawan

ISSN 1858-1633 @2005 ICTS

103

work is based on the serial traffic simulator developed in this work.

As described previously, the simulation method in the developed traffic simulator is based on lane-by-lane simulation. This method made easy of porting of the simulator to parallel execution.

In this simulation strategy, the output of the lane with smaller distance number is the input of the lane with larger distance number. Therefore, lanes with larger distance number have to be simulated first before the lane with smaller distance number.

However lanes with the same distance number are not affected each other, since they don’t have a direct connection. Hence, lanes with same distance number can be simulated in parallel.

The simulation steps of parallel execution are as follow:

1. Vehicle generation

2. Took a lane with distance number = DMAX 3. Simulate every body related to the lane,

simulated parallel for all lanes with the same number.

4. If all lanes with same distance number has been simulated, decrease the distance number, go to step 3

5. If all lanes have been simulated, increase the simulation time, go to step 2.

These steps are shown in Fig.5. The parallel execution steps are in line with steps shown in Fig. 4 except that lanes with the same number are simulated parallel. This characteristic shows also an easy porting to parallel execution of the simulator program.

Figure 3 only shows one source for vehicle generation. In this case it is easy to determine the distance number of the lane. However in real problem, there exist several sources of vehicle generator. One lane may have a distance number of x from one source of vehicle, but it also has a distance number of y from another source of vehicle. There should a rule for lane number decision. The rule for lane number decision in a simulation model with several sources for vehicle generation is as follow:

1. Choose one vehicle source 2. Set distance number of lanes based on the

vehicle source 3. If the existing distance number of lane is

larger than the new one, then the existing distance number is used.

4. Choose another vehicle source 5. Go to step 2

Figure 6 shows one example of distance number calculation with two vehicle sources according to the prescribed steps.

4. EXPERIMENTS AND DISCUSSION Time components of one time of the proposed

parallel scheme execution are as follows:

1. Data distribution time 2. Parallel execution time 3. Data synchronization time

Veh.Source

Distance = 1

Distance = 2

Distance = 2

Distance = 2

Distance = 4

Distance = 3

Distance = 5Veh.

Source

Distance = 2

Fig. 6. Distance number of lanes with two vehicle sources.

D=D-1

Search Lane

Is Distance =D ?

D = MAX Distance

Simulation

Fig. 5 Parallel execution of steps

Page 110: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

104

Data distribution time is the time required to distribute data to each processor, while the data synchronization time is the time required to gather data and synchronized the data. Vehicle moving from one lane to another lane is done in this period. So its clear that exist additional time of simulation in parallel. Therefore, in such a heavy traffic condition that number of vehicles is much more than number of lanes, this parallel scheme will show its merit, since there much time can be saved in the parallel execution time compare to additional data distribution and data synchronization time.

However, there still exist place that should be optimized for parallel execution. If there are many of lanes, the lane searching process may require a considerable of process time. Therefore in order to more optimize the speed of parallel execution, lane search method should also be parallelized. Several parallel search algorithms exists as candidates such parallel tree search etc.

A computer program for the proposed serial algorithm has been developed. The core of the simulator has a text output. The graphical view is developed separately from the simulator core, and is used to verify the simulation. In the simulation result shown in Fig. 7, here, a proper traffic simulation based on the proposed algorithm can be verified.

5. CONCLUSION

A traffic simulator that able to be performed in parallel is described. It works based on lane-by-lane execution. The developed parallel simulator is useful to simulate such heavy traffic condition with vehicles distributed to all of the lanes.

The developed parallelization strategy is directly adapted from serial one, therefore it is easy to port the serial to parallel. A serial computer program based on the proposed algorithm has been developed and its proper performance can be verified.

We are currently developing the parallel computer program. In the near future we will also add function of calculating the lane throughput and other traffic analysis functions to the core.

REFERENCE [1] D. Handoko, “Desain Simulator Kendaraan”, Proc.

KOMMIT, B-16 – B20, 2002 [2] D. Handoko, “Pertimbangan Perilaku dalam

Pemodelan Pengikutan Kendaraan untuk Simulator Trafik Kendaraan”, Proc. Semiloka Teknologi Simulasi dan Komputasi serta Aplikasi 2003, pp. 43-46, 2003.

[3] W.Sediono, D. Handoko, "Pemodelan dan Simulasi Antrian Kendaraan di Gerbang Tol", Proc. Semiloka Teknologi Simulasi dan Komputasi serta Aplikasi 2004, pp. 11-14, Nov.,2004.

[4] Staffan Algers, Eric Bernauer, Marco Boero, et all, “Review of Micro-Simulation Models”, Smartest Project, 8 August 1997. http://www.its.leeds.ac.uk/projects/smartest/

[5] Agathoeles G et al, “Using Clusters for Traffic Simulation”, http://www.lpds.sztaki.hu/pgrade/pgrade_download/opatija_2003.pdf, June, 2005.

[6] Schaerf A., Shoham Y., Tennenholtz M., “Adaptive Loadbalancing: A study in Multi-Agent Learning”, Journal of Artificial Intelligence Research , May 1995

Page 111: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

105

C/I PERFORMANCE COMPARISON OF AN ADAPTIVE AND SWITCHED BEAM IN THE GSM SYSTEMS EMPLOYING SMART ANTENNA

Tito Yuwono1, Mahamod Ismail2, Zuraidah bt Zainuddin2 1Department of Electrical Engineering Universitas Islam Indonesia (UII)

Jogjakarta INDONESIA 2Department of Electrical, Electronics and System Engineering

Universiti Kebangsaan Malaysia, 43600 UKM Bangi Selangor, MALAYSIA Email:[email protected] ,[email protected], [email protected]

ABSTRACT The continuous increment of mobile

communication subscribers, require a higher capacity and spectrum efficiency of the cellular system especially in an urban area where the traffic density is high. In order to accommodate the increasing number of subscribers, smart antenna technology is used to improve system’s performance, which could increase the number of call and data transmission as well as simplifying the networking management. The basic principle of a smart antenna is to control and reduce the effect of interference to provide the user with the highest quality of uplink and downlink signal. This can be achieved by using narrow beams with signal processing capability at the base sites and to optimize its radiation pattern, which automatically updated according to MS movement or as signals conditions change. In this paper, two types of smart antenna were considered, which are the switched beam systems and adaptive antenna systems. The significant difference between these two systems is from the beamforming point of view. The key part of this study is to develop

a simulator for adaptive antenna systems (AAS) and switched beam systems (SBS) based on GSM 900 in order to determine the factors that could affect network’s quality and capacity. Simulation results of different techniques are compared and the performance evaluations of C/I are discussed. Results show that the AAS gives a better performance compared to SBS, with average improvement of C/I around 5 to 10 dB.’

Keywords : C/I, Smart Antenna, Adaptive, Swithched beam, GSM 1. INTRODUCTION

New technologies are being introduced into the market with the evolution of the mobile communication system. Cellular phone companies are always trying to give the best services to the customers through high quality coverage with more capacity.

Smart antenna has become another alternative in order to increase the capacity and efficiency of the

Fig.7 Graphical view of the simulation

Page 112: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

106

system. It offers various methods to improve the performance of the wireless system. In general, smart antenna has a potential to provide wider coverage area, increase the performance of the downlink and uplink while improving the system’s capacity.

In this paper, research has been done based on two types of smart antenna, which are switched beam system (SBS) and adaptive antenna system (AAS) that are used in base stations. The comparisons of these two systems were done according to a few aspects such as system’s quality performance and system’s capacity. The significant difference between these two systems is from the beam forming point of view in order to serve MS[1]. Figure 1(a) shows the radiation pattern of the switched beam system while Figure 1(b) shows the radiation pattern for adaptive antenna system. In Figure 1(b), the main lobe is always directed to the desired signal while at the same time it puts the null to the interference signal.

Figure 1 : Radiation pattern that might be chose or transmitted to serve target MS (red) and co-channel interference signal (blue) by

SBS and AAS.

2. CLASSIFICATION OF SMART ANTENNA

Smart antenna sometime also referred to as intelligent antenna, adaptive array or dynamic or adaptive sectoring and can be implemented using either switched beam or adaptive beam technique. Figure 1(a) and (b) shows a typical antenna pattern for a switched beam and an adaptive beam implementation of a smart antenna.

2.1. Switched Beam Switched beam or switched lobe antennas are

directional antennas deployed at base stations of a cell. They have only a basic switching function between separate directive antennas or predefined beams of an array. The setting that gives the best performance, usually in terms of received power, is chosen. The outputs of the various elements are sampled periodically to ascertain which has the best reception beam. Because of the higher directivity compared to a conventional antenna, some gain is achieved. Such an antenna is easier to implement in existing cell structures than the more sophisticated adaptive arrays, but it gives a limited improvement.

The switched-beam system is achieved by utilizing multiple narrow fixed beams (15 to 30 degree

horizontal beamwidth) in a single sector. Since the beam pattern in a sector is predetermined, the mobile station is not always in the main lobe or center of the beam. The beam can also be “on” or “off” depending on the spatial distribution of the mobile.

Switched-beam systems are more economical to implement, requiring only a static beamforming network, RF switch and control. A separate beam selection is continuously made for each subscriber unit as it moves through the cell's coverage area. Commercial deployments of switched-beam systems have demonstrated significant capacity improvements: over 100% capacity gain in analogue and GSM networks. For example, in Metawave Communications field trial, a GSM smart antenna system significantly reduced interference and achieved a 6 dB CIR improvement. In the same trial, the improvement in C/I led to a 50% reduction in dropped calls. Studies have also indicated that network capacity increases of 100% can be achieved with deployments at selected sites representing only 38% of the total number of base sites in a network[2].

2.2. Adaptive Beam The adaptive array system used a similar idea but

different approach in allocating the beams with respect to the user. It utilizes more complicated signal processing algorithms to allow the system to use a varying beam pattern in response to the movement of the user and the changing environment.

The main idea behind such a system is its ability to allocate the main lobe of the antenna array to the users and nulls to all the other interferers. This clearly optimized the performance of the wireless system. However, it added much complexity to the systems, as algorithms to continuously distinguished between the signals from the user, the interfering signals from other signals and multi-path signals are required. In addition, the angle of arrival for the signal must be determined so as to “point” the main lobe exactly at the desired signal.

Adaptive antenna are a set of antenna elements that can change their antenna radiation or reception pattern dynamically to adjust to variations in channel noise and interference, in order to improve the SINR of a desired signal. The name ‘smart’ refers to the signal processing power that is part and parcel of the adaptive antenna. It controls the antenna pattern by updating a set of antenna weights.

It is possible for adaptive systems to achieve greater system performance than switched-beam systems. Using array signal processing allows the antenna system to take advantage of path diversity by combining coherent multipath components. The adaptive pattern that is created can be optimised to enhance the desired user's signal while simultaneously suppressing interfering signals. However, the theoretical performance benefits achieved by an

Page 113: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

C/I Performance Comparison of an Adaptive and Switched Beam in the GSM Systems Employing Smart Antenna – Tito Yuwono, Mahamod Ismail, & Zuraidah bt Zainuddin

ISSN 1858-1633 @2005 ICTS

107

adaptive system may be offset by the cost and complexities encountered in implementation.

In addition, a number of technical issues complicate adaptive systems. Specifically, downlink beamforming is difficult due to the presence of multipath and frequency duplexing. Since the goal is to select the best single direction to transmit to the user, it is critical that the base station processor detect changes in power along the subscriber's path. However, as the subscriber moves quickly, this becomes more difficult because the received signal from the subscriber may change very rapidly. Signal degradation can occur if the downlink beamformer cannot track these changes. Further, the beams formed on the downlink are determined by uplink signal measurements. Because all cellular systems are frequency duplexed, errors in the downlink beamformer are introduced because of the different uplink and downlink signal characteristics.

2.3. Beamforming Technique For Adaptive

The beam formation at every base station is based on the mobiles’ DOAs. Figure 2(a) shows the actual parameters used in the algorithm. Given the jth base station and two mobiles, say the ith and the kth, the angles of arrival are denoted a αij and αkj respectively while the separation angle between the

mobiles is ik

jγ . By setting a minimum separation angle between adjacent mobiles, say γ, we are then in a position to narrow or widen antenna beamwidths after all directions of arrivals have been sorted.

2(a)

.............

Beam1 Beam2 Beam3 Beam4 Beam5

α 1j α αααα α α α α2j 3j 4j 5j 6j 7j 8j 9j ijDirection of arrival

2(b)

.............

Beam1 Beam2 Beam3 Beam4

α 1j α αααα α α α α2j 3j 4j 5j 6j 7j 8j 9j ijDirection of arrival

α newj

2(c)

Figure 2: (a) Actual beam formation algorithm parameters, (b) Examples of beam formation and (c) Beam reformation to

accommodate a new call

Figure 2(b) shows an example of beam formation where

(α2j-α1j) < γ and (α3j-α2j) < γ, (α4j-α3j) > γ and (α5j-α4j) < γ, (α6j-α5j) > γ, (α7j-α6j) > γ and (α8j-α7j) > γ

Henceforth, beam number 1 and 2 respectively will cater for a group of three and two mobiles, while beams numbers 3, 4 and 5 will cater each for a single mobile. The beams sizes are given by (αij-αpj + γ) where i and p represent the first and the last mobiles in the same beam respectively. If a new call arrived and served by the same BSj such that,

(α2j-α1j) < γ and (α3j-α2j) < γ, (α4j-α3j) > γ and (α5j-α4j) < γ, (α6j-α5j) > γ, (αnewj - α6j) < γ, (α7j-α6j) >

γ and (α8j-α7j) > γ

then the new formation of beams are as shown in Figure 2(c). It can be seen that the number of beam is reduced from five to four and there are only two beams serving lone mobile instead of four.

Figure 3 shows flow diagram for the execution of the simulation process

3. RESULTS AND DISCUSSION

Based on the results of the simulations, the adaptive antenna and switched beam system’s performance were analyzed. The value of C/I depicts the signal quality in the cell, whereas the higher the C/I value, the quality of the signal received by MS is better. In the simulation, the evaluation of the system’s performance was done by using C/I as the measuring standard. Factors that are studied are:

1. Minimum 3-dB beamwidth antenna factor, β.

From Figure 4, the mean value of C/I for the switched beam system is much higher than the mean value of C/I for adaptive antenna system. This phenomenon occurs because the beams that are formed in the adaptive antenna system consist of various sizes, depending on the minimum separating angle between adjacent MS. For a beam with small β, the C/I achieved is high and for greater β, the value of C/I achieved is low. Thus, the mean value of C/I for

Page 114: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

108

switched beam system is much lower. In the switched beam system, MS receives the same signal strength because the entire beam has the same β size.

Figure 3: Flow diagram for the execution of the simulation process

Mean value of C/I versus minimum 3-dB beamwidtβ,

40

45

50

55

60

65

70

0 6 12 18 24 30

Minimum 3-dB beamwidth, β [degree]

Mea

n va

lue

of C

/I [d

B]

AAS

SBS

Figure 4: Mean value of C/I versus minimum 3-dB beamwidth, β

2. Co-channel interference that affects the MS in the serving BS.

In figure 5, it is shown that when the interference increases, the value of C/I will decrease, but the quality of the signal received is still in good condition. This is due to the fact that a good quality cell for the GSM system has a mean value of C/I that exceeds the C/I threshold value, which is 12dB[3].

Mean value of C/I versus no of co-channel interference

40

45

50

55

60

65

70

1 2 3 4 5 6

No of co-channel interference

Mea

n va

lue

of C

/I [d

B]

AAS

SBS

Figure 5: Mean value of C/I versus number of co-channel

interference

3. Distance between MS and serving BS. When MS is located further from the Serving BS,

the strength of the signal received would decrease. As MS moves away from serving BS, it will come closer to the interferer BS, this will increase the interference thus degraded the mean value of C/I that can be achieved. Figure 6 depicts that performance of serving BS with adaptive antenna system always has a better performance than the switched beam system in term of efficiency of receiving the signal versus distance factor.

Determine models and parameters for the simulation

Generate BS and cells; determine the coordinate for each BS

Generate MS randomly

Calculate path loss

Calculate signal strength of serving BS, interference & C/I value that received by MS

Data acquisition and conclusion is made based on the results of simulation.

Determine angle of arrival (AOA) of each MS from serving & co-channel BS.

Calculate distance between MS & serving BS & co-channel BS

Form beams based on the angle of arrival (AOA) attained.

Calculate gain for each MS

Page 115: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

C/I Performance Comparison of an Adaptive and Switched Beam in the GSM Systems Employing Smart Antenna – Tito Yuwono, Mahamod Ismail, & Zuraidah bt Zainuddin

ISSN 1858-1633 @2005 ICTS

109

Mean value of C/I versus distance between MS and BS 1

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8 9Distance between MS and serving BS [km]

Mea

n va

lue

of C

/I [d

B]

Adaptiv e antennasy stem (AAS)Switched beamsy stem (SBS)

Figure 6: Mean value of C/I versus distance between MS and

serving BS.

4. Number of MS in a cell. Based on the graphs attained in Figure 7, it can be

concluded that if there is a small number of MS in a cell, performance of adaptive antenna system is better compared to switched beam system. The performance degrades as the number of MS to be served increase.

Degradation of performance is due to the separating angle between adjacent MS. As the number of MS increase, the separating angle between adjacent MS will decrease and become smaller than the minimum separating angle that had been chosen. Hence, more MS will be served in the same beam and the size of 3-dB beamwidth will be wider. Therefore, radiated power from the serving BS cannot be focused to desired MS and the value of C/I will decrease.

0

0,2

0,4

0,6

0,8

1

1,2

0 15 30 45 60 75 90 105

120

C/I [dB]

Pro

b (C

/I <=

abc

issa

)

AAS(MS=10)

SBS(MS=10)

(a)

0

0,2

0,4

0,6

0,8

1

1,2

0 15 30 45 60 75 90 105

120

C/I [dB]

Pro

b (C

/I <=

abc

issa

)

AAS(MS=20)

SBS(MS=20)

(b)

0

0,2

0,4

0,6

0,8

1

1,2

0 15 30 45 60 75 90 105

120

135

C/I [dB]

Pro

b (C

/I <=

abc

issa

)AAS(MS=30)

SBS(MS=30)

(c)

0

0,2

0,4

0,6

0,8

1

1,2

0 20 40 60 80 100

120

140

C/I [dB]

Pro

b (C

/I <=

abc

issa

)

AAS(MS=40)

SBS(MS=40)

(d)

Figure 7: Distribution of C/I values for adaptive antenna system and switched beam system for (a) No. of MS=10, (b) No. of MS=20, (c)

No. of MS=30 and (d) No. of MS=40.

Page 116: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

110

4. CONCLUSION As a conclusion, the objectives of this study were

accomplished and results attained from the simulation are the same as theoretically predicted. Generally, the conclusion that can be made from the simulation is that the BS with adaptive antenna system has a better performance compared to switched beam system. However, performance of adaptive antenna decreases as the number of MS in a cell increase. Although performance of switched beam system also decreases, but because of the constant size of beamwidth and lack of influence from environmental parameters, the degradation of performance seems not apparent until at one point, where performance of switched beam system is better than adaptive antenna system. From the point of view of the efficiency of receiving the signal, adaptive antenna system has a better

performance compared to switched beam system in term of the mean value of C/I versus distance factor and number of co-channel interference.

REFERENCES [1] Mahamod Ismail, Doumi, T.L. & Gardiner, J.G

1999. Performance Enhancement of Cellular Topologies Employing Dynamic Cell Sectoring and Base Station Antenna Beam Steering using TDMA. Jurnal Kejuruteraan 11(1), 1999: 21-34.

[2] Henrik Dam et.al., Performance Evaluation of Adaptive Antenna Base Stations in Commercial GSM Network. VTC, 1999.

[3] Yacoub, M.D. 1999. Cell Design Principles. Boca Raton: CRC Press.

Page 117: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

111

IDENTIFICATION OF SOLVENT VAPORS USING NEURAL NETWORK COUPLED SIO2 RESONATOR ARRAY

Muhammad Rivai1,2, Ami Suwandi JS1 , and Mauridhi Hery Purnomo2 1Faculty of Science-Postgraduate Program, Airlangga University, Surabaya, Indonesia

2Electrical Engineering Department, Institut Teknologi Sepuluh Nopember, Kampus ITS, Keputih, Sukolilo, Surabaya, Indonesia 60111

e-mails: [email protected], [email protected]

ABSTRACT To identify and classify vapors, an array of vapor-

sensing elements has been constructed with each element containing the same crystalline SiO2 resonator but different polymer as sorption material. The differing gas-solid partitioning coefficients for the polymers of the sensor array produce a pattern of frequency changes that can be used to classify vapors by back propagation neural network pattern recognition. This type of sensor has been shown to resolve common organic solvents, including molecules of different classes (such as aromatic from alcohols) as well as those within a particular class (e.g. benzene from toluene and methanol from ethanol).

Keywords: solvent vapor, SiO2 resonator, neural network. 1. INTRODUCTION

Solvents are volatile organic compounds (VOC) that often exist as vapors or liquids at room temperature. The main sources of exposure to solvent vapors are consumer products (e.g. room air deodorants, cosmetics), building materials (e.g. paints, adhesives), smoking, chemical plants, petroleum refineries, and automobiles. Short-term health effects (e.g. headache and eye irritation) appear to occur in buildings, particularly new or renovated ones. Long-term health effects may include cancer or human carcinogen (e.g. benzene). It is therefore essential to develop an evaluation method for identification of solvent vapors.

Conventional approach to chemical sensors has traditionally made use of a ‘lock and key’ design, wherein specific receptor is synthesized in order to bind strongly and highly selectively to the analyte of interest. With the approach, selectivity is achieved through precise chemical design of receptor site and requires the synthesis of a separate, highly selective sensor for each analyte to be detected. An alternative approach to chemical sensing is closer conceptually to a design widely proposed for the mammalian sense of olfaction. In such approach, the ‘lock and key’ criterion is abandoned. Instead, an array of different sensors is used to respond to a number of different chemical vapors. Although in this design, identification of an analyte cannot be accomplished

from the response of a single sensor element, a distinct pattern of responses produced over the collection of sensors in the array could provide a fingerprint that would allow classification and identification of the analytes.

Many investigators have tried the vapor identification utilizing various kinds of sensors including metal oxide semiconductor [1], polymer [2], and quartz resonator [3-7] with satisfactory results. Authors developed an artificial olfactory using a polymer coated crystalline SiO2 resonator array and neural network pattern recognition. The results of identification of solvent vapors are reported here.

2. EXPERIMENTAL

The apparatus in Fig 1 consisted of sensor array coupled with neural network algorithm. Three element sensors were AT-cut crystalline SiO2 with fundamental resonance frequency of about 10 MHz. The resonance frequency decreases when vapor molecules are adsorbed onto the sensor surface, and the frequency recovers after desorption. The frequency change (∆F) is given by

A

∆MxFx62.3x10∆F −= (1)

where F is the fundamental resonant frequency (MHz), ∆M total mass of adsorbed vapor molecules (g) and A the electrode area (cm2). Three sensors were coated by stationary phases of gas chromatography, i.e. OV-101, OV-17 and PEG-1540 to increase the adsorption of solvent vapors, due to their geometry shape and molecular polarities represented by Mc Reynolds constants.

Page 118: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

112

NORM(∆F)

N2

Temperature controlled water bath

Flowmeter Valve

acetone benzene

Output layer

Hidden layer

Input layer

Exhaust

Sensor array

Injection hole Oscillators

methanol

Figure 1. Experimental apparatus.

The sensors were mounted inside a 0.6 L chamber and connected to 5V-CMOS oscillator circuits. To maximize isolation among the sensors, each oscillator was separately battery powered. The oscillator frequencies were measured by 32-bit counter circuits and transferred through 89S51 microcontroller to Personal Computer via RS232. Before sample injection, chamber was flowed by 99.999% N2 at 1 Lmin-1 until the frequencies became stable. Seven common organic solvents (i.e. benzene, toluene, chloroform, diethyl ether, ethanol, methanol, and acetone) were tested to the apparatus. The sensor

signals were normalized by ∑=

3

1jji X/X , where Xi is

the signal of the i-sensor. The normalized values were fed to the neural network pattern recognition. The three-layer neural network can be taught to recognize vapors automatically using the back propagation algorithm. The number of input nodes was three correspond to the number of sensors, and the number of output neurons was seven equal to that of the sort of solvent. The number of hidden neurons was nine to accelerate and improve the convergence in training phase. Both training rate and moment constant were empirically determined to be 0.01 to produce the lowest value of mean squared error for the single hidden layer network [8].

3. RESULT AND DISCUSSION A few micro liters of a sample solution was

injected to the chamber maintained at the temperature of 32 °C. Vapors are adsorbed in polymer giving rise to decrease in frequency. Each sensor gave different frequency change (i.e. differential value between before and after injection of sample) varied in the audio spectrum depending on the coating materials and the sorts of vapor. Fig. 2 shows time response of the frequency change of each sensor element exposed to methanol vapor. As the frequencies become stable, the resonator coated by Ov-101, OV-17 and PEG-1540 gave the frequency changes of -33.5±5.2, -26.6±1.4, and -101.7±1.3 hertz, respectively, (or 0.207, 0.164, 0.628 in normalized values). While N2 was flowed to the chamber, the frequency of each resonator returned to that of before the sample injection. This phenomenon describes that the polymer plays role as a perfect adsorption-desorption mechanism.

Figure 2. Frequency changes of the sensor array exposed to

methanol vapor. Liquid sample was injected at 10ths and N2 was injected at 1000ths.

The experiment was performed six times each sample and Fig. 3 shows the average of normalized frequency changes of three kinds of polymer coated crystalline SiO2 resonator tested by seven sorts of solvent vapor. The histogram clearly displays that the array gave a unique pattern for each vapor.

Page 119: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Identification of Solvent Vapors Using Neural Network Coupled SIO2, Resonator Array – Muhammad Rivai, Ami Suwandi, & Mauridhi Hery Purnomo

ISSN 1858-1633 @2005 ICTS

113

0 0.2 0.4 0.6 0.8

Normalized Frequency Change

OV-101 OV-17 PEG-1540

acetone

methanol

ethanol

diethyl ether

chloroform

toluene

benzene

Figure 3. Normalized frequency change of 3 sensor elements

exposed to 7 vapors.

In training phase, 42 data patterns were transferred to the input layer of neural network. The results shown in Fig. 4 were obtained after the network was trained by 106 epochs (with a mean squared error of 1.57 %). The activation values of neurons in output layer are shown in Fig. 4.

In running phase, other 21 data patterns were tested to the trained neural network and the activations of neuron in output layer are shown in Fig. 5. The histogram clearly shows not only that, the neural network can readily distinguish non-polar from polar solvents (e.g. benzene or toluene from methanol or acetone) but also illustrates that such network can readily distinguish members of a related class of materials (e.g. methanol from ethanol or benzene from toluene). It should be noted that that the apparatus was not designed a priori to have specific responses to any particular vapor or class of vapors, yet the array could nevertheless separate a board range of chemical species having relatively subtle differences in their chemical/physical properties.

0 0.2 0.4 0.6 0.8 1 1.2

Neuron Activations of the Output Layer

benzene toluene chloroform diethyl etherethanol methanol acetone

acetone

methanol

ethanol

diethyl ether

chloroform

toluene

benzene

Figure 4. Neuron activations of output layer after training phase.

0 0.2 0.4 0.6 0.8 1 1.2

Neuron Activations of the Output Layer

benzene toluene chloroform diethyl etherethanol methanol acetone

acetone

methanol

ethanol

diethyl ether

chloroform

toluene

benzene

Figure 5. Neuron activations of output layer after running phase

Page 120: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

114

4. CONCLUSION A vapor sensor system has been developed using

polymer coated crystalline SiO2 resonator array coupled by back propagation neural network pattern recognition. As a sorption material, polymer has broadly response to vapors and perfect sorption-desorption mechanism. Due to the different polymer, sensor array gave a unique frequency change pattern to each vapor. After training phase, neuron network can resolve some common organic solvents, including molecules of different classes as well as those within a particular class (e.g. benzene from toluene and methanol from ethanol). This type of apparatus is inexpensive, easily fabricated, and modified as well as customized for specific chemical and environmental monitoring tasks makes it potentially attractive for such applications.

REFERENCES [1]. Takeaway T., Suzuki K., Takada T., Kobayashi

T., and M. Egashira, Odor identification using a SnO2-based sensor array, Sensors and Actuators B 80, 2001, pp.51-58.

[2]. Freud M.S. and Lewis N.C, A chemically diverse conducting polymer-based “Electronic Nose”, Proc. Natl. Acad. Sci. USA, Vol.92, 1995, pp.2652-2656.

[3]. M. Rivai, Mauridhi H.P., and Ami Suwandi J.S., Improving the discrimination of fragrant smells using differential bulk acoustic wave sensor and neural network, Third Saudi Technical Conference and Exhibition (STCEX), 2004, Riyadh, Saudi .

[4]. Kaneda H., Beer Adsorption on a lipid membrane as related to sensor evaluation, J.Am.Soc.Brew. Chem, 2001, pp.167-171

[5]. Shiratori S.S., Kohno K., and Yamda M., High performance smell sensor using spatially controlled LB films with polymer backbone, Sensors and Actuator, B 64, 2000, pp.70-75.

[6]. Benyamin K.P. and M. Rivai, Discrimination of fragrance odor by arrayed quartz resonator and neural network, Proc. of International Conference on Computational, Intelligence and Multimedia Applications, Gippsland, Vic., Australia, 1998, pp.264-269.

[7]. Ema K., Yokoyama M., Nakamoto T., and Moriizumi T., Odor-sensing system using a quartz-resonator sensor array and Neural Network Pattern Recognition, Sensors and Actuators, 18, 1989, pp.291-296.

[8]. Usha H, J Leis, and Nigel H. Quantitative Odor Modeling Using Electronic Nose Information. Faculty of Engineering & Surveying, University of Southern Queensland.

Page 121: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

115

COMFORTABLE DIALOG FOR OBJECT DETECTION

Rahmadi Kurnia Department of Electrical Engineering, Andalas University

Kampus Baru Limau Manis, Padang West Sumatra e-mail : [email protected]

ABSTRACT

There are many methods that can be used to evaluate human robot dialog for object recognition. The appropriateness of those methods depends on basic knowledge of the robot, robot sensor and the real condition of the target object. In this paper we focus to determine and generate what are the content and the kind of question users need to effectively, efficiently and continently interact with a robot that has not any priori knowledge of the target object in real condition. We make a general rule system of visual perception for interactions guidance. The system commonly will ask the user by using yes/no question if it finds some ambiguous objects and restore it it for its dynamic databases. The robot will think and ask like human mind about missing information. Keywords: Image segmentation, object features , feature characteristic. 1. INTRODUCTION

Human-robot interaction currently takes many forms. This interaction can be done by verbal and non verbal behavior [1, 13]. For verbal behavior, there are some issues such as unknown words, dialog generation and robot knowledge to be settled. Some attempts are made for dealing with new words. Danmati[2] and Nagata[3] estimated a class ( a part of speech or text) of new word in a speech and text. Takizawa [4] made maximum probability of new words that was formulated as finding registered words.

Human can order robot to do some thing such as take an apple from the table, put a book in the bookshelf, etc. Commonly, the robot has a priori knowledge about the name of the object and its features. Takahashi [1] generated a dialogue by extracting all of situation and process it as a working memory. He arranged the robot system to find some objects which were recognized before by the robot. Even though the robot can execute this task, the robot has to confirm to the user when it found some objects that have same features in the real condition. For example, the robot knows that the color of apple is red and its shape is circle. In the real world, there are many red and circle objects and there are several green apples and yellow apples. Therefore, the robot

has to ensure about this condition by confirming to the user to find the target object.

This paper explains how and what question should be asked to the user to get a most comfortable method for interaction between human and robot..

Human-robot interact each other by combining between speech and vision for mutual assistance [14]. Other interaction between human and robot can be done though integrating visual auditory information with the idea of integration of visual and audio sense by relaxation method and intend to construct audio visual conversation system that consist of combination conversation and gesture [5]. The main purpose of this paper is to formulate an effective, efficient and convenient dialog in human-computer interaction. We minimize speech recognition process by asking multiple choice question for simplify dialog process and convenient interaction’s purpose. User answers the question of robot by choosing “yes or no” for almost all of the conditions. We generate several rules to make most effective, effective and convenient dialog. This method has three advantages. First, the robot can avoid mistakes to interpret all things of the answer from the human. Second, the system provides some convenient dialogs to the user by describing the current situation. Third, the robot can learn various things by its previous work experiences. It records all important information of previous tasks into its dynamic knowledgebase for executing the task in next duty. It is in line with earlier research devoted to robot learning by showing [10] and robot imitation learning [11, 12].

The objects are recognized by their features. McGuire [9] determines some feature for multimodal human-machine communication by using Bayesian network. In this paper, the robot chooses a suitable feature to be asked according to general rule system. The robot reduce the number of objects through interaction speech based on specifying objects attribute for making a simple way to find a target object. This paper concerns to determine the content and the type of the question for an effective, efficient and convenient interaction. The objects features are divides into four characteristic to make a general rule in any cases for an easy and efficient purpose. We formulate a minimum speech interaction to the user to make the system simply and easily

Page 122: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

116

2. SYSTEM CONFIGURATION Figure 1 shows the configuration of the system

to implement user’s comamnd. An input scene is segmented and labeled by using image processing process to find the features of objects. From image segmentation and labeling result, the robot gets a features of object. It will use it to confirm tho the user when it finds some ambiguos condition. The system generate an effective and efficient dialog by processing this result according to general rule and dynamic database that obtained from specific characteristic of each features and some stored previous outputs.

Figure 1. Configuration System

2.1. Color segmentation We use robust approach of features space

method for color image segmentation [6]. This method reduces the number of color in the image and divide image to several region. For getting a best result, we merge some nearest color region by using hue method in Hue Saturation and Intensity (HIS) color space. [7]. The HSI system separates color information of an image from its intensity information. Color information is represented by hue and saturation values, while intensity describes the brightness of an image, is determined by the amount of the light. Hue represents basic colors, and is determined by the dominant

(a)

(b)

(c)

Figure 2. Color segmentation result .(a) Original Image. (b). Segmentation results (c) HIS result after segmentation process

wavelength in the spectral distribution of light wavelengths. The formulas for hue, saturation and intensity are :

( ) ( )( )( ) ( )( ) ⎟

⎜⎜

−−+−

−+−=

BGBRGR

BRGRH2

5.0arccos

(1)

⎟⎠⎞

⎜⎝⎛ ++

=3

BGRInt

(2) ( )

BGRBGRSat

++−=

,,min31

(3)

Some threshold of hue value is determined or to remove background and merging of nearest color for achieving small number region. In this paper we fix some threshold of hue value that estimated from 00 to 3600. For example, blue is 2400, yellow is 600, green

Feature characteristics

Ask and remove method

Dynamic Knowledge base

Input

Output

Color segmentation

Labeling and shape detection

General rule

Image processing part Dialog part

Page 123: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Comfortable Dialog for Object Detection – Rahmadi Kurnia

ISSN 1858-1633 @2005 ICTS

117

is 1200, red is 00 magenta is 3000 etc. The result of these processes is shown by Figure 2.

2.2.Labeling and shape detection Some values are put to the image to label the

similar color in one region for detecting the number of object(s). The shape of object is detected by determine its size, area, surrounding by using curve ratio equation. [8].

( )24perimeter

areaS π=

We get some curve ratio is specific for each standard shape objects from experiments. For example, the curve ratio of circle is 0.8, square is around 0.79, rectangular is 0.7, triangle and other irregular shape are less than 0.58

3. FEATURE CHARACTERISTICS AND

GENERAL RULE Object feature is a most important thing for

pattern recognition. Object feature can be used to recognize in single or cluster object. In this paper, four features (size, color, position and shape) are used to analyze, describe and search the target object. All of the features are sorted related on their special characteristic in any condition. By groping this feature into some general characteristic and manipulated them like human thinking, the general rule can be obtained for any condition of objects for making efficient and effective question to the user. Four general characteristic which cover these feature are: Vocabulary representative, objects distribution, uniqueness, objectivity / subjectivity.

1. Vocabulary representative

The feature of object has some vocabularies to be described to the user. The system has several exact words to describe all condition of objects. Color, size and position are included in this characteristic. Color has some vocabularies like red, yellow, blue, green, cyan, magenta, brown, white, black etc. The expressions of position are left, right, up side and under side. Big and small are the exact words for size feature. Even though the size only has two terminologies but both of them are representative words. The feature of shape is excluded of this characteristic because some of its shape is irregular and indefinable.

2. Object Distribution Although we consider features of each object independently, we may find it difficult to express some features by word depending on the spatial distribution of objects. We call a feature with this problem a distribution-dependent feature. Position is a distribution-dependent feature. If several objects exist close together, it is difficult

to specify the position of each object. Color, size, and shape are not such features.

3. Uniqueness There is one peculiar feature belonged to each object. This feature should be unique and differed for object. The feature of position is covered by this characteristic. In the real condition there is only one specific location of each object in the scene. Their position can be described by side direction or specified by detail using x-y coordinate.

4. Objectivity/subjectivity Objectivity: The feature of object is independent

of other objects. Shape and color are included in this characteristic.

Subjectivity: In real condition, we will incapable to assure the

feature of one object if they have not seen the other object(s) in advance. We are in doubt to state one objects is big or small, in the left or right side before we know the location and size of other(s).

In this paper we sort the size base like human thinking. From any experiments result we get conclusion that human can clearly and surely distinguish the size of two objects if the minimum of difference of the biggest object and the smallest one is equal as a doubled smallest object. .

The grouping of size can be explained as : for Max size ≥ 4 * Min size if size ≥ Max size - Min size Word size = “big” else if size ≤ 2 * Min size Word size = “small” else Word size = unpredictable where Max size = maximum size Min size = minimum size Objects position can be recognized by dividing

them into two opposite group’s side especially for multiple objects. Sorting multiple objects location is based on the distance of furthest object in each group. In this paper, the barrier of groups should conform to equation (4) for recognizable.

dside ≥ 2 * dmax

(4)

where dside = distance of two furthest

objects sides in each group.. dmax = maximum of distance in one group. The relation of features and their characteristic is

shown in table 1. In this paper, when several candidate target

objects are detected, the robot will ask the user to find the real target object. Robot reduces unnecessary

Page 124: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

118

objects based on user’s answer to simplify the scene. The system analyzes question which can remove the largest number of unnecessary objects to determine their priority. The highest priority’s question will be asked to the user in any cases for obtaining most efficient and convenient dialog. We call this method as Ask and Remove (AaR) method.

Table 1. Feature and its characteristics Characteristic Color Size Position Shape Vocabulary representation

√ √ √

Object distribution

√ √ √

Uniqueness √ Objectivity √ √

In AaR method, the number of total objects is divided into two categories:

First, for the number of total objects is less than four objects. The system will choose only subjectivity characteristic to determine a question by using. This characteristic consists of size and position which are very effective to describe some objects in limited number. The detail of each objects feature can be formulated easily by comparing one object volume, objects area and object location to other(s).

Second, for the number of total objects is more than three objects. The system spelled out this condition to three intervals of similarity object characteristic number for formulating any cases. In this paper, we obtain the partition value of each interval from experimental results. The entire of interval are:

a. Interval A: the number of objects that has similar characteristic is less than 30% of the total objects number.

b. Interval B: the number of objects that has similar characteristic is more than 30% but less than 70% of the total objects number.

c. Interval C: the number of objects that has similar characteristic is more than 70%of the total objects number.

All of the classification of these intervals is shown by figure 3.

Figure 3. Interval condition of target objects

Table 2 shows all of cases that might be possible in real condition.

From the table we get some cases: Case 1:

The number of objects which has similar vocabulary’s characteristic is less than 30% of the total objects. In this case we ignore other characteristics and their interval location because in interval A, vocabulary’s characteristic has several exact expression word to define more than others. Therefore, “what question” is a best choice to make a dialog with the user. The system asks the user a question which contains these expression words then will remove unnecessary objects based on user’s answer. In reality, even though in this characteristic consist of position color and size but in this case the most priority is color. Position and size has a couple depended expressions’ word to define their feature. This condition means : the number of objects which has similar size and position can be less than 30% of the total objects but simultaneously, the number of objects which has similar opposite size and position will be more than 70%of the total objects. In case 1, position and size always located in two intervals. Therefore, both of them are confusable for becoming a content of a question.

Color’s feature is possible to be located in two interval (e.g. interval A and interval B) simultaneously, but all of its words expression independent each other

Table 2. All of condition of target objects

The number of objects that has similar characteristic:

Interval A Interval B Interval C

Event

vocabulary

Case 1

vocabulary

objectivity

Case 2

objectivity

vocabulary

Case 3

vocabulary

objectivity

Case 4

objectivity

Case 5

characteristic

vocabulary

objectivity

Case 6

Case 2:

In this second case, the number of objects which has similar objectivity’s characteristic or vocabulary’s characteristic is between 30% and 70%of the total objects and more than 70%of total objects. This condition can be solved by determining a suitable feature, which is included in both of characteristics. We formulate that feature by using equation (1) and simulate it by Venn diagram as shown in figure 4.

CoQ2 = V ∩ O (5)

the number of total objects

30% 70%

Interval A

Interval B

Interval C

the number of similar characteristic objects

Page 125: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Comfortable Dialog for Object Detection – Rahmadi Kurnia

ISSN 1858-1633 @2005 ICTS

119

= color where,

CoQ2 = content of question for case 2 V = vocabulary O = objectivity

From that equation we find the best feature is found by intersect both of the characteristics. In this case we get a color as a best feature to be asked to the user.

Figure 4. Venn Diagram of vocabulary and shape intersection

Case 3:

The number of objects which has similar objectivity’s characteristic is between 30% and 70% of the total objects and more than 70% of total objects have similar vocabulary’s characteristic. In this case, vocabulary’s characteristic is not effective to be asked to the user because there is too many similar objects’ feature to used “ask and remove” method. Therefore, the priority for asking the user at the first time is objectivity characteristic. The content of feature of this characteristic which is asked can be formulated as:

CoQ3 = O – V (6) = shape

where,

CoQ3 = content of question for case 3

Figure 5. Venn Diagram of Objectivity - Vocabulary

This result can be described by Venn diagram as shown in figure 5.

Case 4:

This case is an opposite of case 3. In this case, the number of objects that has similar vocabulary’s characteristic is between 30% and 70% of the total objects and more than 70% of total objects have similar objectivity’s characteristic.

It means that there are so many objects have similar feature for vocabulary’s characteristic which lead to an inefficient and ineffective first question to be asked to the user. Therefore the objectivity’s characteristic is more priority than other characteristics. The formulation of the features of this case is shown by equation (4).

The exactly feature this characteristic which is asked can be formulated as:

CoQ4 = V – O (7) = size and position

where,

CoQ4 = content of question for case 4

This equation obtains that size and position are two candidate features which can be chosen for containing the question as shown in figure 6. Both of them has a couple opposite word The estimation for choosing one of them based on whose feature can remove unnecessary object(s) after the robot get an answer from the user. The system will determine the number of objects in each word feature. Most of the number of unnecessary object can be removed if the number of objects in both of their word borders on balance.

Figure 6.Venn Diagram of Vocabulary - Objectivity

Case 5:

The number of objects which has similar objectivity’s characteristic is less than 30% of the total objects. The system will get some varieties of the object features by analyzing them independently. Each object features will be performing as a single object to recognize their feature. Therefore, position and size feature is unconcerned with the system.

In this case, one of two probabilities condition could be happened: First, there are several similar color objects and similar shape objects in the scene. In this case, the color will be chosen by the system because it has complete and definite word objects expression more than shape. Second, there are several similar shape including in interval A and several similar color objects belong to other interval. In this case shape will be a highest priority because it has the most varieties to be asked to the user.

color

objectivity

position

size shape

size

position

color shape

objectivity

vocabulary

vocabulary

objectivity

colorsize

position

shape

vocabulary

Page 126: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

120

Figure 7. Venn Diagram of Objectivity Case 6:

In this case the number of objects which has similar objectivity’s characteristic or vocabulary’s characteristic is more than 70% of the total objects .For this specific condition, the system will specify the detail feature of each objects to get their uniqueness and their distribution. . The system manages a first question based on both of these characteristic.

Table 3 shows all of general rule system of robot question in any cases.

Table 3. General rule system

Question Condition Content The Type

The total objects < 3

Subjectivity “yes/no” question

Case 1 Vocabulary “what” question

Case 2 Vocabulary “yes/no” question

Case 3 Objectivity “yes/no” question

Case 4 vocabulary “yes/no” question

Case 5 Objectivity “what” question

Case 6 uniqueness or object distribution

“yes/no” question

A. Dynamic Knowledgebase The system records the results and their process to

a dynamic database. This database contains some features of the objects. In this research, system can exactly record the result only for objective characteristic because subjective characteristic is not stable and relative. Position feature is usually changed for every case and size is dependent to other objects.

The knowledgebase of robot will be increased if it does a new task. This dynamic knowledgebase also become perfect if there are various feature in one objects. If the human command to the robot to bring an apple, the robot will know that the color of the apple is usually red and its shape is circle. This knowledge is never changed until the robot has a new task to bring green or yellow apple.

Having this dynamic knowledge, the robot will be helpful for human assistance in the future.

3. EXPERIMENTAL RESULT For example, we have four objects which have 2

similar color and shape. The user points to one direction where some objects are located. He wants a red apple which located among the objects is brought by the robot. This example refers to case 2 at table (2). The system makes some questions to confirm to the user.

Robot : Is the target object red? User : Yes Robot : Is the target object in the up side? User : No. Robot : This one is the target object. What should I do then? There are some steps to find the target objects:

1. The system merges some nearest color region for removing background and than labels the objects. In this process, the number of candidate target objects(s), their size and shape are determined but not appeared. After all of objects recognized by the system, it asks the user based on general rule. In this case, the system asks a yes/no question that contain about color to the user.

2. The system removes unnecessary objects based on user answer and than determines the current condition of target objects.

3. The system formulates a next question in current condition by acting on general rule system. There are only two objects (less than 3) in the current scene. Therefore, the system makes a question based on subjectivity characteristic feature that has been explained before.

4. The system asks the second question and remove unnecessary object to get a real target objects. Figure 8 shows a visualization of this case.

(a)

(b)

vocabulary

objectivity

color size

position

shape

Page 127: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Comfortable Dialog for Object Detection – Rahmadi Kurnia

ISSN 1858-1633 @2005 ICTS

121

(c)

(d)

Figure 8. Human robot interaction in case 2. (a) Segmentation result. (b) Merging nearest color region result (c) AaR method

result (d).Final result

5. CONCLUSION Robots need vision to carry out their tasks.

However, conventional vision systems cannot work in complex scenes. We have proposed to use human user's assistance to solve this problem. The robot asks a question to the user when it cannot detect the target object. It generates a sequence of utterances that can lead to determine the object efficiently and user-friendly.

It determines what and how to ask the user by considering the image processing results and the characteristics of object (image) attributes. We obtain promising experimental results.

The current system is a small system to examine whether or not the approach is promising. Since this has been confirmed, we will develop a larger system that can deal with more complex situations.

REFERENCES [1] Takuya Takahashi, Satoru Nakanishi, Yoshinori

Kuno and Yoshiaki Shirai,”Human Robot Intervace by Verbal and Nonverbal Behaviors” in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.924-929, 1998

[2] G. Damnati, F. Panaget, Adding NewWords in a Spoken DialogueSystem Vocavulary Using

Conceptual Information and Derived Class-based LM, in Proceeding of Workshop on Automatic Speech Recognition and Understanding, 1999

[3] M. Nagata, A Part of Speech Estimation Method for Japanese Unknown Word Using a Statistical Model of Morphology and Context , in Proc. 37th Annual Meeting of the Association for Computational Linguistic, 1999, pp. 277-278

[4] Masao Takizawa, Yasushi Makihara, Nobutaka Shimada, Jun Miura and Yoshiaki Shirai, A Service Robot with Interactive Vision- Objects Recognition Using Dialog with User, In Proc. of Int. WS on Language Understanding and Agents for Real World Interaction, 2003, pp.16-23

[5] Tomohiro Kawaji, Kei Okada, Masayuki Inaba, Hirochika Inoue, Human Robot Interaction through Intergrating Visual Auditory Information with Relaxation Method, in Proceeding of IEEE International Conference on Multisensor Fusion on Integration for Inteligent Systems Tokyo, 2003 , pp 323 - 328.

[6] Comaniciu, D. and P. Meer,” Mean Shift : A Robust Approach Toward Feature Space Analysis”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, Vol. 24, p. 603 – 619.

[7] H.D. Cheng, X.H. Jiang, Y Sun, Jingli Wang,” Color Image Segmentation : advances and prospects,” Pattern Recognition Journal 34 (2001), pp. 2259 – 2251.

[8] R. C. Gonzales, R. E. Woods, Digital Image Processing, Addison-Wesley, Reading, Massachusetts,1992

[9] P. McGuire, J.Fritsch, J.J. Steil, F. Roothling, G.A. Fink, S. Wachsmuth, G. Sagerer, H. Ritter,” Multi-Modal Human Machine Communication for Instructiong Robot Grasping Tasks”, Proceeding of International Conference on Intelligent Robots and Systems (2002), pp. 1082-1089.

[10] Y. Kuniyoshi, M Inaba and H Inouue, Learning by Watching : Extracting Reusable Task Knowledge from Visual Observation of Human Performance, in IEEE Trans. Robotic Automation, 1994, 10(6) : 779-882,

[11] P. Bakker and Y. Kuniyoshi, Robot see, Robot Do : An Overview of Robot Imitation, In Proc. AISB Workshop Learining in Robots and Animals, 1996 pp 3 -11, .

[12] C. Breazal and B. Scassellati, Challenges in Building Robots that Imatate People, In K Dautenhahn and C. Nehaniv, editors, Imitation in Animals and Artifacts. MIT Press.

[13] Jonker, C. M., Treur, J. , and, Wijngaards, W. C. A., “An Executable Model of the Interaction between Verbal and Non-Verbal Communication”. In: Dignum, F., Chaib-draa,

Page 128: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

122

B., and, Weigand, H. (eds), Proceedings of the Agent Communication Languages Workshop 1999, ACL'99. Published in: Dignum, F., and Greaves, M., (eds.), Issues in Agent Communication. Lecture Notes in AI, v ol. 1916, Springer Verlag, 2000, pp. 331-350.

[14] M. Yoshizaki, Y. Kuno, and A. Nakamura, " Mutual Assistance between Speech and Vision for Human-Robot Interface," Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, CD-ROM, 2002.

Page 129: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

123

A SOCIAL INFORMATICS OVERVIEW OF E-GOVERNMENT IMPLEMENTATION: ITS SOCIAL ECONOMICS AND

RESTRUCTURING IMPACT

Irwan Sembiring, Krismiyati Faculty of Information Technology Satya Wacana Christian University.

email : [email protected], [email protected]

ABSTRACT Social informatics is a new field of study

concerning the design, implementation, and the use of ICT that take into account its interaction in contextual and cultural context. This kind of study usually uses three approaches which can be combined in its application. They are normative orientation, analytical orientation and critical orientation. This study will investigate the social economics and restructuring impacts of E-Government implementation in Selayar Regency South Sulawesi. The result of the study shows that globally the advantages got from the implementation is still very little compared to the investment spent on this project. Keywords : social informatics, E-government in selayar regency. 1. INTRODUCTION

Social informatics is a new field in Information Technology world. It is an important field as most of the implementation of ICT cannot be separated from social impact it has brought to the society. It also supports the idea that ICT does not exist in technological or social isolation. Besides, social informatics will assess the implementation of ICT from social economics point of view as well as the productivity as the consequence of this implementation.

This study will see the impact of ICT implementation especially the one applied in E-Government. E-government itself is a system in information technology which can produce a good management and network for the government. Coping with this challenge, the regional goverment of Selayar regency has tried hard to create a new dimension of management and work processes inter units which cover several services. They are stated as follows: a. Developing a flexible work process and system to

facilitate various kinds of complex interaction inter units, society, business world and the central government.

b. Developing a modern management system with networking organization to flatten the hierarchy of decision making and widen the span of control in an organization.

c. Reducing the gap in making interactions with private sector.

d. Using the advance of technology to improve the ability in managing and distributing the information for public services.

The problem investigated in this study is the

impact of E-Government viewed from social economics aspect and the productivity increase.

The objective of this study is making justification of E-Government impact as an implementation of ICT in social economics aspects as well as its productivity increase. 2. REVIEW OF LITERATURE

Social informatics refers to the interdiciplinary study of the design, uses, and consequences of ICT that takes into account their interaction in organizational and cultural context.

Social informatics research comprises of three aproaches which is possible to combine any of them in a particular study. 1. Normative orientation refers to research whose its

aim to recommend alternatives to professional in designing, implementing, using or policy making about ICT.

2. Analytical orientation refers to studies of ICT sevelopment in institutional and cultural context using empirical studies which contribute to such theorizing.

3. Critical Orientation is an approach which examine ICT from perspectives that do not automatical and uncritically accept the belief and goals set for an ICT implemetnation.

Expected or not, the implementation of ICT of

course bring some impacts toward the society either its social or organizational/ institutional sides. The followings are some of those impact resulted from the ICT implementation. 1. A communicative and computational computer

system. A mathematical modeling displayed in a communicative way can bring a social impact to the users. For example is the using of MRP System (Material Requirement Planning ). It is an ICT system which put its orientation on a very

Page 130: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

124

systematic transaction. In addition, it will also give various information and the details of activities in a particular department. This system has a social impacts which can be clearly seen from the behavior change from the system users.

2. A temporary need and the consequences of ICT. Recently, there have been many popular terminologies in ICT. One of them is computer networks eliminate space and time. The following is an example of the term that often violates for some people, the term of: e-journal or digital library. In the beginning, e-journal/ digital library is thought as an effective way to save time and space as someone can easily access the journal anytime, anywhere of course using the needed infrastructure. After some years implemented, e-journal/digital library, where people can get the journal with all kinds of information they want, is exploited by those who only act as if they are retrieving any journal. In fact they only use this media for them to gather with their partner in their cyber world.

3. ICT is an interpreter which is used differently for different users. Let’s look at the following example. The using of WWW for faculty of science. This media is very useful as discussion room, a place where students can retrieve any material they need, and also for doing a research. On the other hand, the using WWW for non- science department it will become a hindrance. They will not be attracted in using it as a help for them. They respond like this because if they use WWW, then they need to learn something new again. At least they have to face with a new thing so-called as HTML. To learn this, they do need a lot of time. ICT restricts the social relationship. The using of ICT in humans’ life make the face-to-face relation decreases. One simple example can be seen from the reducing of the frequency of face to face cmmunication between the stake holders and all those personal in charge of the company. Evenmore it will restrict the direct action because they tend to use the communication method through media.

Tabel 2.1 The comparison of Stasdndard Task-Technology Models and Socio-Technical Models.

E-Government can be defined as the use of

Information Technology (like wide area network) internet and mobile communication by government which has the ability to transform its governmental relationship to its citizens, business people and other governmental institution. This technology can have

various purposes, like giving a better governmental service to the society, increasing the

interactions in business and industrial world, and improve the human resources quality through accessing the information or a more efficient government management. The expected result of the implementation can be in form of decreased number

Page 131: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Social Informatics Overview of e-Government Implementation: Its Social Economics and Restructuring Impact – Irwan Sembiring & Krismiyati

ISSN 1858-1633 @2005 ICTS

125

of corruption cases, the improvement of transparency and openness in society, a better convenience for the society, even an increased income and cost reduction (World Bank, 2002).

RESULT

The achievement stage of the implementation of E-Government System in regional Government of

Selayar is pictured in the following diagram. (Figure 1)

Figure 1 The activity network of Selayar Government.

From the analysis, which is limited to 19

governmental services only, it can be discussed as follows.

3.1. Social Economics Impact. There are two kinds of cost component involved in

that project investment, i.e. fixed cost and variable cost. Besides that, there is another factor that should be taken into account in calculating the CBA that is benefit. IE states that there are three kinds of benefits[parker 88]. They are explained as follows:

1. Tangible benefit refers to the benefit that has a direct effect to the profit of the company.

2. Quasi-tangible benefit is the benefit that focuses on the improvement of company efficiency.

3. Itagible benefit refers to the benefit that focuses on the improvemnet of company effectivity.

Those benefits if quantified in the form of cost then it will be: 1. Cost Reduction

The cost reduction occurs as a result of the implementation of IT project. One example is the reduction of employees’ salary as a result of automation.

2. Cost avoidance It points to the cost resulted if the the project is cancelled or delayed to perform.

The social economics impact analyzed before and after the implementation of E-Government can be clearly seen in the following table.

Page 132: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

126

Tabel 3.1 The Justification of social economics impact of E-Goverment Implementation in Selayar Regency.

Page 133: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Social Informatics Overview of e-Government Implementation: Its Social Economics and Restructuring Impact – Irwan Sembiring & Krismiyati

ISSN 1858-1633 @2005 ICTS

127

Page 134: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

128

From the 19 governmental services of E-

Government stated above, it can be seen that the total economics benefit is Rp195.622.800

3.2. Restructuring Impact Value restructuring is a technique used to measure

the value of productivity increase as a result of restructuring a job or a function of a particular

department as the impact of Information Technology implementation.

Tabel 3.1 The justification of economic impact of E-Government implementation in Selayar Regency,South Sulawesi.

After it is applied, it is assumed that this system will increase the productivity about 75% for 9 govermental services. With this increase, it can reduce the cost for around Rp 1.978.131.

Value acceleration impact from the integrated service unit for a year

Page 135: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Social Informatics Overview of e-Government Implementation: Its Social Economics and Restructuring Impact – Irwan Sembiring & Krismiyati

ISSN 1858-1633 @2005 ICTS

129

Value restructuring impact from integrated service for 5 years.

4. CONCLUSION

Seeing the above soecial economics and restructuring impact, the implementation of E-government has little benefit compared to the investment done for the system. ACKNOWLEDGEMENT

Million of thanks to the regent of Selayar Regency and all of the govermental staffs for giving all the facility needed for the success of this research.

REFERENCE [1] Bank Dunia, 2002, e-Government: A definition

of e-government, http://www.worldbank.org/publicsector/egov/

definition.htm [2] Pemda Selayar, 2003, Kabupaten Maritim

Selayar Menuju Era e-government. [3] Parker, R.,1988, Information Economics,

Prentice-Hall. [4] Rob Kling,1999, What is Social Informatics and

Why Does it Matter? www.dlib.org/dlib/january99/kling/01kling.html - 96k

[5] Rob Kling, 2000, Information and Communication Technologies in HumanContexts, www.slis.indiana.edu/CS

Page 136: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

130

AGENT BASED PROGRAMMING FOR COMPUTER NETWORK MONITORING

Adang Suhendra Gunadarma University, Jakarta

email : [email protected]

ABSTRACT The agents programming uses mobility framework

as Mobile Agents (MA) which have been proposed as a solution for distributed computing. In Network Management (NM), MA can also be used to monitor the performance of Network Elements (NE) which affects directly the performance of network it self. Most MA-based infrastructures exhibit scalability limitations when data intensive monitoring applications are considered. We implement the agent based programming to monitor our computer network facilities which consists of many network element and distributed in several places and connected to hundreds client computers. MAs are generated by agent generator which bring the Java classes and run in destination node to acquire atomic SNMP table views and support selective retrieval of SNMP table objects that meet specific selection criteria. The agent can remove from a node to another node periodically according to polling interval and bring the required information to the manager and sent the information via the GPRS connection to the mobile phone. The network later can be managed by using such delivered information acts as early notification to administrator when the network has problem. This mobile agent concept can reduce the bandwidth consumption (as in normal SNMP table polling) while it broadcasts all unneeded information to the manager.

Keywords : Distributed network management, Mobile agents, Information aggregation, SNMP table filtering. 1. INTRODUCTION

There is a trend toward increasingly heterogeneous networks in today's communications environment. Monitoring these diverse networks requires the collection of large quantities of data from the network; data that must then be analyzed before management activity can be initiated. Simultaneously, there is an expectation of increasing reliability and quality of service by users of today's networks. These challenges are the main forces driving research on software agents.

The centralized network monitoring is mostly used by collecting a lot of network data (some of them are not used) from the network elements to the network manager. This centralized NM paradigm characterized by a low degree of flexibility and re-configurability.

Management interactions are based on a centralized, client/server model, where a central station (manager) collects, aggregates and processes data retrieved from physically distributed servers (agents). Widely deployed NM standards, such as the Simple Network Management Protocol (SNMP) [1] of the TCP/IP protocol suite or the Common Management Information Protocol (CMIP) [2] of the OSI world, are designed according to this rigid centralized model. Within these protocols, physical resources are represented by managed objects. Collections of managed objects are grouped into tree-structured Management Information Bases (MIB2) following the Abstract Syntax Notation 1 (ASN.1) format.

The centralized approach in NM is known to present severe efficiency and scalability limitations: the process of data collection and analysis typically involves massive transfers of management data causing considerable strain on network throughput and processing bottlenecks at the manager host. All these problems suggest distribution of management intelligence as a rational approach to overcome the limitations of centralized NM. The Internet Engineering Task Force (IETF) has proposed an approach, known as RMON.

A mobile agent is a software agent that can move between locations. This definition implies that a mobile agent is also characterized by the basic agent model. In addition to the basic model, any software agent defines a life-cycle model, a computational model, a security model, and a communication model [3]. A mobile agent is additionally characterized by a navigation model.Mobile agents can be implemented using one of two fundamental technologies: mobile code [4,5] or remote objects [6]. Examples of the former approach include AgentTCL [7, 8] and Telescript [9], and the latter, Aglets [10].

To make use of mobile agents, a system has to incorporate a mobility framework. The framework has to provide facilities that support all of the agent models, including the navigation model. For the lifecycle model, the services are utilized to create, destroy, start, suspend, stop, etc., agents. The computational model refers to the computational capabilities of an agent, which include data manipulation and thread control primitives. The security model describes the ways in which agents can access network resources, as well as the ways of accessing the internals of the agents from the network. The communication model defines the communication

Page 137: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Agent Based Programming for Computer Network Monitoring – Adang Suhendra

ISSN 1858-1633 @2005 ICTS

131

between agents and between an agent and other entities (e.g., the network).

The advantages brought about by using MAs in NM, in comparison with the static delegation agents proposed by Mobile Delegation (MbD) [11], are summarised in the following: (i) Ease in modifying existing monitoring functions.

This is because the functions are developed/modified centrally, with the modifications taking instant effect. In case that static agents are used, each of them has to be updated by an ‘update’ message broadcasted from the manager to the managed devices.

(ii) Efficient use of computing resources on the managed entities.

(iii) MAs can provide all the functionality offered by static delegation agents, having the additional benefit of mobility. In that sense, MAs can be regarded as a ‘superset’ of MbD agents and thus, whenever a static agent is sufficient for performing a management function, an MA can be sent to managed device and remain there until no longer needed.

(iv) The mobility of MA components intrinsically implies a domain or global level view of the managed network as MAs visit several or even all the network hosts.

(v) The impact on network bandwidth caused by MA migrations is not necessarily high. This issue is discussed later in this section.

2. DETECTION OF SINGLE TREE

FELLING WITH SOFT CLASSIFICATION TECHNIQUES

The MA-based NM framework has been entirely developed in Java [12] chosen mainly due to its inherent portability, rich class hierarchy and dynamic class loading capability. The MA framework consists of four major components [13], illustrated in Figure 1:

1. The Manager application; 2. The Mobile Agent Server (MAS); 3. The Mobile Agent Generator (MAG); 4. The Mobile Agents.

Figure 1: MA Framework Infrastructure

2.1. Manager Application The manager application, equipped with a browser

style User Interface (UI), coordinates monitoring and control policies relating to the NEs. Active agent processes are discovered by the manager, which maintains and dynamically updates a ‘discovered list’.

Figure 2. Mobile Agents Manager Application

The MAS also provides requested management

information to active MAs and protects the host system against external attack. The MAS composes four primary components (Figure 2): • Mobile Agent Listener, • Security Component, • Service Facility Component, • Migration Facility Component, while two supplementary threads exist outside the boundary of the MAS: (i) Network Discovery Daemon, (ii) Class Loader Daemon.

2.2. Mobile Agent Generator (MAG) The MAG is essentially a tool for automatic MA

code generation allowing the construction of customized MAs in response to service requirements. Generated MA code is stored into an MA code repository (Figure 1). Such MAs may dynamically extend the infrastructure’s functionality, post MAS initialization, to accomplish management tasks tailored to the needs of a changing network environment.

The MAG’s operation is described in detail in [13]. However, its functionality has been extended so as to allow the operator (through a dedicated UI) to specify: • Whether the constructed MA will be used for

GnG (Go and Go) or GnS (Go and Stay) polling; • The polling frequency (i.e. the polling interval’s

duration); • The transmission protocol to be used for the MA

transfers (either TCP or UDP); • Whether MAs authentication and data encryption

are applied or not.

2.3. Mobile Agents (MAs) MAs are set as Java objects with a unique ID,

capable of migrating between hosts where they execute as separate threads and perform their specific management tasks. MAs are supplied with an itinerary table, a data folder where collected management

Page 138: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

132

information is stored and several methods to control interaction with polled devices.

3. MA APPLICATION

3.1. Health Functions Evaluation Polling is a frequent operation in NM as there are

often several object values that require constant monitoring. Cases often occur however, where one or two MIB variables are not a representative indicator of system state and hence an aggregation of multiple variables is required, known as a health function (HF) [14]. For instance, five MIB-II [15] objects are combined to define the percentage E(t) of IP output datagrams discarded over the total number of datagrams sent during a specific time interval,

where MIB-II is an example of a MIB being supported by all the SNMP-enabled NEs. In the SNMP model, the least ‘expensive’ option would be to group the five Object Identifiers (OIDs) in a single get request packet. The response packet would then include the OIDs along with the requested values, with the OIDs typically occupying more space than the actual values. On the other hand, the MAs constructed by the MAG tool are able to compute HFs, thereby providing a way to semantically compress large amounts of data into single indices representing portions of the system status. Thus, a single value is returned to the manager station, relieving it from processing NM data, while the MAs state size remains as small as possible. MAs can also be instructed to transmit computed values only in the case that certain thresholds are crossed. When the collected values are intended for off-line analysis, GnS polling mode may be employed and multiple samples be wrapped into the MA’s state before delivered to the manager application, reducing the associated network overhead to a great extend.

3.2. SNMP Table Polling Some of the major drawbacks with SNMP are

related to the bulk transfer of data, e.g. the transfer of large SNMP tables. The widely deployed SNMPv1 was not designed for transferring large amounts of data. In addition, the total amount of management information that needs to be transferred has been increased greatly, e.g. IP routing tables and TCP connection tables are continuously growing.

New polling operations, used to acquire specific SNMP table views may be added/modified in runtime, specifying the SNMP table and the hosts to be polled, the polling interval, the polling mode (either GnG or GnS), the transport protocol to be used, etc. The several classes from AdventNet SNMPv1 package [16] are used for MIB browsing capability, abstracting MIB nodes, issuing SNMP requests, etc. The higher-level operations, built on the top of AdventNet package classes (e.g. get-table) and invoked by

incoming MAs, have been integrated into the Service Facilitator Component of MAS modules.

3.3. SNMP Table Filtering In most existing network monitoring applications,

the retrieved bulk data are usually utilized to feed a processing module responsible for extracting results in a more high-level and ‘understandable’ form. These results may be used later on to aid on capturing utilization or error rate peaks, indicate failed devices, foresee possible congestion points, propose future network upgrades, etc. In fact, only a small portion of the obtained values is proved useful as, in by far the majority of cases, bandwidth is consumed to learn nothing other than that the network is operating within acceptable parametrical boundary conditions. This is because the processing action, i.e. the filtering of management data takes place on the manager and not on the NE side.

Therefore, we propose a third application of MAs on network monitoring exploiting their ability to download management logic in order to perform intelligent filtering of NM data on selected SNMP tables. Specifically, this type of MA is able to acquire an SNMP table and subsequently apply a pre-determined filtering pattern to it.

The filtering operators offered in the current implementation are classified in Arithmetic (Max, Min, Bigger, Less) and Textual (Match, Exclude) with their corresponding method definitions and parameters. These operators typically take as input the acquired SNMP table and filter it keeping only the rows for which a given element (defined by its column index) meets certain criteria, e.g. is greater than a threshold value or matches a given text string.

When arithmetic operators are considered, the user may set limitations on the maximum number of rows that may be returned from individual hosts, the maximum overall number of rows, whether the results will be sorted in ascending or descending order, etc. It is also noted that the filtering operation may be either based on: (i) a given table column, e.g. for the MIB-II interfaces table (ifTable) [15], “get the two rows (interfaces) with the maximum number of incoming octets (max ifInOctets)”, or (ii) on a pre-defined HF, e.g. “return the two more heavily loaded interfaces”

For instance, the invocation of the Bigger method with the following parameters:

String[ ][ ] bigger = Bigger (Utilisation (getTable (“ifTable”)), HFcolumn, 0.6, 2, 10, false);

returns the two more heavily loaded interfaces, in descending order, given that their utilization is greater than 60%. A maximum of ten interfaces will be returned to the manager coming from any of the polled NEs. The Utilisation method, included in the MA’s code, takes as a parameter the interfaces table and calculates the utilisation HF for each one of its rows:

Page 139: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Agent Based Programming for Computer Network Monitoring – Adang Suhendra

ISSN 1858-1633 @2005 ICTS

133

The HF values are appended to the interface table,

which is then sorted into HF values order. The resultant table is scanned and the rows (two, at maximum) with HF values greater than 0.6 are returned, in descending order. For the case where only specific table columns are desired (e.g. only the number of octets sent out of the most heavily loaded interfaces), the rest of the columns will be removed.

An example employing the AND operator would be: “return the interfaces with utilisation 0.6<U(t)<0.8”. The output array bigger of the Bigger method invocation (mentioned in a previous example) would then be passed as a parameter to the Less operator to apply a second level of filtering: String[ ][ ] result = Less (bigger, HFcolumn, 0.8, 2, 10, false); In contrast, when the OR operator is considered,

the two output tables (arrays) resulting from the individual expressions are simply concatenated. For example, to view the TCP connections with either ‘listen’ or ‘established’ state (see the definition of the MIB-II tcpConnTable [15]), the following expression needs to be applied: String [ ][ ] result = concat (Match (getTable (“tcpConnTable”), tcpConnState, “listen”), Match (getTable (“tcpConnTable”), tcpConnState,“established”));

4. IMPLEMENTATION

Figure 3. The Managed Network Model

Mobile agent programming is utilized to monitor our network facilities in five campuses with different location (connected via MPLS and Wireless) as in

Figure 3. Agents are generated from network manager to the five routers of managed network. Each agent collects and filters network data as defined by the filter function and parameters. In each managed network, agent uses the cloned agents to collect data from its sub-ordinary node network. After the required data is completely collected, agent will move to another location and doing the same procedure (Get and Go mechanism). Agent will return back to manager after all nodes are visited. This process will be repeated within certain interval polling. Communication between nodes uses Aglets which implements the agent transfer protocol (atp). Agent runs Java class on each node to get the node’s SNMP table. All information will be polled in manager and delivered to mobile phone via GPRS connection to inform the administrator about the health condition of the network.

Mobile phone is used to inform the network administrator remotely for early warning if some problems occur in the network by displaying the bandwidth utilization. Manager can also send a warning to the mobile phone if the network has problem and administrator can be informed sooner and problem will be solved earlier.

Figure 4. Network Utilization Viewer in Mobile Phone

5. CONCLUSION The mobile agent network monitoring applications,

which have been built on the top of lightweight MAF address the scalability limitations of centralized NM that become significantly more pronounced when transfers of bulk network monitoring data are considered. In particular, MAs have been utilized to: (i) aggregate several MIB values into more meaningful network health indicators, (ii) acquire SNMP tables snapshots, and (iii) filter SNMP tables contents applying complex filtering expressions. Both real-time and offline NM data acquisition is considered.

The MAs ability is realizing multi-node itineraries to introduce the concept of domain/global filtering, where MAs use the knowledge/information already collected to perform a superjacent level of data filtering. The results confirm a significant improvement on traffic overhead when testing the proposed applications in realistic management

Page 140: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

134

scenarios and comparing them against traditional centralized polling.

The future work addresses: • Assignment of higher priorities to MA threads to

ensure faster execution of time critical management functions.

• Exploration of other NM areas where MA technology can be employed, such as network performance testing or software distribution.

REFERENCES [1] Case J., Fedor M., Schoffstall M., Davin J., “A

Simple Network Management Protocol (SNMP)”, RFC 1157, 1990.

[2] ISO/IEC 9596, Information Technology, Open Systems Interconnection, Common Management Information Protocol (CMIP) – Part 1: Specification, Geneva, Switzerland, 1991.

[3] Green, S. et al., Software Agents: A review, Technical Report, Department of Computer Science, Trinity College, Dublin, Ireland.

[4] Mobile Code Bibliography, www.cnri.reston.va.us/home/koe/bib/mobile-abs.bib.html.

[5] Baldi, M., Gai, S. and Picco, G. P., Exploiting Code Mobility in Decentralized and Flexible Network Management, First Int'l Workshop on Mobile Agents Mobile Agents '97, Berlin, Germany, April 7-8,1997.

[6] Vinoski, S., CORBA overview: CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments, IEEE Commun. Mag., vol. 14, no. 2, February 1997.

[7] Gray., R. S., Agent Tcl: A transportable agent system. In Proc. of the CIKM Workshop on Intelligent Information Agents, Baltimore, MD, Dec. 1995.

[8] Kotay, K. and Kotz, D., Transportable Agents. In Yannis Labrou and Tim Finin, editors, Proc. of the CIKM Workshop on Intelligent Information Agents, Third Int'l Conf. on Information and Knowledge Management (CIKM '94), Gaithersburg, Maryland, Dec. 1994.

[9] White, J. E., Telescript Technology, The Foundation of the Electronic Marketplace, General Magic http://www.comsoc.org/livepubs/surveys/public/4q98issue/bies.html (11 of 14) [18/02/2005 19:58:51] Mobile Agents for Network Management White Paper, 1994.

[10] Lange, D. B. et al., Aglets: Programming Mobile Agents in Java, In Proc. of Worldwide Computing and Its Applications (WWCA '97), Lecture Notes in Computer Science, vol. 1274, Springer Verlag, 1997.

[11] Yemini Y., Goldszmidt G., Yemini S., “Network Management by Delegation”, Proceedings of the 2nd International Symposium on Integrated Network Management, pp. 95-107, 1991.

[12] Sun Microsystems: “Java Language Overview – White Paper” [On-line] (1998), http://www.javasoft.com/docs/white/index.html.

[13] Gavalas D., Greenwood D., Ghanbari M., O’Mahony M., “An Infrastructure for Distributed and Dynamic Network Management based on Mobile Agent Technology”, Proceedings of the IEEE International Conference on Communications (ICC’99), pp. 1362-1366, 1999.

[14] Goldszmidt G., “On Distributed Systems Management”, Proceedings of the 3rd IBM/CAS Conference, 1993, http://www.cs.columbia.edu/~german/papers.html

[16] McCloghrie K., Rose M., “Management Information Base for Network Management of TCP/IPbased internets: MIB-II”, RFC 1213, 1991.

[17] AdventNet, http://www.adventnet.com/.

Page 141: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Agent Based Programming for Computer Network Monitoring – Adang Suhendra

ISSN 1858-1633 @2005 ICTS

135

COMPUTER ASSISTED DIAGNOSIS SYSTEM USING MORPHOLOGY WATERSHED FOR BREAST CARCINOMA TUMOR

Sri Yulianto, Hindriyanto

Faculty of Information Technology Satya Wacana Christian University Salatiga Salatiga, Indonesia

Email: [email protected], [email protected]

ABSTRACT The breast cancer constitutes the most frequent

cause of women death especially in the developed countries, and in industries countries 35% women mortality in age 35 – 55 year cause it disease. The exact way to reduce the death rate caused by carcinoma breast is by detection and early treatment. It can be done by using medical equipment like ultrasound and mammography. But those method failed lesion detection. Another method like screening and biopsy have high efficient but very expensive. Computer assisted diagnosis system gives a great chance to provide the needed equipment. Computational method like watershed morphology segmentation is developed widely to interpret and analyzes the breast carcinoma tumor cell and tissue as a base to make diagnose consideration. with this method, it is possible to characterize and detect the tumor based on abnormal structure in mammogram like micro calcification, circumscribed masses and speculated lesion. This method is still not precise if it is applied lonely. It must integrated with other method like statistic method to develop computer based diagnose system so that it can help the mammogram image segmentation process and it can be used for development of smart system in detecting breast carcinoma tumor. Keywords : computer diagnosis assisted system, morphology watershed, carcinoma tumor 1. INTRODUCTION

Carcinoma tumor is the biggest prevalent tumor for women and causes seath to almost sufferers between 15 – 54 years old (Chen,2002)(Lado,1996). For around 12.6% (1 of 8 women) in United States suffer from this disease (Bovis dan Sing,2000). Predicted that 41,200 women in United States will die from this tumor (Tzacheva et all,2001). In Indonesia, breast carcinoma incident is quite high. It is in the second place after the vicious of womb in the top ten of the great savage in Indonesia. The incident increase is a representation of life change and eating pattern reflection in Indonesia (Azamris et all,2003).

The exact way to reduce the death rate caused by carcinoma breast is by detection and early treatment. It can be done by using medical equipment like

Ultrasound and Mammography (Chen at all,2002). Though those two methods are effective to detect the carcinoma tumor, 30% of tumor lesion is failed to be detected in screening (Tzacheva dkk,2001). Another method used is biopsy technique. With this method, it tells its differentiation of tumor cell whether it is benign or malign. Although some researchers say that it is an effective way, it is not economical because need to determine the lesion of tumor cell, benign or malign. Besides that, the positive finding of this tumor using this method is still low, around 10 – 31 % (Chen, 2002).

Based on that problem, it is needed a system development which can be used to make an exact diagnose which is precise and cheap. Computer assisted diagnosis system gives a great chance to provide the needed equipment. It is needed to develop the equipment in massive number with a cheap price so that it can be more useful for all health service institution.

Computational method like watershed morphology segmentation is developed widely to interpret and analyzes the breast carcinoma tumor cell and tissue as a base to make diagnose consideration. with this method, it is possible to characterize and detect the tumor based on abnormal structure in mammogram like micro calcification, circumscribed masses and speculated lesion(Mini, 2003).

The watershed morphology method can be developed to provide n tool computer sisted diagnosis (CAD) so that it can help the diagnose process.

The application of this system has already done through several researches. Segmentation lese technique based on the extraction of topography representation of the image mammography. The algorithm used in this study is watershed morphology segmentation (Sheshadri and Kandaswamy,2004). Another study is the use of image segmentation based on Region Of Interest (ROI)(Mancas et all ,24). The next study is the application of image segmentation method by combining evolutionary computation and watershed. (Han,2002).

The publication and application of this system is still difficult to finding health service institutions in Indonesia because the study and development of this equipment is rare. So, it is needed to develop and do a research in this field. It is still needed to develop software applications tis product as a tool to support

Page 142: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

136

the decision making systek in diagnosing breast carcinoma tumor in all health service institutions in Indonesia.

2. BREAST CARCINOMA TUMOR

Molecular Biology explains that cancer is caused by genetics mutation of BRCa1 and BRCa2. Around 2% of the cases show that this spontaneous mutation happens because of environmental effect.

Based on epidemiology, breast carcinoma tumor caused by some factors called risk factors like age, hormone, diet, virus, radiation, others tumor sufferers and the wrong life pattern.

Breast carcinoma develops mostly in dictums then goes through the parenchyma. The spread of this disease goes through the axial lymph (local metastasis ), then systemic. Further Metastasis can attack to the bone, lungs, and liver. Patient Prognosis is determined based on the spread and potency metastasis. But, without therapy, the ability to survive for the sufferers during 5 years is 16-22 % and for 10 years is 1-5 %. The survival ability of these sufferers is determined by the stage of the disease, treatment, histopathology description, estrogen and progesterone receptor and other bimolecular signals.

Seen from oncology, immunity factor hold an important role towards the occurrence of this disease especially the violation to the immune system which affects the vicious cell formation. Tunor cell is a foreign material in the body with specific antigen arrangement. This material can trigger the immune response so that it is called as tumor associated antigen (TAA). TAA is a surface antigen which rise the specific immune e response if injected to the same hospes. The individual response toward the tumor cell development is different because: 1. Body rejection because of incompatibilty 2. Body reception toward the foreign material. 3. the grow of that foreign material in the

Genetically T cell is the host in controlling the tumor grows. That cell has the death ability directly the tumor cell through immune system activation. There are 2 kinds of T cell, CD 4 and CD 8; CD 4 will stimulate the emition of any mediator and induct any inflamation respon and CD 8, beside it has the ability to produce limfokin, themani thing is that its ability to kill the tumor cell directly. T cell has the memory to face the tumor cell through the change of T cell surface.one form of the change antigen is CD 44 on the surface of T cell membrane. The recent study expresses that CD 44 gene as the main indicator in diagnosing cancer, mestatasis diagnostic, and control the cure. CD 44 is molecule in leucocyt cell which take part in cell mediated community, limphocyt recirculation, T cell activation, adhetion to the other cells, intercellular matrix, hyaluronida metabolism, signals transduction through membrane cell and secretion. Through the complex mechanism, gens

regulate the cell funtion and there is an expression change of the savage of the tumor. Based on this funtion, CD 44 expression is related to the metastasis in cancer (Azamris dkk,2003).

3. WATERSHED ALGORITHM

Watershed Morphology algorithm is developed from the mathematics morpology with the basic idea of exploration of image structure in the fromation element. Till now, mathematics morphology has been implemented inmany fields like medical imaging, material science, vision sytem and remote sensing. (Meyer dkk, 2004). The important concept of this system is the image segmentation based on region edge detection of the forming image structure. (Jiang dkk,2001). Every segment in image topography has volume in a basin. Every dam in image topography is conneted to the watershed line so that there will be connected segments. (Meyer dkk, 2004). Every dam has different size depend on the forming image structure. If it is analogued that every dam will be filled with water thaen it will make difference in the surface water of each segment. The form process of watershed segmentation is explained in Figure 1.

Figure 1. The forming of watershed segmentation.

The forming of watershed segmentation is started with image topography initiialzation, gradient transformation according to the grayness of the image and the forming of waterhed line which connects the dam or basin. Structurally the concept of dam and waterShed line is explined in Figure 2.

Page 143: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Computer Assisted Diagnosis System Using Morphology Watershed for Breast Carcinoma Tumor – Sri Yulianto & Hindriyanto

ISSN 1858-1633 @2005 ICTS

137

Figure 2. local minima structure and watershed segmentation line.

4. METHODS

figure 3. the diagram of study phases.

Generally, the study is done through several; phases like the following: 1. Early processing. The image conversion process

from color into grayscale. Ti is done with double approach that is the saving of binary image. Pixel is represented into discrete value 0 and 1. Binary image is saved as logic array.

2. The calculation of segmentation function, identification every segment nbased on the grayness of the image..

3. Identification and signaling the pixel of the object in front of the image, determine the relation between the front grounds of image structure.

4. Identification and signaling the pixel of the object in the background of the image, determine the pixel of the object which isunrelated with the other object of the image.

5. Function modification of segmentation to identify minima flat, determine the location and signal the minima flat on the image.

6. Determining the watershed function from segmentation modification based on the segmentation calculated from watershed function.

Figure 3 shows the phases of the study.

5. RESULT AND DISCUSION

A

B C Figure 4 original image of breast carcinoma tumor spiculated margin, cluster microcalsification dan poorly defined mass

A. Original image of spiculated margin B. Original image of cluster microcalsification C. Original image of poorly defined mass

Image processing study using watershed

morphology segmentation is applied to analyze mmamogaphy image in breast carcinoma tumor speculated margin, cluster micro calcification and poorly defined mass type . The algorithm implemented using Matlab 7.0 The original image of the three type of the breast carcinoma tumor are like Figure 4.

Determine the magnitude gradient arithmetically resulted like the following image. Figure 5 gradient magnitude of the image of breast carcinoma tumor (spiculated margin, cluster microcalsification dan poorly defined mass).

Flat minima

watershed line

basin / dam

Preprocessing

Compute segmentation function

Identification and Marker of foreground pixel object

Identification and Marker of background pixel object

Segmentation function modificated for flat minima identification

Determine Watershed function from Segmentation modified

Page 144: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

138

A B

C

It give the sign to the front ground of the object by

making minima flat in every image form which can be placed using imregionalmax. Reconstruct the image using imreconstruct. The result of this process is like the following Figure.(Figure 6).

Figure 6 Image reconstruction of breast carcinoma tumor spiculated margin, cluster microcalsification dan poorly defined mass A Image reconstruction of

spiculated margin B Image reconstruction of

cluster microcalsification C Image reconstruction of

poorly defined mass The arrow shows the tissue cell that change into tumor.

Determining superimposed foreground marker (sfm) is that the process result of the reconstruction can be interpreted further. Figure 7 interprets the image based on sfm.

Figure 7 determining sfm on the original brast carcinoma tumor spiculated margin, cluster microcalsification dan poorly defined mass A sfm image of spiculated

margin breast carcinoma tumor

B sfm image cluster of breast carcinoma ancer

C sfm image of poorly defined mass breast carcinoma cancer

The arrow shows the tissue cells which change into tumor.

The visualization of morphology segmentation

result can be done with color image or transparently according to intensity of the original image. In Figure 8, it showed the visualization of morphology segmentation of breast carcinoma tumor image.

Figure 8. Visualization of morphology segmentation result of

breast carcinoma tumor image spiculated margin, cluster microcalsification dan poorly defined mass A Visualization of morphology segmentation result of breast carcinoma tumor spiculated margin B Visualization of morphology segmentation result of breast carcinoma tumor cluster C Visualization of morphology segmentation result of breast

carcinoma tumor poorly defined mass The arrow shows the tissue cell which change into tumor.

6. CONCLUSION Image processing study of the mammography

digital image of breast carcinoma tumor using watershed morphology segmentation method can give the distinguishing of the image structure object as a

A B

A

A B C

Figure 5 Gradient magnitude image breast carcinoma tumor spiculated margin, cluster microcalsification dan poorly defined mass A Image gradient

magnitude of spiculated margin

B Image gradient magnitude cluster microcalsification

C Image gradient magnitude poorly defined mass

The arrows show the cell tissue which change into tumor.

A B C

Page 145: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Computer Assisted Diagnosis System Using Morphology Watershed for Breast Carcinoma Tumor – Sri Yulianto & Hindriyanto

ISSN 1858-1633 @2005 ICTS

139

form of differentiation of segmentation of the image structure object as proliferation differentiation benign or malign cell. This method is still not precise if it is applied lonely. It must integrated with other method like statistic method to develop computer based diagnose system so that it can help the mammogram image segmentation process and it can be used for development of smart system in detectiong breast carcinoma tumor.

REFERENCES [1] Azamris et all,2003, Ekspresi CD44 pada

Jaringan Tumor Karsinoma Payudara, Bagian Bedah Fakultas Kedokteran Universitas Andalas, Padang

[2] Bovis K. and Singh S.,2000,Classification of Mammographic Breast Density Using a Combined Classifier Paradigm, PANN Research, Department of Computer Science, University of Exeter, Exeter, UK

[3] Chen et all, 2002, Diagnosis of Breast Tumors with Sonographics Texture Analysis using wavelet Transform and Neural Networks, Department of Computer Science and Information Engineering, National Chung Cheng University, Chiayi, Taiwan

[4] Mini G and Thomas T., 2003, A Neural Network Method for Mammogram Analysis Based on Statistical Features, Cochin University of Science & Technology Cochin, India.

[5] Lado M.,et all, 1996, Computer Assisted Diagnosis : Application of wavelet Transform Technique to the Detection of Clusterd Microcalcification in Digital Mammogram, Department Radiology, The University of Santiago de Compostela Spain.

[6] Han Chao dkk, 2002, Image Segmentation based on watershed and evolutionary computation, Department Radiology, Surgery and Electrical Engineering, University of Washington.

[7] www.matworks.com [8] Sheshadri dan kandaswamy,2004, Detection

of breast cancer Tumor based on morphological watershed algorithm, Department ECE,PSG College of Technology, Coimbatore.

[9] Zeng dan Chen, 1996, Detection of Cancerous Masses for Screening Mammography using DWT based Multiresolution Markov Random Field, Department of Computer Science Texas A&M University

Page 146: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

140

EVALUATION OF INFORMATION DISTRIBUTION ALGORITHMS OF A MOBILE AGENT-BASED DEMAND-ORIENTED INFORMATION

SERVICE SYSTEM

I. Ahmed [[email protected]], M J. Sadiq Department of Electrical & Computer Engineering

International Islamic University Gombak, Kuala Lumpur 53100

Malaysia.

ABSTRACT The Internet is packing ever more data intensive

contents on websites resulting in the frustrating high download times and server overload of popular contents. Various schemes are being investigated and reported in the literature to address the issue. Faded information technique is one such architecture that holds a multitude of advantages compared to other techniques. We propose a set of algorithms to quantify the field size regulation of a faded information field of an information provider. We simulated the system response and report the results that hold the potential to address the current congestion and server overload issues facing the wide area network. The information field size can be regulated by the proposed algorithms to suit the peculiar requirement of the information being provided on the network. Keywords : Information systems, mobile agents, server overload 1. INTRODUCTION

The availability of highly data-intensive contents of information services on the Internet is making the business of information provision and utilization a trivial task. The internet is a huge data repository that is expanding without a central authority. The number of worldwide internet users is predicted to exceed one billion by the end of 2005 [1]. Moreover 300 terabytes of information is published online every year [2]. As the performance demands of the internet and its usage increase exponentially, the emphasis is shifting from platform centric computing to network centric computing. Information systems have to be designed that are distributed, dynamic and have high assurance and fault tolerance to meet the heterogeneous demands of users. As ICT advances, the dynamics of e-commerce tend to be more data intensive and complex. The traditional business to customer paradigm is encompassing the business to business transactions as well. Companies have to comprehend the trends and demands of the users quickly in order to survive in the competitive environment of today. The expectations of users and customers have soared high

and they seek a flawless any time any where service syndrome. In addition these systems are expected to provide high assurance coupled with fault tolerance and timeliness [3,4]. The traditional information services based on the client-server model therefore cannot cope with the rising demand placed by the complexities of data intensive heterogeneous computing. It is therefore imperative to employ new techniques to address these problems in order to reduce the network traffic and improve user's access time to information services. Information fading based on a demand-oriented service architecture is one such technique reported recently [5]. The architecture balances the cost of information provision and utilization on the network by employing push and pull mobile agents to service user requests and conduct the business of information provision and utilization on the network.

In the faded information field (FIF) the service provider distributes the most demanded and popular information contents closer to its vicinity on various nodes in the network. The volume of distributed information on a node is inversely proportional to the distance of information storing node from the service provider. Thus the FIF permits the fairness of information distribution to unspecified users with equal access time. Various attributes of a FIF have been investigated recently [6-9]. We evaluated the push MA information dissemination in the FIF by simulating its behavior under the programmed criterion of a number of algorithms. The results show that the size of the information field of a service provider can be regulated by a number of algorithms each suitable for the nature of information service being data intensive or otherwise. This paper is organized as follows; faded information field architecture will be reviewed in section 2, followed by a set of proposed algorithms in section 3. The algorithmic evaluation of Pull MAs and simulation results will be discussed in section 4. The paper will be concluded in section 5.

Page 147: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Evaluation of Information Distribution Algorithms of a Mobile Agent-Based Demand-Oriented Information Service System – I. Ahmed, M.J. Sadiq

ISSN 1858-1633 @2005 ICTS

141

2. FADED INFORMATION FIELD ARCHITECTURE

Faded Information Field (FIF) Architecture has been proposed recently to optimize the service provision parameters on the network [5]. The details of this technology can be found elsewhere; only essential features will be reviewed here. The goal of FIF is the effective provision of information in a network. This architecture is based on demand-oriented replication of information service to assure service availability and utilization. In a FIF system, the information is distributed on a number of nodes in the network rather than a localized node. The FIF architecture is depicted in Figure1. The service providers sense the demand trend of information and the most accessed segment of that information is allocated to a storing node. From the storing node the information service is further distributed to adjacent nodes, however, with less information content. The process continues in a recursive fashion and the information contents are distributed to more storing nodes away from the service provider (SP). The so called information field created by this pruning process has the following key characteristics: • The information content stored on a node is

inversely proportional to the distance of storing node from the SP.

• Information update frequency on a storing node is inversely proportional to the distance of storing node from the SP. Thus nodes adjacent to the SP are easily and frequently updated compared to the nodes farther away from the SP.

Figure 1. The layout of a Faded Information Field Architecture

By allocating the most frequently accessed information to the nodes and by concentrating the majority of the information closer to the SP, the cost of service utilization (user access time) and cost of service provision (information update) are balanced.

The system essentially consists of logically connected nodes through which users and service providers correspond. Mobile agents are used by both parties to acquire and provide information respectively, under evolving/changing situations. The

mobile agents (MA) generated by service providers are termed as push mobile agents (Push MAs). Push MAs carry out the function of autonomous coordination and negotiation with other nodes for information fading according to network situation and the level of importance attached to the information. The level of importance of particular information content is based on its popularity, determined from a high hit rate of query. The pull mobile agents (Pull MA) are generated by users and they autonomously navigate in search of the required information on the network nodes in a step by step fashion. Once the required information is located, these agents report back to the source. The push and pull MAs have no direct correspondence with each other.

The third important subsystem of a FIF is the node itself. It is a platform for both storage of information and program execution. It monitors the local information-based system conditions and autonomously makes decisions for allocation requests by the SP. Each subsystem is autonomous in terms of control to execute its operations and coordination with other nodes under evolving network conditions. 3. ALGORITHMS TO CHOOSE

NODES TO CREATE THE FADED INFORMATION FIELD

In a system with multiple faded information fields in a shared network, it is necessary to determine which nodes in the shared network would be used by each information provider for its faded information field. The information provider will restrict itself to these nodes. This is to avoid congestion in the network, which would occur if each information provider were to send its push-MAs to all nodes. Also, the further the information is from its source, the less likely it is to be updated when it becomes obsolete, resulting in less reliability. Furthermore, if localization is determined to be advantageous, the information is more useful if it resides near the information provider for the benefit of those users near to the provider.

It is therefore a requirement for the information provider to establish the boundary of its FIF and the nodes therein for the distribution of information. At the same time, it must be ensured that the field of one provider is not significantly larger than another; otherwise it would be unfair to the provider with the smaller field, since the smaller the field, the less likely the information is to be discovered by users. Therefore, there must be a standard field size that needs to be established. It is possible to have a central authority restricting the field of each SP to a standard size. However, this would be against the decentralized nature of FIFs. So, each provider must choose its own nodes, and this must be done in a fair manner.

The initial requirement is therefore that there is a standard field size, and each provider is aware of this requirement. Among the ways of achieving this

Information Volume

FIF

SP

Network Node

Information Fading

Push MA

Pull MA Information field outer boundary

Information Gradient

Page 148: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

142

standardization is to include in push-MAs a few bytes for standardization fields so that all providers, if they desire, can find out what the others are doing. In doing so, it would regulate fairness in the faded information field.

Therefore, some algorithms are required to choose nodes for the faded information field. In all the following algorithms, it is assumed that the service provider is aware of all the nodes in the field, in addition to the costs to travel to these nodes. This can be achieved by simply sending a message to any node in the field asking for the latest information about the field. The costs are used as a measure of the distance to the node for the purpose of creating a localized faded information field. • Sorting – The available nodes in the field are sorted in an order by a certain cost, such as delay by each service provider. For a field size of S nodes, it will choose the first S nodes that are closest to it in the sorted list. It can thus determine the delay to the furthest node it requires, and imposes a travel restriction on its push-MAs based on this delay. The push-MAs will be required to keep updating the nodes in the field until they reach the travel restriction set by the SP. This could be in the form of travel time, or time to live after which the MAs cease to exist. Alternatively the push-MAs can be multicast to the required nodes in the field. The sorting technique is inherently resource intensive and it must be re-employed to account for cost updates in the network as and when it occurs. However, the advantage is that all the SPs are expected to have the same number of nodes in the field, since each selects the same number of nodes from the sorted lists. • Step Size – In this case, the service provider determines the distances of the closest and furthest nodes, and then divides that distance by the number of nodes to get the average inter-nodal ‘hop’ distance of a push-MA. The equation for the algorithms i as follows:

D = (max(d) – min(d)) / (N – 1) * (S) + min(d) Where D = step distance d = distance from SP to node N = number of nodes S = required field size

The SP will now send push-MAs that only travel the required distance in the field. Alternatively, the server would determine which nodes fall in the required distance and multicast the push-MAs to those nodes. The step size must be recomputed every time there is an update in the system; however, finding the maximum and minimum distances in the field is the major computation, and is much faster than sorting. • Averaged Step Size – The inter-nodal distances are likely to be skewed towards the high end in a random simulation run. In order to account for this

skewing an average distance is computed that is used to determine the step size instead. In this method, the determination of the maximum distance is replaced by finding the total distance to all the nodes from the SP.

D = (∑d / (N – 1) – min(d)) / (N – 1) * 2 * (S) + min(d)

Depending on geographical circumstances, an SP can be far away from the rest of the nodes in the FIF. In this case, the computation gives an unbalanced result because the initial distance is large. So the minimum distance is subtracted from the average to find the inter-nodal step distance, and then added again at the end to account for the time from the SP to the first node

• Modified Averaged Step Size – The averaged step size algorithm still gets affected by the skewing of nodes. The algorithm was modified by computing the average step size of all the costs excluding the minimum and maximum costs. In this method, the total distance has to be computed and the maximum and minimum distance from the SP has to be determined. The maximum and minimum are subtracted from the total as shown below:

D = ((∑d – Nmin * min(d) – Nmax * max(d)) / (N – 1 – Nmin – Nmax) – min2(d)) / (N – 1 – Nmin – Nmax) * 2 * (S – Nmin) + min2(d)

where Nmin = number of nodes at the minimum

distance Nmax = number of nodes at the maximum

distance min2(d) = distance of the second closest node

As mentioned in the Averaged Step Size algorithm, it is possible that a node is very far away from the rest of the field. In order to remove this initial distance, the minimum distance should be subtracted. However, in the Modified Averaged Step Size algorithm, the minimum distance is not included in the computation; so instead, the distance that is second from minimum is subtracted instead.

4. SYSTEM SIMULATIONS The FIF structure was simulated using the

following parameters: • A total of 50 web servers acting as service

providers (SPs) in the FIF. • Each web servers stores between 7 and 10

categories of information out of a total of 50 categories of information at random.

• Routers were generated at random using polar coordinates with maximum radius specified as 50 units. A total of 200 routers were created in the simulated information system.

Page 149: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Evaluation of Information Distribution Algorithms of a Mobile Agent-Based Demand-Oriented Information Service System – I. Ahmed, M.J. Sadiq

ISSN 1858-1633 @2005 ICTS

143

Server to server costs were found using Djikstra’s algorithm [10]. Then, depending on the field determination strategy, the maximum distance that a push-MA is required to travel was found from the Djikstra costs. It was decided that the FIF of each SP should encompass only 20% of the available network, which amounts to a total of 10 nodes – each server is also a node in the FIF. The results were graphed to determine the effects of the various algorithms. Figures 2 and 3 show the effects of the algorithms on field size. The performance of the algorithms is measured using the ability to create the required field size and the fairness in creating fields for each information provider. This fairness is measured using the standard deviation of field sizes. The data is an average of several simulations runs with differing network setups.

It was found, as expected, that the sorting strategy gave the required field size. The other algorithms however failed to do so, creating fields that were smaller than required. Sorting was also the fairest, but among the less processor intensive algorithms, modified averaged step size was the best, with an average field size of 7.82 and the fairest distribution of field sizes with a deviation of 2.38.

Figure 2 Average Field Size

Figure 3 Standard Deviation of Field Sizes

It was decided to incorporate a multiplier into the algorithms to ensure the required field size. Therefore, depending on the strategy, the required field size would be multiplied by a certain number. It was expected that the algorithms would fail to create this new required size, and instead create a field that

would be the actual required field size. The results are displayed in Figures 4.3 and 4.4.

Figure 4 Average Field Size with Multiplier

Figure 5 Standard Deviation Field Sizes with Multiplier

No multiplier was used for sorting. The step size, averaged step size and modified averaged step size algorithms required multipliers of 1.16, 1.34 and 1.25 respectively. It was discovered that, not counting the sorting strategy, the modified averaged step size algorithm gave the best result of step size and fairness. Since sorting is processor intensive, the modified averaged step size algorithm was used throughout the rest of the simulation, with a multiplier of 1.25. At this stage, a list of nodes sorted by cost was generated for each provider, to be used in further stages of the simulation.

5. CONCLUSION

The basic architecture of a FIF has been reviewed. A wide area network was simulated to quantify the efficiency of a number of algorithms to determine the ultimate information field in which the push MAs can disseminate the service provider’s information contents. The filed size of a faded information field was observed to be regulated by each algorithm where the sorting strategy gave the required field size. The other algorithms however failed to do so, creating fields that were smaller than required. Sorting was also the fairest, but among the less processor intensive algorithms, modified averaged step size turned out to be the best, with an average field size of 7.82 and the fairest distribution of field sizes with a deviation of 2.38. It is therefore concluded that each algorithm is

0

2

4

6

8

10 12

Sorting

Step Size

Average ModifiedAverage

Num

ber

of N

odes

0

2

4

6

8

10

12

Sorting Step Size Average ModifiedAverage

Num

ber

of N

odes

0 1 2 3 4 5

Sorting

Step Size

Average ModifiedAverage

Num

ber

of N

odes

0

1

2

3

4

5

Sorting Step Size Average ModifiedAverage

Num

ber

of N

odes

Page 150: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

144

suited to the nature of information that a service provider intends to make available on the network. For example in a non-processor intensive application, sorting strategy could be the best. In other applications, modified average step size algorithm could be employed to optimally regulate the information field of a service provider. The future research may lead to the quantification of correlated fields of two service providers with the same set of algorithms.

REFERENCES [1] Roberts, L. G., Beyond Moore's Law: Internet

Growth Trends, IEEE Computer, Vol. 33, no. 1, p. 117, 2000.

[2] Lyman, P. and Varian, H. R., How much Information, Journal of Electronics Publishing, Vol. 6, Issue 2, December 2000.

[3] Ingham, D. B. and Shrivatava, S. K., Constructing Dependable Web Services, IEEE Computing Magazine, pp. 25-33, Jan-Feb, 2000.

[4] Yen et al, Toward Integrated Methods for High Assurance Systems, IEEE Computer Magazine, pp. 32-34, April 1998

[5] Ahmad, H. F., Arfaoui, H., and Mori, K., Autonomous Information Fading by Mobile Agents for improving User's Access Time and Fault Tolerance, Proceedings of 5th International Symposium on Autonomous Decentralized Systems, p. 279-283, 2001.

[6] I. Ahmed, J Sadiq, Characterization of Information Distribution Fairness in a Mobile Agent-Based Adaptive Information System, to be presented in the Sixth International Conference on Web Integration and Services, September 27-29 2004, Jakarta, Indonesia.

[7] I. Ahmed, J. Sadiq, Nodal Congestion Analysis of an Autonomous Mobile Agent-Based Distributed Information Service System for Efficient Utilization of Information Contents, International Journal of Information Technology, Vol.. 10, No. 1, 2004.

[8] I. .Ahmed, J Sadiq, A Novel Autonomous Architecture for the Integration of Information and control in an Automated Manufacturing System, Presented in the International Conference on Intelligent Agents, Web Technologies and Internet Commerce, 12-14 July 2004, Gold Coast Australia.

[9] I Ahmed, J Sadiq, Balancing the user demand and information provision in a web-based linguistic learning system employing faded information field architecture, presented in the ASIA CALL International Conference on Information Technology and Linguistic Learning, Bangkok, Thailand, 3-5 December 2003.

[10] Streenstrup, M. 1995. Routing in Communications Networks, New Jersey: Prentice Hall.

Page 151: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

145

ONLINE MOBILE TRACKING ON GEOGRAPHICS INFORMATION SYSTEM USING POCKET PC

M. Endi Nugroho 1, Riyanarto Sarno2

1 Informatics Dept, Institute Informatics Indonesia 2 Informatics Dept., Institute Technology Sepuluh November

Surabaya Indonesia email: [email protected]

ABSTRACT This paper expands the existing technology that

only read data GPS (Global Positioning System) for itself to describe it in Geographics Information System (GIS) on Pocket PC. It not only read GPS for itself but also can be monitored by other Pocket PC online because it uses WinSock to communicate. With that technology we can monitor every alteration at GPS destination online. This paper presents architecture for multiple Pocket PC that can look the position each other. Result application for this paper usefull for mankind purpose. For instance vehicle tracking, military purpose, traffic manajement, etc. Vehicle tracking is used for securing asset. Military purpose.for simulating stategy of soldiers, traffic management for arranging traffic jam. Keywords : GPS, GIS, win sock, tracking 1. INTRODUCTION

This paper research contains various technology. The technology are read GPS from Pocket PC use port data communication, communicate with other Pocket PC use Winsock technology, read data spatial from Pocket PC dan show the GPS point in the GIS map. In previous study Pocket PC read GPS and send it to web server, and other Pocket PC read web server to know the location of GPS Pocket PC. In this research we can expand the future and make user more satisfy with the pocket PC.

The objective for this research are reading GPS data from Pocket PC and represent it on GIS map in the Pocket PC with the technology that mention on paragraph before. After that Pocket PC can communicate with other Pocket PC via Web Server with the result each Pocket PC can read other Pocket PC location without refresh or request to the web server. Because Win Sock can manage alteration of GPS data of Pocket PC and send it to other Pocket PC.

2. MODEL, TEORY, DESIGN, IMPLEMENTATION AND ANALISYS

In this chapter we study about the model theory, design implementation and analisys of this paper. .

2.1. Model and Teory Model architecture for this paper divide by two

model. Model Architecture for hardware and model architecture for software. Model Architecture for hardware

Figure 1. Model Architecture Hardware

Pocket PC must have SD card IO, so it can add enhance accessories SD GPS. SD GPS just plug to SD IO Pocket PC. Pocket PC with GPS access GPRS to browse http web server and managed by WinSock to send to other Pocket PC that want to know position of Pocket PC with GPS. The pocket PC receive data from web server and represent it in GIS map. The Pocket PC can be multiple number so in GIS map will show m multiple point.

Page 152: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

146

Model Architecture for Software

Figure 2. Model Architecture software

Model architecture software divide by 2 site. First site on Pocket PC and the second on Web Server. In the Pocket PC there are GPS Reader that read data GPS on SD IO via comm. Port, Visualization of GIS that show the data spatial map on Pocket PC, Winsock client that communicate with other Pocket PC via HTTP - Web Server. In Web Server there are Winsock client that manage communication with Winsock client, and Web Application that connect Winsock Server to internet.

Theory GPS (Global Positioning System)

The Global Positioning System is a space based navigation system. A constellation of 24 satellites orbits earth every 12 hours at an altitude of 14,000 miles from the earth's centre. Each satellite is armed with four atomic clocks, which keep the time to a superlative degree of accuracy. They each broadcast their precisely timed radio signals through the atmosphere and onto the earth's surface at the speed of light. The signals from each satellite arrive at any particular point on or above the earth's surface at slightly different times. This timing is proportional to the distance between the satellite and that particular point. Thus each radio beam acts as a 20,200 km (10,900 nm) long ruler. How does it work ?

Trigonometry

The receiver contains a sensitive antenna and a timetable (or almanac) for the satellites. It measures the time difference between the arrivals of the signals and compares it with the timetable. With the application of trigonometry, the longitude, latitude and altitude of the receiver can be calculated. As with all trigonometric calculations, three satellites are needed to calculate the longitude and latitude, and a fourth satellite is needed to calculate the altitude. Further satellites simply increase the accuracy.

Datum’s

Further computations are needed to take into account the fact that the world is not that round, but is an oblate spheroid that is very slightly pear shaped

(Also known as a geoid, or the mean earth surface). This is fundamentally important if a GPS receiver is being used to read or make a map to within 1000 meter accuracy. The most successful attempt to flatten the geoid into a map is the WGS 84 datum, which splits the globe up into 60 zones, each 6 degrees wide, and projects them onto a flat surface with the Universal Transverse Mercator (UTM) projection. Most countries have their own datums (Like the British National Grid, as used by the Ordinance Survey), and some countries (like Oman) have two datums because of changes in sphericity in different parts of the country. This can cause much confusion. When setting up a GPS for map reading the most important thing to do for accuracy is to set up the grid and the datum. On any map worth it's salt, this is written somewhere in the border of the map.

Selective Availability

As GPS is currently sustained and operated by the U.S. Department of Defense (DOD), selective availability (where civilian receiver's accuracy was limited to over 150 metres but military receiver's accuracy was less than 4 metres) was ended by President Clinton in 2000. For the time being civilian GPS is as accurate as military GPS, however, military GPS machines are considerably heavier and the buttons are very difficult to press indeed.

Who uses GPS?

GPS is used to support land, sea, and airborne navigation, surveying, geophysical exploration, mapping and geodesy, conservation research, habitat modelling, vehicle location systems, farming, transportation systems, archaeology, mountaineering, fishing and a wide variety of other additional applications, such as logistic regression modeling of multi temporal Thematic Mapper data for burnt area mapping and a lot of more. Format Data GPS

Format Data GPS or it is called “Sentence” data GPS is received if we access GPS port. The ane format of data GPS is NMEA.

For example : $GPRMC,010405,V,0717.1526,S,11244.7545,E,0.291,309.5,160999,0.9,E*7E

1. first word $GPRMC is the first string of NMEA format.

2. Second word 010405 is format that show current time in GMT Greenwhich, so in Indonesia we must add 7

3. Thirdth word V 4. Fourth word 0717.1526 is format that show

lintang 5. Fiveth word S is format that show the device in

South (S) or North(N) in the world 6. Sixth word 11244.7545 is format that show bujur

Page 153: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Online Mobile Tracking on Geographics Information System Using Pocket PC – M. Endi Nugroho & Riyanarto Sarno

ISSN 1858-1633 @2005 ICTS

147

7. Seventh word E is format that show the device in East (E) or West (W) in the world

8. Eight word 160999 is format that show current date, first second alfabet show date, secod second alfabet show month, last second alfabet show year.

GIS (Geographic Information Systems) Geography is information about the earth's surface

and the objects found on it, as well as a framework for organizing knowledge. GIS is a technology that manages, analyzes, and disseminates geographic knowledge.

GIS is a technology that is used to view and analyze data from a geographic perspective. The technology is a piece of an organization's overall information system framework.

GIS links location to information (such as people to addresses, buildings to parcels, or streets within a network) and layers that information to give you a better understanding of how it all interrelates. You choose what layers to combine based on your purpose.

Figure 3. Within a few hours of the destruction of Space Shuttle Columbia, GIS accurately modeled the shuttle's debris location and

distribution.

Three Views of a GIS A GIS is most often associated with maps. A map,

however, is only one of three ways a GIS can be used to work with geographic information. These three ways are:

The Database View: A GIS is a unique kind of database of the world—a geographic database (geodatabase). It is an "Information System for Geography." Fundamentally, a GIS is based on a structured database that describes the world in geographic terms.

Figure 4. Sample GIS map

The Map View: A GIS is a set of intelligent maps and other views that show features and feature relationships on the earth's surface. Maps of the

underlying geographic information can be constructed and used as "windows into the database" to support queries, analysis, and editing of the information.

Figure 5. Sample GIS application

The Model View: A GIS is a set of information

transformation tools that derive new geographic datasets from existing datasets. These geoprocessing functions take information from existing datasets, apply analytic functions, and write results into new derived datasets. Winsock

WinSock version 1.1 has been the standard since its release in January of 1993, and has exceeded its authors' original intent to provide a powerful and flexible API for creating universal TCP/IP applications. Some have argued that it was an unsung hero in the Internet's phenomenal success, as it enabled the creation of a single network appliation--like Netscape's browser, for example--to run on the many TCP/IP stacks for PC's that existed at the time.

Since those early days, the PC network industry has changed completely: The many TCP/IP vendors have all but disappeared after their software was replaced by Microsoft's free TCP/IP implementations built into the operating systems. The Internet has continued to explode in popularity, as have the number of applications that depend on WinSock and they have changed as they diversified. Applications have become more demanding of Internet services. As a result, the Internet itself is changing, evolving. The Grand Convergence of phone, radio and television networks to the Internet Protocols (IP) is underway. So, of course, it comes as no surprise that WinSock--the APIs--have undergone change also. Specifically, in support for the new Internet concept of "Quality of Service" (QoS). But that's not all.

The authors of Windows Sockets version 1.1 originally limited the scope of the API specification to TCP/IP primarily, but this focus did not preclude the possibility that WinSock--like its Berkeley Sockets Model--could support other protocol suites. Windows Sockets version 2.0 (WinSock 2) formalizes the API for a number of other protocol suites-- ATM, IPX/SPX, and DECnet--and allows them to coexist simultaneously. WinSock 2 also adds substantial new functionality. Most importantly, it does all this and still retains full backward compatibility with the

Page 154: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

148

existing 1.1--some of which is clarified further--so all existing WinSock applications can continue to run without modification (the only exception are WinSock 1.1 applications that use blocking hooks, in which case they need to be re-written to work without them)..

WinSock 2 goes beyond simply allowing the coexistence of multiple protocol stacks, in theory it even allows the creation of applications that are network protocol independent. A WinSock 2 application can transparently select a protocol based on its service needs. The application can adapt to differences in network names and addresses using the mechanisms WinSock 2 provides. Winsock Architecture

The authors of WinSock version 1.1 deliberately limited its scope in the name of expediency. One result of this is the simple architecture of WinSock 1.1. A single WINSOCK.DLL (or WSOCK32.DLL) provides the WinSock API, and this DLL "talks" to the underlying protocol stack via a proprietary programming interface. This works fairly well since v1.1 WinSock only supports one protocol suite--TCP/IP--and most computers running Windows have only a single network interface.

However, this WinSock 1.1 architecture limits a system to only one WinSock DLL active in the system path at a time. As a result, it is not easy to have more than one WinSock implementation on a machine at one time. There are legitimate reasons to want multiple WinSock implementations. For example, one might want a protocol stack from one vendor over the Ethernet connection and a different vendor's stack over the Serial Line.

WinSock 2 has an all-new architecture that provides much more flexibility. The new WinSock 2 architecture allows for simultaneous support of multiple protocol stacks, interfaces, and service providers. There is still one DLL on top, but there is another layer below, and a standard service provider interface, both of which add flexibility.

WinSock 2 adopts the Windows Open Systems Architecture (WOSA) model, which separates the API from the protocol service provider. In this model the WinSock DLL provides the standard API, and each vendor installs its own service provider layer underneath. The API layer "talks" to a service provider via a standardized Service Provider Interface (SPI), and it is capable of multiplexing between multiple service providers simultaneously. The following sketch illustrates the WinSock 2 architecture.

Figure 6. Architecture of Winsock

Note that the WinSock 2 specification has two

distinct parts: the API for application developers, and the SPI for protocol stack and namespace service providers. Notice also that the intermediate DLL layers are independent of both the application developers and service providers. These DLLs are provided and maintained by Microsoft and Intel. And lastly, notice that the Layered Service Providers would appear in this illustration one or more boxes on top of a transport service provider.

3. DESIGN AND IMPLEMENTATION

3.1. General Design Design hardware and software has mentioned in

Model. In this section we analize it more detail. In the bellow we describe the system by flow card.

Figure 7. System flowcart

If we run application for the first time we must choose if we want run online or stand alone. If we set to online the application will connect to web server, otherwise it won’t. After that application will display

Page 155: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Online Mobile Tracking on Geographics Information System Using Pocket PC – M. Endi Nugroho & Riyanarto Sarno

ISSN 1858-1633 @2005 ICTS

149

GIS Map and display GPS point to GIS. After read data GPS application cek that we have choosed online or have not. If it has choosed the application will send data GPS and data ID to web server. Server receive data GPS and winsock will manage to send it back to specific client. This purpose for knowing of location Pocket PC with GPS. If application doesn’r exit the application will display GIS map again.

3.2. Implementation

Figure 8. Application Login

Figure 9. Application running

Software Developing with Ms Visual Studio .NET.

Before entry to main form we must do login to web server. After login success otomatically we enter main form. There are map and our position on that map.

If there are our friends that use GPS and share data to WebServer it will be shown in the map. The

application also have ability to request our friends position in specific interval time.

4. ANALYSIS AND RESULT

GPS only issue the position for itself if he can track 3 satelite position. If it only track less than 3 satelite it will detect out of real position

Table 1 shows the result given the car with velocity of 50 km/hour

Table 1 Result of Testing Date Time Position 05/06/2005 09:00:00 112 degree 43'22" BT,07

degree 11'54" LS 05/06/2005 09:01:00 112 degree 43'22" BT,07

degree 12'26" LS 05/06/2005 09:02:00 112 degree 43'22" BT,07

degree 12'55" LS 05/06/2005 09:03:00 112 degree 43'22" BT,07

degree 13'25" LS 05/06/2005 09:04:00 112 degree 43'22" BT,07

degree 13'55" LS 05/06/2005 09:05:00 112 degree 43'22" BT,07

degree 14'25" LS 05/06/2005 09:06:00 112 degree 43'53" BT,07

degree 14'56" LS 05/06/2005 09:07:00 112 degree 44'23" BT,07

degree 15'25" LS 05/06/2005 09:08:00 112 degree 44'23" BT,07

degree 15'55" LS 05/06/2005 09:09:00 112 degree 44'23" BT,07

degree 16'27" LS 05/06/2005 09:10:00 112 degree 44'23" BT,07

degree 16'57" LS 05/06/2005 09:11:00 112 degree 44'23" BT,07

degree 17'25" LS 05/06/2005 09:12:00 112 degree 44'23" BT,07

degree 17'55" LS 05/06/2005 09:13:00 112 degree 44'23" BT,07

degree 18'25" LS Start position from Tanjung Perak Surabaya.

With around of earth 40065. 5. SUMMARY • Data GPS from Pocket PC can be shared wirh

another Pocket PC. Web Server as media storage to pass data from one Pocket PC to another.

• Position tracking for multiple point can be represented in Pocket PC.

REFERENCE [1] Wang et.al., Integration Of GIS, GPS And GSM

For The Qinghai-Tibet Railway Information Management Planning

[2] Barrile, V. and Cacciola, M., An Integrated GPS-GIS Surface Movement Ground.

Page 156: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

150

[3] Bullock, P., Jiang Q., and Stopher, P.R., ,Using GPS Technology to Measure On-Time Running of Scheduled Bus Services

[4] Muller, B., Wehr, H., Voigt, B., A GIS-aware Architecture for Tourism Portals

[5] Bohnenstiehl, K., GPS Software for GIS and Surveying

[6] Kaushal, A., C-DAC and Dr. Shirish Ravan

Page 157: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

151

A SIMPLE QUEUING SYSTEM TO MODEL THE TRAFFIC FLOW AT THE TOLL-GATE: PRELIMINARY RESULTS

Wahju Sediono, Dwi Handoko Center for the Assessment and Application of Information Technology and Electronics (P3TIE-BPPT)

Communication and Computation Technology Division BPPT Building II 4th Fl., Jl. M. H. Thamrin No. 8, Jakarta 10340

E-mail: [email protected], [email protected]

ABSTRACT

Nowadays traffic jam can be found anywhere at anytime. A well planned traffic rules can decrease the traffic jam. In order to support traffic rules planning, a simulation tool is currently developed in our division. In this paper a traffic simulator tool based on a simple queuing system, which can be effectively applied to model traffic conditions at the highway toll-gate, is introduced. By using this tool we can make performance tests on a real toll-gate which are based on various traffic flows and other parameter values. In the near future this software tool can be used to optimize the operations of the existing toll-gates or predict the traffic situations on the next planned toll-gates.

Keywords: traffic simulator, simple queuing system, traffic flow 1. INTRODUCTION

Traffic jams and crowded situations on the streets, especially in big cities, are believed to cause negative effects on both the environment and human being. In a jam situation the vehicles can move forward slowly so that a large amount of unhealthy gas produced on a certain area at a certain time can raise non-negligible air pollution. At the same time the traffic’s noise can also be a source of serious ecological damage. It is understandable if these discomforts can additionally increase the stress of people trapped in the jam and of them who live around. In a long term this traffic conditions are believed to decrease the productivity of a nation.

An important reason for the traffic jam is the unbalance between the traffic flow and the street capacity. Well planned traffic rules can be used to control the traffic flow so that the overcapacity of the streets should never happen. To support in planning the traffic rules a software tool is currently developed in our division. The goal of this work is to get an appropriate traffic model that can be easily applied on the real existing traffic situations. By using this software tool an impact of the next planned traffic rules can be simulated on a computer model before the final realization [1][2].

As a step of reaching our goal we have developed a simple queuing system to model the traffic flow at the toll-gate, as a part of the grand design of the traffic simulator. In this paper preliminary results of the simulation based on this model are presented.

2. A SIMPLE MODEL OF THE

QUEUING SYSTEM Because of its simplicity the traffic condition at the

toll-gate is chosen as a special case in doing performance tests on the developed traffic simulator. A typical highway with a series of toll-gates is shown in figure 1.

Basically the vehicle queues at the toll-gate can be modeled by a simple queuing system. The characteristics of this queuing model are described by the queue’s length or capacity, the arrival’s rate of the traffic and the processing time in the toll-gate [3][4].

Fig 1: A highway with a series of toll-gates that can be modeled by a simple queuing system

In case of the traffic at the toll-gate the lengths of the queues at a certain time are determined by various factors like the road’s physical condition, the measurement time, the driver’s behavior, the gate’s capacity and the existing traffic flow. A bad condition of the toll road or a lane shrinking could raise a long queue in a short time. A bad maintained car can make the traffic flow get slower, so that a not-freely queue exists. And, frequently, long queues are also produced by the undisciplined drivers as they are involved in accidents.

The arrival’s rates of the vehicles at the toll-road are mainly driven by the measurement time. At busy hours we can expect a high rate of the vehicle’s arrival

Page 158: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

152

towards the inner city’s highway, whereas a slow rate is usually expected e.g. in the very early morning or at holidays.

The processing time determine how long a vehicle would stay in the queue. In case of the vehicle queue at the toll-gate this processing time is dependent on the speed of the processing machine or people handling the vehicle’s arrival and the reliability of the supporting software behind.

Fig 2: A model of simple queuing system

However in this step we don’t take into account all

of those parameters. In this development step, to simplify the problem of modeling only the arrival’s rate r of the vehicle is used to determine the traffic flow in this paper. The characteristics of the queues are described by the parameters l for the queue’s length and t for the processing time (fig. 2). However this model is also provided to model a more complex queuing system which is characterized by the lanes m before the gate, the lanes g in the gate and the lanes n after the gate [5]. Therefore our model of simple queuing system is determined by parameters of r, l, t, m, n, and g.

Fig 3: The very simple graphical user interface of the software tool

Basically, by using the appropriate data structure and algorithms, we can simulate the vehicle queues at the toll-gate on the computer. The independent appearance of the vehicles in the queues is realized by using the principles of the object-oriented method. To get an easy run of the software tool a simple user interface is of great importance. A very simple graphical user interface is shown in fig. 3.

3. SIMULATION RESULTS The traffic flow at the toll-gate in Tomang area,

West Jakarta, can be used as a special case of the simulation (fig. 4). It can be modeled as a simple m,g,n queuing system. The traffic condition can be

described as follows: To use the Jakarta’s inner-ring toll-road system the incoming vehicles have to join in the queues of m lanes before gate. Next, there exist g lanes of gates, in which an incoming vehicle has to pay the toll and wait for t seconds. Then, from there, a vehicle can get one of n lanes after gate to continue the journey along the inner-ring road.

Fig. 4: A toll-gate in Tomang area of scale 1:15,000

After defining the queuing system the arrival’s rate is set to r ranging from 0.0 to 1.0. In this paper various r are set to get a comprehensive comparisons. For this purpose the traffic in- and outflows are compared at various values of r. Additionally, the measurements of the traffic densities are also performed to describe the traffic condition more precisely. The simulation results are presented in the following fig. 5-7.

(a)

(b)

Fig 5: Traffic densities for the arrival’s rate of 0.45 (a) and 0.15 (b)

Page 159: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Simple Queuing System to Model the Traffic Flow at the Toll-Gate: Preliminary Results – Wahju Sediono & Dwi Handoko

ISSN 1858-1633 @2005 ICTS

153

(a)

(b)

Fig. 6: Traffic densities for various processing time. The processing time in (b) is about 2.5 times longer than (a) in average

Fig. 7: Change of traffic densities (blue curve) by opening two

additional gates

4. DISCUSSION

The model of simple queuing system is created in accordance with an existing toll-gate in Tomang area, West Jakarta. In a series of computer simulations we have examined several traffic conditions that can happen at the toll-gate. These examinations are carried out by varying parameter values relevant to the real-existing condition on-site. In this case a simple 2,4,2 queuing system is used to model the real-existing situation.

Figure 5 shows the difference of the normalized traffic densities on two different arrivals rates of the vehicle at the toll-gate. The traffic density is defined as the ratio between the number of vehicles and the capacity of the queue in a certain interval time. It can be shown that a higher arrival’s rate (fig. 5a) will result in a higher traffic density.

Another important aspect of a queuing system is the length of the processing time. This processing time includes the elapsed time since a vehicle enters a gate until it leaves the gate again. It is shown in fig. 6 that a longer processing time can be indicated by the higher traffic densities before gate (red curve).

In fig. 7 we can clearly recognize the increasing traffic density in the gate (blue curve) after the half time of the measurement interval. This simulation result shows that the change of the operating toll-gate gives an influence on the traffic density in the gate.

From a series of the above simulations we can see that the traffic density is an important index can be used to characterize the traffic conditions at a toll-gate. The traffic density itself is determined by the combination of at least three factors: the arrival’s rate r, the processing time t at the gate and the number g of the simultaneous operating gates.

5. CONCLUSION

From the previous sections it can be shown that a simple queuing system can be effectively used to model the traffic flow at the toll-gate. This model of a simple queuing system is already included in a software tool, and can be used to make performance tests on the operation of the existing toll-gates. The results of such performance tests can be very helpful in designing or planning new toll-gates.

REFERENCE [1] D. Handoko, Desain Simulator Kendaraan,

Proc. KOMMIT, 2002, B-16 – B20 [2] W. Sediono and D. Handoko, Pemodelan dan

Simulasi Antrian Kendaraan di Gerbang Tol, Proc. Semiloka Teknologi Simulasi dan Komputasi serta Aplikasi 2004, 2004, 11-14

[3] B. Walke, Datenfernverarbeitung II: Verkehrs-theoretische Modell von Echtzeitsystemen und Rech-nernetzen, Aachen; RWTH, 1991

[4] J. N. Daigle, Queuing Theory for Telecommu-nications, Reading; Addison-Wesley, 1992

[5] E. Lieberman and A. K. Rathi, "Traffic Simu-lation", Traffic Flow Theory, Oak Ridge National Laboratory, 1997

Page 160: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

154

MULTIMODAL-ELIZA PERCEIVES AND RESPONDS TO EMOTION

S. Fitrianie and L.J.M. Rothkrantz Man-Machine-Interaction Group, Delft University of Technology

E-mail: s.fitrianie, [email protected]

ABSTRACT A growing number of research programs aimed at

development human-computer dialogues to be more like human-human dialogues. We develop a question answering system that can perceive and respond to user emotions. Based on the famous Weizembaum’s Eliza, the system can communicate with human users using typed natural language. It is able to reply with text prompts and appropriate facial expressions. An experiment has been conducted to determine how many and what kind emotional expressions produced by humans during conversation. Keywords :Weizembaum’s Eliza, human-computer dialogue, emotion 1. INTRODUCTION

Emotions play an important role in communication. They are communication and control systems within the brain that mobilize resources to accomplish the goals specified by our motives. Humans convey their emotion thoughts through verbal and nonverbal behaviors synchronously.

Composing linguistic contents is probably the only method that can simultaneously convey speaker’s belief, intentions, meta-cognitive information about mental state along with the speaker’s emotional state. We are used to convey our thought through our (conscious or unconscious) choice of words. Some words possess emotive meaning together with their descriptive meaning. The descriptive meaning of this type of words along with a sentence structure plays a cognitive role in forming beliefs and understanding.

The instantaneous emotional state is directly linked with the displayed expression 0. Emotion expressions have three major functions: (1) they contribute to the activation and regulation of emotion experiences; (2) they communicate internal states and intentions to others; and (3) they activate emotion in others, a process that can help account for empathy and altruistic behaviour. The human face in particular serves not only communicative functions, but they are also the primary channel to express emotion. Each facial expression provides very different

information. Seeing faces, interpreting their

expression, understanding the linguistics contents of speech are all part of our development and growth.

Many researchers showed that the capability of communicating with humans using both verbal and nonverbal behaviors will make the interaction more intimate and human-like 000. Using facial displays as means to communicate have been found to provide natural and compelling computer interfaces 000. The challenge is that facial expressions do not occur randomly, but rather are synchronized to one’s own speech or to the speech of other 00.

As a proof of concept, we developed a demonstrator of a multimodal question answering system based on the famous Eliza program 0. The system simulates human-human conversation using typed natural language. It is capable to reason about emotions in the natural language. This system will show a facial expression for each user input as its stimulus response. Subsequently, it will give a natural language reply together with an appropriate facial expression to convey emotional content. Our developed system has a list of facial expressions that corresponds to possible emotions.

2. NATURAL LANGUAGE

PROCESSING As most of question answering (QA) systems

nowadays, Eliza worked by simple pattern matching operation and substitution of keywords 0. It used two transformation rules that were associated with certain keywords: (1) a decomposition rule serves to decompose an input string according to a pattern; and (2) a reassemble rule serves to reassemble a reply sentence. The original approach had three problems 0: (1) lack of anaphoric analysis, it could not use previous conversation to keep the continuity of the content and to store information about user; (2) lack of ability to restrict the conversation on its topic and (3) lack of ability to get the meaning beyond the sentence.

Wallace proposed to use an extended-XML script, called AIML to control his QA system, A.L.I.C.E 0. AIML has two additional transformation rules: (1) a current conversation topic pattern rule; and (2) a history pattern rule that refers to the system’s previous reply. In addition, using XML syntax, we can add tags to retrieve information about users from conversations and use it in the next dialogues. The matching operation searches the best match input pattern. It will search first in the same conversation topic and the same history pattern. By this way, A.L.I.C.E has more

* The research reported here is part of the Interactive Collaborative Information Systems (ICIS) project, supported by the Dutch Ministry of Economic Affairs, grant nr: BSIK03024

Page 161: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Multimodal-Eliza Perceives and Responds to Emotion – S. Fitrianie & L.J.M Rothkrantz

ISSN 1858-1633 @2005 ICTS

155

possibilities of reply sentences based on their topic and history than Eliza. Our developed QA system uses Wallace’s pattern matching operation.

3. ADDING NONVERBAL BEHAVIOUR

Our developed system is capable to extract emotion indications (or emotion eliciting factors) from a dialog. The system will reason the results to trigger one of possible displayed expressions. As a reference, we have performed an experiment to determine a list of possible expressions applied by our QA system.

3.1. Dialog Processing Our prototype extracts emotion-eliciting factors

from a dialog using two approaches. First, the system analyzes the choices of words in a string. For this purpose, we developed an emotive lexicon dictionary. Currently, it consists of 347 emotion words merged from 000. Based on 0, the words were depicted into eight octants of valence-arousal (see table 1). For some ambiguous emotion words, we used a thesaurus to figure out the closeness semantic meaning of the words with other words within an octant. A parser matches the string against the dictionary and calculates a counter (C) for “pleasant” and “unpleasant” using the following equation:

∀ li ∈ di| Ci(t) = Ci(t-1) + Ii . s ∀ j ≠ i| Cj(t) = Cj(t-1) – Ii/3 Where, l is the lexicon and d is the dictionary, i is

the active pleasantness, I is the lexicon’s arousal degree, s is a summation factor, and j is [pleasant, unpleasant]. The system will take the counter with the highest values. <category> <affect name=”neutral”> <pattern>WHAT IS YOUR NAME</pattern> <that>*</that> <template> <setconcern>pleasant</setconcern> <setaffect>pleasant</setaffect>My <set_topic>name</set> is <bot name=”name”>. </template> </affect></category> <topic name="NAME"> <category> <affect name=”unpleasant”> <that>MY NAME IS *</that> <pattern>YOUR *</pattern> <template><random> <li><setconcern>pleasant</setconcern> I am sorry, but tell me your name.</li> <li><setconcern>unpleasant</setconcern> I am sorry, tell me what happened.</li> </random> </template> </affect></category> ...

Figure 21. Example units in the AIML database.

Finally, the system extracts the dialog emotional situation. For this purpose, we added two labels in the AIML scheme (see figure 3): (1) a label to distinct a user’s emotional situation “<affect>”; and (2) a label

to distinct the system’s emotional situation “<concern>”. These labels describe a type of a valance (neutral, pleasant or unpleasant) or a sign of a joke. By these additional tags, the input pattern matching operation searches first then not only in the same conversation topic and the same history pattern, but also in the same user’s emotional situation. By this way, the tag also indicates the conversation’s emotional situation.

3.2. Emotion Expression (Experiment) How many and what kind of displayed emotional

expressions are used in conversation poses a non-trivial question. Many theorists and psychologists tried to categorized emotion types, e.g. 000. An experiment has been performed to recognize the most expressive facial expressions used in conversations. This experiment also addressed to figure out what kind objects, events, and actions that triggered these expressions.

We recorded four dialogs of two participants. The participants were requested to perform dialogues about different topics and show as many expressions as possible. The video recordings were amounted. As a first step, three independent observers marked the onset and offset of an expression. In the next step, these expressions were labelled according to the context. The agreement rates between the observers in both steps were about 73%.

The experimental results indicated that our participants showed most of the time a neutral face. However, we managed to capture in total 40 different facial expressions; about 20-35 different expressions per participant in each dialog. The results also showed that the expressions were dependent not only on the choices of words but also on the context of the conversation. A word could mean different things according to the context of the conversation. Thereby, the speaker or the listener might display different facial expressions.

Our experimental results were endorsed by an experiment conducted by Desmet 0. He found 41 displayed emotion expressions actually used to appraise a product (table 1 – our experimental results did not have “greedy”). Based on 0, he depicted these expressions in two dimensions degree of “pleasantness” (valence) and “activation” (arousal).

Table 2. Emotions in Eight Octants, modified from 0 No Valence-Arousal Emotion Expressions 1. Neutral-Excited Curious, amazed, avaricious,

stimulated, concentrated, astonished, eager.

2. Pleasant-Excited

Inspired, desiring, loving

3. Pleasant-Average

Pleasantly surprised, fascinated, amused, admiring, sociable, yearning, joyful

4. Pleasant-Calm Satisfied, softened 5. Neutral-Calm Awaiting, deferent 6. Unpleasant- Bored, sad, isolated,

Page 162: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

156

No Valence-Arousal Emotion Expressions Calm melancholy, sighing Unpleasant-Average

Disappointed, contempt, jealous, dissatisfied, disturbed, flabbergasted, cynical

Unpleasant-Excited

Irritated, disgusted, indignant, unpleasantly surprised, frustrated, greedy, alarmed, hostile

3.3. Facial Expression Generation Based on the findings in the experiment, in this

work we adopted the work of 0. Current developed QA system has 41 static facial expressions depicted in eight octants of valence-arousal in the table 1. User: What is your name?

Eliza

Eliza:

My name is Eliza.

User: I hate you.

Eliza

Eliza:

Why? Did I do something wrong?

User: Your name reminds me to my ex-girlfriend who cheated on me.

Eliza

Eliza:

I am sorry, but tell me your name.

Figure 22. A dialog fragment between a user and Eliza

Figure 2 displays an example of a dialog fragment

between our QA system (Eliza) and its user. When the system receives a user string input, it displays a facial expression as its stimulus response. Another facial expression is displayed to convey the system’s reply sentence. The system uses one to one corresponding facial expressions and emotions. The following section explains how the system reasons its own emotional state.

4. EMOTION REASONING

Figure 23. Emotion Model

Figure 3 shows the emotion model of our

prototype QA system. The system was designed to have an agreeable personality. We describe each component of the emotion model in the following.

Emotion Eliciting Factors Interpretation Besides extracting emotion indications in a dialog

(see section 3.1), based on 0, the system also assesses whether its current goal is achieved, whether the situation upholds or violates its principles, and whether the preferences are gained. For this purpose, we defined the system’s properties and rules that define its goals, principles, and preferences. For example: If (a user says bad words) then principle is

violated If (a user was sad and now is happy) then

goal is achieved Stimulus Response

We defined rules for the system’s stimulus response on the emotion eliciting factors in user’s input and the system’s current mood. An example of these rules is: If (input pleasantness (C) is pleasant-calm) and (<affect> is not unpleasant) and (goal is achieved) and (preference is neutral) and (principle is neutral) and (system current mood is happy) and (system emotion activation is calm) Then system response is satisfied

Cognitive Processing The cognitive processing involves in creating a

reply sentence and a response that conveys the reply. To determine the response, we also defined rules based on the system’s mood and the emotion eliciting factors in both the user’s input and the system’s reply. For example: If (input C is unpleasant-excited) and (<affect> is unpleasant) and (goal is not achieved) and (preference is neutral) and (principle is neutral) and (system mood is happy) and (system emotion activation is calm) and (reply C is unpleasant-excited) and (<concern> is unpleasant) Then system response is alarmed Mood

To design the system’s mood (or an emotion that last longer), it is necessary to observe the intensity of the system’s emotional state during conversation. To simplify, our prototype uses six affective thermometers classified by six Ekman’s universal emotions: happiness, sadness, anger, surprise, disgust, and fear 0. They change their value affected by the result of the cognitive processing. If an expression is active, the system will check its correspondence with the universal emotions based on table 2. It calculates all thermometers (T) using the following equation: Ti(t) = Ti(t-1) + Ii . s ∀ j ≠ i| Tj(t) = Tj(t-1) - distance[j, i] Where, i is the active universal emotion type, s is a

summation factor, I is the emotion expression’s arousal degree, and j ranges over all universal emotion types in table 2. The distance between two universal

Page 163: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Multimodal-Eliza Perceives and Responds to Emotion – S. Fitrianie & L.J.M Rothkrantz

ISSN 1858-1633 @2005 ICTS

157

emotions follows the work of Hendrix and Ruttkay (see table 3) 0. The emotion type with the highest value of the thermometers is considered as the system’s current mood. The mood and its value (as the emotion’s activation –calm, average or excited) are used in both knowledge bases to reason the system’s emotional state.

Table 3 Universal emotions-Emotion Expressions

Universal Emotions

Emotion Expressions

Happy Inspired, desiring, loving, fascinated, amused, admiring, sociable, yearning, joyful, satisfied, softened

Sad Disappointed, contempt, jealous, dissatisfied, disturbed, flabbergasted, cynical, bored, sad, isolated, melancholy, sighing

Surprise Pleasantly surprise, amazed, astonished Disgust Disgusted, greedy Anger Irritated, indignant, hostile Fear Unpleasantly surprised, frustrated, alarmed Neutral Curious, avaricious, stimulated,

concentrated, eager, awaiting, deferent

Table 4. Distance values between emotions 0

Happiness

Surprise

Anger Disgust

Sadness

Happiness 0 3.195 2.637 1.926 2.554 Surprise 0 3.436 2.298 2.084 Anger 0 1.506 1.645 Disgust 0 1.040 Sadness 0

5. CONCLUSION

Our question-answering (QA) system is a computer model for a multimodal communication system, a combination of natural language processing and nonverbal communication. The use of AIML schemes for the dialog component and the rule-based approach for the emotion reasoning give opportunities for us to extend both the dialog capability and the system’s behaviours.

Our experimental results found 40 emotion expressions (from 41 emotion expressions described in 0) displayed by humans during conversation. The result also indicated that these expressions were influenced both by choices of words and by the content of the conversation. Our prototype is able to reason its own emotional state in each dialog and link it to one of the 41 emotion expressions.

Future work will be done in extending the system with a multimodal interface instead of the typed text interface currently used. The system can then extract emotion cues from speech prosody, facial expressions, and body movements to have a more accurate indication. Furthermore, the static facial displays used in current prototype will be replaced by a 3D animated talking face that has been developed within our group 0.

REFERENCES [1] Cassell J., Pelachaud C., Badler N., Steedman

M., Achorn B., Becket T., Douville B., Prevost S., & Stone M., Animated Conversation: Rule Based Generation of Facial Expression, Gesture, and Spoken Intonation for Multiple Conversation Agents, Proc. Of SIGGRAPH’94, 1994.

[2] Ekman P. & Friesen W.V., Unmasking the Face, Prentice Hall, USA, 1975.

[3] Ekman P., Basic Emotions, In Dalgleish T. & Power M., (Eds). Handbook of Cognition and Emotion, UK: John Wiley & Sons, Ltd., 1999.

[4] Elliott C., Using the Affective Reasoner to Support Social Simulations, Proc. of IJCAI’93, 194-200, France, 1993.

[5] Davitz J.R., The Language of Emotions, Academic Press, New York, 1969.

[6] Desmet P., Designing Emotion, Doctoral Dissertation, Delft University of Technology, 2002.

[7] Fehr B. & Russel J.A, Concept of Emotion Viewed from a Prototype Perspective, In Journal of Experimental Psychology, 113: 464-486, 1984.

[8] Frijda N.H., The Emotions, Cambridge University Press, Cambridge, 1986.

[9] Hendrix J. & Ruttkay Zs.M., Exploring the Space of Emotional Faces of Subjects without Acting Experience, ACM Computing Classification System, H.5.2, I.5.3, J.4, 1998.

[10] Kiesler S. & Sproull L., Social Human Computer Interaction, Human Values and Design of Computer Technology, Friedman B., ed., CSLI Publications: Standford, CA, 191-199, 1997.

[11] Lee K., Integration of Various Emotion Eliciting Factors for Life-Like Agents, ACM Multimedia ’99, Part II, 155-158, 1999.

[12] Nagao K. & Takeuchi A., Speech Dialogue with Facial Displays: Multimodal Human-Computer Conversation, Proc. Of ACL'94, 102-109, USA, 1994.

[13] Ortony A., Clore G., & Collins A., The Cognitive Structure of Emotions, Cambridge University Press, 1988.

[14] Pelachaud C. & Bilvi M., Computational Model of Believable Conversational Agents, in Communication in MAS: background, current trends and future, Marc-Philippe Huget (Eds), Springer-Verlag, 2003.

[15] Predinger H. & Ishizuka M., Social Role Awareness in Animated Agents, AGENT’01 ACM, 270-276, 2001.

[16] Russell J.A., A Circumplex Model of Affect, Journal of Personality and Social Psychology, 39(6):1161-1178, 1980.

Page 164: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

158

[17] Schiano D.J., Erlich S.M., Rahardja K., & Sheridan K., Face to Interface: Facial Affect in (Hu)man and Machine, Proc. of. ACM CHI'00 Conference on Human Factors in Computing System, 193-200, NY: ACM, 2000.

[18] Simmons R.F., Computational Linguistic Natural Language Question Answering System: 1969, Communications of the ACM, 13(1):15-29, 1970.

[19] Wallace R., Alicebot, http://www.alicebot.org, 1995.

[20] Weizenbaum J., ELIZA – A Computer Program for the Study of Natural Language Communication between Man and Machine, Communication of ACM, 9(1):36-45, 1966.

[21] Wojdel A. & Rothkrantz L.J.M., A Text Based Talking Face, Proc. of TSD’00, Czech Republic, 2000.

Page 165: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

159

MOTOR DC POSITION CONTROL BASED ON MOVING SPEED CONTROLLED BY SET POINT CHANGING USING FUZZY LOGICS

CONTROL SYSTEM

Andino Maseleno 1, Fajar Hayyin 2, Hendra3, Rahmawati Lestari 4, Slamet Fardyanto 5, Yuddy Krisna Sudirman 6

1Informatics Engineering, National Development University “Veteran”, Yogyakarta Jl. Babarsari No.2 Yogyakarta 55281, Indonesia

4Electronics Engineering, Indonesian Islamic University, Yogyakarta Jl. Kaliurang Km.14,5 Yogyakarta, Indonesia

6,5,3,2 Industrial Engineering, National Development University “Veteran”, Yogyakarta Jl. Babarsari No.2 Yogyakarta 55281, Indonesia

[email protected], [email protected], [email protected], [email protected], [email protected], [email protected]

ABSTRACT One of motor DC function is uses for position

control. It is extremely need high accuracy to reach the position. Therefore, a control system that able to arrange motor DC position as we like is needed. There is one familiar control system in nowadays which is implemented on microcontroller using fuzzy logics control system. These fuzzy logics system had 2 crisp input which is; error position (e_pos) and position change (d_pos) and had a 1 crisp output is voltage changing. Each function membership has 5 labels then uses 25 basis rules. Defuzzification using mean of maxima methods. Defuzzification output resulted by microcontroller as digital bits that converted by DAC (Digital Analog Converter) into analog as voltage. This voltage will operate the motor DC. The Feedback system came from output of position sensor as pulses. Respond system tested with various set points, the result already shown a quite good respond. Fuzzy logics control had a high level of accuracy and softer in dealing with respond, changing set point value for instance. Keywords : Motor DC, Fuzzy logics, Microcontroller 1. INTRODUCTION

Recent days, motor DC as driver system still play an important role because it controllable. In this case we try to change motor DC into position driver. This system need a highly accuracy in order to reach the correct position. A good motor positioning control system is needed so motor able to move to whatever direction we want. There is so many control system. Fuzzy logics control gives an alternative control system. Fuzzy logics system done by extract rules so appropriate with mind though and human knowledge both; operator or expert, so we does need math model.

Fuzzy logics recently successfully made a brake through to all the problems ever met and soon become

a high technology basic. In application, it belief that capable to create a revolution in technology. Implemented on control system is a innovation brake through in control system. Because control system using fuzzy more precise than digital control system that only control on / off on some device. This research focus in effort to build a motor DC position control system using microcontroller AT89C52. Microcontroller able to cover industrial needs and recently many used, compiler assembler and supporting device easy to get. 2. FUZZY LOGIC

Basically, fuzzy logics used to reveal all the logics structure limitations that only had two points of view which is true or false. Fuzzy logics try to make a solution to links those condition that unable to dissolve only using statement yes or no but also give other description or between conditions yes or no in math.

2.1. Fuzzy Set Universes of discourse define fuzzy set into basic theory fuzzy set. For a universes of discourses U, Fuzzy compilation based on memberships function located U universes of discourse membership into some degree that had value among 0 and 1.

Membership function is a curve that shows math on data input points to membership value that had interval between 0 and 1. Membership function usually used in real live is: a. S Membership function

µ[x] =

[ ][ ]

⎪⎪

⎪⎪

>≤≤−−−

≤≤−−

<

cucubaccu

buaacau

au

1)(/)(21

)(/)(2

0

2

2

Page 166: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

160

Defuzificatio

Control Rule

Fuzzification

µ 1 0,5 0 a b c

Figure 1 S Membership function

b. Linear membership function Input mapping to membership degree figures as straight line.

0 x ≤ a

µ[x] = (x-a) / (b-a) a ≤ x ≤ b

1 x ≥ b

µ 1 0 a b

Figure 2 Linear membership function

c. Triangle Membership Function Triangle curve basically is a merge between 2 linear lines.

µ[x] =

µ 1 0 a b c

Figure 3 triangle membership functions

d. Trapezium Membership function Basically, Trapezium membership similar as triangle form, only some other spot that had 1 memberships.

µ[x] =

µ 1 0 a b c d

Figure 4 Trapezium membership function

2.2. Fuzzy Logics Control In general, Fuzzy logics control is close loop

system. Basic fuzzy logics control contained fuzzification unit, decision maker mechanisms and inference system, and defuzzification unit, shown at the next figure.

Crisp Output Fuzzy Output

Crisp Input Fuzzy Input Figure 5 basic structure of fuzzy logics control

3. SYSTEM PLANNING

Set point (SP) set through the keypad. Set point will send into minimum system, set point will decreased by present value (PV) that powered by position sensor resulting error position (e_pos) in the minimum system. Although position changing (d_pos) are recent error score (e(t)) minus by previous error score (e (t-1)). These two input gained by position sensor output. The number of pulse that enters from sensor divided to show recent motor movement. Error position and position change are fuzzification inputs.The Concept

⎪⎪⎩

⎪⎪⎨

>≤≤−−≤≤−−

<

cxcxbbcxcbxaabax

au

0)(/)()(/)(

0

⎪⎪⎪

⎪⎪⎪

≥ ≤ ≤−−≤ ≤ ≤ ≤−−

d x dx c cdxdcx b bx a abax

a x

0)(/)(

1)(/)(

0

Page 167: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Motor DC Position Control Based on Moving Speed Controlled by Set Point Changing Using Fuzzy Logics Control System – Andino Maseleno, Fajar Hayyin, Hendra, Rachmawati Lestari, Slamet Fardyanto, & Yuddy Krisna Sudirman

ISSN 1858-1633 @2005 ICTS

161

Fuzzy Logic Control (FLC) System contained fuzzification parts, inference, and defuzification. As the system revenue is a defuzzification process that consider by 8 bit binary as DAC input. DAC output will amplify in motor amplifier and the result is

voltage to activate the motor. Each PV change will decrease with SP and the result is error position that will be fuzzification input with position change in that time again, that so over until the same error with zero or approximately zero.

Figure 6 Diagram block Motor DC position Control system

Figure 7 Error Position Membership function (e_pos)

Figure 8 Position change membership function

System µC AT89C52

FLC

Position Sensor

MOTOR DC

SET POINT DAC

DISPLAY

Amplifier

Position Counter

and

d_pos pos

e_pos

pos

NB NS Z PS PB

0

50 100 150 200 250 300

- i70 - 85 0 170 255Error position

85- 255

Note: NB = negative big membership set NS = negative small membership set Z = zero membership set PS = positive small membership

0

50

100

150

200

250

300

-255

-32

-65

0 -32 -65

-255Position change d_pos

Note: NB = negative big membership set NS = negative small membership set Z = zero membership set PS = positive small membership

Page 168: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

162

µF (output) 255 NB NS Z PS PB

0 64 128 192 255

Output Figure 9 Output membership function

Figure 10 Fuzzification Flowchart

Set point (SP) set through the keypad. Set point

will send into minimum system, set point will decreased by present value (PV) that powered by position sensor resulting error position (e_pos) in the minimum system. Although position changing (d_pos) are recent error score (e(t)) minus by previous error score (e (t-1)). These two input gained by position sensor output. The number of pulse that enters from sensor divided to show recent motor movement. Error position and position change are fuzzification inputs.

Fuzzy Logic Control (FLC) System contained fuzzification parts, inference, and defuzification. As the system revenue is a defuzzification process that consider by 8 bit binary as DAC input. DAC output will amplify in motor amplifier and the result is voltage to activate the motor. Each PV change will decrease with SP and the result is error position that will be fuzzification input with position change in that time again, that so over until the same error with zero or approximately zero.

3.1. Fuzzy Logic Control (FLC) System Planning

FLC inputs FLC inputs came from sensor position in pulse.

From the sensor then formed two inputs which are error position (e_pos) and position change (d_pos). Error position (e_pos)

Error position is a difference between set point position (SP) and actual position (PV).

Error position (e_pos) = Set point (SP) –

Position (PV) (3.1)

Set point revenue by keypad that had a score between 0o – 360o with 8 bit resolution powered by microcontroller AT89C52 is 0 until 255. Position Change (d_pos)

Position change is a difference between recent error value and previous error value.

d_pos = e (t) – e (t-1) (3.2)

Start

e_pos = ( SP – PV )

d_pos = (e(t)) – ( 1))

Look at position error and position change b hi bl

Finish

Page 169: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Motor DC Position Control Based on Moving Speed Controlled by Set Point Changing Using Fuzzy Logics Control System – Andino Maseleno, Fajar Hayyin, Hendra, Rachmawati Lestari, Slamet Fardyanto, & Yuddy Krisna Sudirman

ISSN 1858-1633 @2005 ICTS

163

d_pos shows position change with an interval as big as sampling value that had been done.

Determine Membership Function Membership function derived by using trial and

error method. Fuzzy set membership stated in function definition, by analyze to determine membership degree for each element in universes of discourse.

Universes of discourse value amount in 0 until 255 that shows the lowest and highest value in microcontroller count. It also had other limitation which incapable to operate in negative sense and will be acquainted into positive. Error position membership

Fuzzy membership function had different form depends on planning demand. Fuzzy membership function for error position input is five memberships set in triangle form as follows.

Maximum membership function degree is not made to be same value with 1 but same value with 255, to use microcontroller resolution, so this membership degree became abnormally.

Maximum membership function degree is not made to be same value with 1 but same value with

255, to use microcontroller resolution, so this membership degree became abnormally. Position change membership (d_pos)

Using five memberships set in triangle form shows in Figure 8. Output membership

Output membership function is five fuzzy singleton set had the same label with error and d_pos. Fuzzification

Mapping from domain analog to domain fuzzy set. Fuzzy Set input is position error (e_pos) and position change (d_pos), fuzzification flowchart can be shown on figure 10.

After result fuzzy score from measurement. Thus, the next step is mapping data into appropriate fuzzy set with the result that gathering certain membership degree for a membership set. The process doing by function form for each fuzzy set or using table, it used

Table 1 Fuzzy logic control rule Condition Rule no -

Position Change (d_pos)

Output

1 Positive Big Negative Big Negative Big 2 Positive Big Negative Small Negative Big 3 Positive Big Zero Negative Big 4 Positive Big Positive Small Negative Small 5 Positive Big Positive Big Zero 6 Positive Small Negative Big Negative Big 7 Positive Small Negative Small Negative Big 8 Positive Small Zero Negative Small 9 Positive Small Positive Small Zero 10 Positive Small Positive Big Positive Small 11 Zero Negative Big Negative Big 12 Zero Negative Small Negative Small 13 Zero Zero Zero 14 Zero Positive Small Positive Small 15 Zero Positive Big Positive Big 16 Negative Small Negative Big Negative Small 17 Negative Small Negative Small Zero 18 Negative Small Zero Positive Small 19 Negative Small Positive Small Positive Big 20 Negative Small Positive Big Positive Big 21 Negative Big Negative Big Zero 22 Negative Big Negative Small Positive Small 23 Negative Big Zero Positive Big 24 Negative Big Positive Small Positive Big 25 Negative Big Positive Big Positive Big

Page 170: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

164

to mapping error position membership degree (e_pos) and position change membership degree (d_pos).

The table system choose because easier, simple and quick these and because there is no arithmetic process. The system lack ness is using a lot of memory, but it does matter because there is enough memory. Inference (Rule Base)

The Used Fuzzy Logic rules depend on the control system. There is no exact formulation in determine fuzzy rules and input/ output membership function.

Fuzzy rule base in these control based on “if – then” rule, able to shows rule and relation between position error, position change, and output. The planning is using MAX-MIN method. Defuzzification

Defuzzification process is final part of fuzzy logic set for purpose in mapping fuzzy set from inference result into the real value. Mean of Maximum (MOM) used because operationally usable. Defuzzification

solution observed by taking average domain score which has maximum membership score.

Defuzzification membership set is fuzzy singleton set. It use to simplify the system and easier the count.

Recent defuzzification output used to control the voltage to arrange motor position. If output is positive then the voltage will increase and if output is negative then voltage will decrease. Software Planning

Fuzzy logic control process doing by the program made using assembler language for microcontroller AT89C52. These Program reading actual data from position sensor which presentate motor position then compare with the set point and processing contain fuzzification, inference and defuzzification. Fuzzy result continued to DAC to control motor position. System responds shows in graphic against time.

4. RESULT AND DISCUSSION

Control system using Fuzzy Logic planned to gather the correct motor DC position control system for variety set point score (the position we want to).

Control system had been tested for variety set point score in this research.

YES

NYES

YES

YES

YES

Start

Initialization

Check FLC ?

FLC

Activate sampling timer

Save data in RAM & display

Start button pushed?

Turn off sampling timer

Stop button pushed?

Keypad pushed ?

Number button pushed?

N

N

N

N

Figure 11 Main Program Flowchart

Page 171: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Motor DC Position Control Based on Moving Speed Controlled by Set Point Changing Using Fuzzy Logics Control System – Andino Maseleno, Fajar Hayyin, Hendra, Rachmawati Lestari, Slamet Fardyanto, & Yuddy Krisna Sudirman

ISSN 1858-1633 @2005 ICTS

165

4.1. Digital To Analog Converter (DAC) The planning system is using 1(one) DAC 0832

function as input voltage control for motor driver. Next is DAC testing table with variety binary input.

Table 2 DAC testing table

No. Input (Binary)

Output (V) Measured

1. 0000 0000 0 2. 0000 0010 - 2.42 3. 0001 0000 - 2.23 4. 1000 0000 0.65 5. 1111 1111 2.6

4.2. Motor Driver Motor driver circuit input is Digital to Analog

Converter (DAC) output. Motor driver circuit process analog signal in voltage from DAC to control appropriate motor spinning.

For direction control application using microcontroller, is using transistor as in figure 12, contained 4 transistors with Darlington configuration in each transistor contained 2 transistors which is Tip 31A and C9013 for NPN, and Tip 32A and C9012 for PNP.

4.3. Position Sensor There are 2 sensors to distinguish left or right

spinning direction. Sensor circuit contained optocoupler, encoder, lm358 as comparator, and 74HC14 (schmit trigger). Optocoupler

Optocoupler is an optic sensor, which is capable to change light effect into electric pulse. Inside the optocoupler contained infrared LED and phototransistor. If optocoupler activated, it able to transfer electric energy from infrared LED to phototransistor.

For further if infrared light is block then basis collector obstacle getting bigger so collector current decrease and collector voltage closing 0 volt, electric transfer will cut off.

Figure 12 Two direction position sensor output

Encoder Plastic plate giving black and white stripes on plate

fingers with same distance in 180 lines. Each line will read by optocoupler in pulses. To distinguish direction then the line made up and down with different pattern. 74HC14 (Schmitt Trigger)

IC 74HC14 function as square wave inverter amplifier. The imperfect square wave related to Schmitt trigger 74HC14 input, in order to gather the perfect square wave.

4.4. Display Unit To display set point and motor position using 6

seven segment common cathode. IC input Port came from port B PPI 8255 used as data sender. Display unit using IC CMOS 4511 with BCD input and as decoder that separate set point display and position used by 74HC138.

The output data from microcontroller in 8 bit binary will be split into 2 parts. First part contains 4 bit (A – D) used as IC CMOS 4511 input to display at seven segment. The next 4 bit (D0 – D3) used as IC 74HC138 input to address which seven segment will turn on.

4.5. Testing Result Table This test is to watch the system respond against

given set point score. Testing doing by giving variety set point.

Table 3 Testing Result in variety set point

No. Set point

Position Error (%)

1. 100 100 - 2. 450 448 2 3. 250 250 - 4. 180 184 4 5. 360 360 - 6. 300 302 2 7. 20 22 2 8. 128 128 - 9. 99 100 1 10. 75 74 1

5. CONCLUSION

Based on testing result and system analyze, conclusion of all these is: 1. Fuzzy logic control relative easier to be

implemented because doesn’t need math model but operate based on rule that extractable from experience and operator skill.

2. Fuzzy logic control system very sensitive against membership function variables, fuzzy rule and input variable type, because those variables influence parameter size from position and position change.

Page 172: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

166

3. More fuzzy set and membership from each fuzzy set will get higher accuracy level and softener in dealing with respond.

4. Fuzzy logic control has higher accuracy level and softener in dealing with respond, for example; with set point score change.

Page 173: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

167

A VARIABLE-CENTERED INTELLIGENT RULE SYSTEM

Irfan Subakti Department of Informatics, Faculty of Information Technology

Institute Technology of Sepuluh Nopember Surabaya (ITS) Kampus ITS, Keputih, Sukolilo, Surabaya, Indonesia

email: [email protected]

ABSTRACT A Rule-based System (RBS) is a good system to

get the answer of What, How, and Why questions from the rule base (RB) during inferencing. Answers and explanations are properly provided. The problem with RBS is that it can’t easily perform the knowledge acquisition process and it can’t update the rules automatically. Only the expert can update them, manually, by the support of a knowledge engineer. Moreover most researches in RBS concern more about the optimization of the existing rules than about generating new rules from them. Rule optimization, however, can’t change the result of the inferencing, significantly, in term of knowledge coverage. Ripple Down Rules (RDR) came up to overcome the major problem of expert systems: experts no longer always communicate knowledge in a specific context. RDR allows for extremely rapid and simple knowledge acquisition without the help of a knowledge engineer. The user doesn’t ever need to examine the RB in order to define new rules: the user only needs to define a new rule that correctly classifies a given example, and the system can determine where the rule should be placed in the hierarchy. The limitation of RDR is the lack of powerful inference. RDR seems to use Depth First Search which lacks the flexibility of question answering and explanation accrued from inference.A Variable-Centered Intelligent Rule System (VCIRS) is our proposed method. It hybridizes RBS and RDR. The system architecture is adapted from RBS and obtains advantages from RDR. This system organizes the RB in a special structure so that easy knowledge building, powerful knowledge inferencing and evolutional improvement of system performance can be obtained at the same time. The term “Intelligent” stresses that it can “learn” to improve the system performance from the user during knowledge building (via value analysis) and refining (by rule generation). Keywords : Rule-based Systems, Ripple Down Rules, knowledge building, knowledge inferencing, knowledge refining 1. INTRODUCTION

A knowledge-based system with knowledge structured by rules is called RBS, alternately called an expert system. The place that stores rules is called a KB. A KB can be organized in a variety of configurations to facilitate fast inferencing (or

reasoning) about the knowledge. A “traditional” RBS uses forward and backward chaining during inferencing. Through the inference process we can obtain answers to such questions as: What is the result of the inference process? How does it do it? Why can it do it? It has been proposed that expert knowledge is always provided in a context and should therefore be used in the context [1]. Knowledge acquisition (KA) methodologies have been proposed to capture and use knowledge in contexts. Thus, in RBS, the expert has to communicate knowledge in a specific context.

RDR is a KA method which constrains the interactions between the expert and a shell to acquire only correct knowledge [6]. RDR overcomes the major problem of expert systems: experts no longer always communicate knowledge in a specific context. In RBS it is assumed that the context is the sequence of rules which have been evaluated to give a certain conclusion [2]. RDR allows for extremely rapid and simple KA without the help of a knowledge engineer; by providing an extensive support to the user in defining rules [1]. And this is where RDR systems gain their power compared to traditional RBS [5]. The user does not ever need to examine the RB in order to define new rules: the user only needs to be able to define a new rule that correctly classifies a given example, and the system can determine where the rule should be placed in the rule hierarchy. In contrary with RBS, the only KA task in RDR is for the expert to select from a list of conditions. The expert thus has a very restricted task and involves nothing with how knowledge base is structured. An implemented system based on the RDR approach which is now in routine use in a pathology laboratory with knowledge added by experts without the intervention of a knowledge engineer was reported by Edwards et al.[3].

RBS has a well-known limitation: RBS can’t update its rules automatically. Only the expert can update it, manually, by the support of a knowledge engineer. However, RBS can do powerful inferencing to answer a variety of questions such as: What if? How? Why?

On the other hand, even though an RDR system provides extensive help to the user in defining rules and maintaining the consistency of the RB, RDR has a limitation in knowledge inferencing. RDR seems to use Depth First Search (DFS) to traverse its nodes during inference. It limits the flexibility of question

Page 174: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

168

answering and explanation accrued from inferencing as presented in the RBS.

The limitation of RBS (i.e., experts update rules manually) and the advantage of RDR (i.e., it allows for extremely rapid and simple KA without the help of a knowledge engineer) are the basic motivations for this paper. Another motivation is a desire to empower the existing rules in the KB by generating new rules, in contrast to optimizing those rules.

RBS is a good system to get the answers of What, How, and Why questions from the RB during inferencing. Answers and explanations are properly provided. The problem with RBS is that it can’t update the rules automatically. Only the expert can update them, manually, by the support of a knowledge engineer.

RDR can generate rules by adding exceptions caused by misclassified cases with respect to the cornerstone cases. Rules are never deleted from an RDR RB. The KA process does not need the help of a knowledge engineer. However, it needs the expert to correct misclassified cases into exceptions. The limitation of RDR is the lack of powerful inference. Unlike RBS which is equipped with inference through forward and backward chaining, RDR seems to use Depth First Search (DFS), which reduces the flexibilities of question answering and explanation stemmed from inferencing.

Moreover most researches in RBS concern more about the optimization of the existing rules than about generating new rules from them. Rule optimization, however, can not change the result of inferencing, significantly, in terms of knowledge coverage. Updating rules to increase coverage is usually done manually by the expert.

Simplification of knowledge building is achieved by providing the user with the simple steps in the knowledge building process. The user doesn’t need to consider about the knowledge base structure and can update knowledge base directly, like RDR does. The system will guide the user during the knowledge building process.

Empowering knowledge inferencing is achieved by providing the user with a guideline (i.e., the result of variable and value analysis), so that the user knows the order of importance and usage of the cases from the knowledge base. And the RBS-based inferencing is equipped too, so that the user can regain flexibility of inferencing.

Evolutionally performance improving is achieved by providing the user with the structure which supports variable and value analysis for new rule generation. Rule generation improves the coverage of domain knowledge. Moreover, value analysis also guides the user during knowledge building and inferencing. Along with rule generation, this capability can improve the system performance in terms of knowledge inferencing.

As stated before, most researches in RBS are

concerned about the optimization of rules through machine learning methods such as C4.5, since they produce an optimal tree [7]. Suryanto and Compton [10] proposed Invented Predicates, a machine learning technique that could speed up KA. By generalizing the knowledge provided by the expert in order to reduce the need for later KA. This generalization is completely hidden from the expert. Forgy proposed the Rete algorithm to improve the speed of forward-chaining rule systems by limiting the effort required to recompute the conflict set after a rule is fired [4]. This method creates a decision tree (network) that combines the patterns in all the rules of the KB. The Rete algorithm is a very efficient method for pattern match problem by reorganizing production rules. Its drawback is that it has high memory space requirements.

Suryanto and Compton proposed to do intermediate concept discovery in RDR knowledge bases [9]. Here, the RDR knowledge base is reorganized by converting Multiple Classification Ripple Down Rules (MCRDR) into flat rules followed by removing redundancy, to facilitate the discovery of intermediate concepts. With this type of RBs, an example (i.e., a case) may have a classification resulting from multiple conclusions in the RB. These conclusions are found by following every path in the RDR tree to the most specific node applicable to the example. The classification is then the set of conclusions from all such nodes. They use a simulated expert to rebuild the MCRDR KBS and apply Duce’s intra-construction and absorption operators in each KA session [8]. It’s interesting; however, they stated that it is not clear whether the compression achieved is a result of the behavior of the expert and may only occur when the expert behaves in particular ways. They found there were not many intermediate concepts to be discovered in their domain (interpreting lipid results in chemical pathology). Considered as a failure, they suggest that it may be worthwhile reconsidering the importance of intermediate concepts. In short, the paper tried to optimize (compress) KBS rules by alleviating possible repetition, redundancy and lack of intermediate concepts. Note that the expert still contributes a lot here.

The rest of the paper is organized as follows. In Section 2, we describe our proposed method, VCIRS. Finally we conclude our research in Section 3.

2. VARIABLE-CENTERED

INTELLIGENT RULE SYSTEM

Fig. 1 illustrates our method, which hybridizes techniques from Rule-based Systems and Ripple Down Rules to form a Variable-Centered Intelligent Rule System (VCIRS). VCIRS has a structure to organize the rule base so that easy knowledge

Page 175: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Variable-Centered Intelligent Rule System – Irfan Surbakti

ISSN 1858-1633 @2005 ICTS

169

building, powerful knowledge inferencing, and evolutional improvement of the system can be obtained at the same time.

Evolutionally performance improving

Variable-Centered Intelligent

Rule System (VCIRS)

Simplify knowledge building

RBS

RDREmpower knowledge inferencing

Figure 1. Proposed Method First, knowledge building is simplified by the

simple steps in the knowledge building process. The user needs no consideration about the knowledge base structure and can update knowledge base directly. VCIRS allows the user to refine or add node into the existing knowledge base. As in RDR, rule refining is the creation of an exception rule to correct a misclassification, while addition refers to adding a new rule at the top level of the tree. The system guides the user during the knowledge building process.

Knowledge inferencing is enhanced by the knowledge (i.e., the result of variable and value analysis) of the order of importance and usage of the cases from the knowledge base. The RBS inferencing mechanism is brought back in VCIRS, so that the user can obtain more answers and explanations from inferencing.

System performance is improved by the rule base structure which supports variable and value analysis for rule generation. Rule generation improves the result of inferencing in terms of knowledge coverage. Moreover, value analysis also guides the user during knowledge building and inferencing. Along with rule generation, this capability can improve the system performance in terms of knowledge inferencing.

We use the term “Intelligent” in VCIRS to stress that it can “learn” from the user, during knowledge building (i.e., value analysis) and refining (i.e., rule generation). Furthermore, rule generation along with the capability of the system which is able to performing RBS inferencing, can evolutionally improve the system performance.

Fig. 2 shows the architecture of VCIRS which adapts the traditional RBS architecture

A Variable-Centered Rule Structure is used to represent knowledge base and supports the Refinement Module to maintain an up-to-date knowledge base. It also records cases and their occurrence. The fundamental element of Variable-Centered Rule Structure is a variable, posted by the user. VCIRS maintain carefully the variable about its values, structure and occurrence. A sequence of variables constitutes a node, while a sequence of nodes composes a rule. Thus, the Variable-Centered Rule Structure contains a rule structure and a node structure centered on variables.

User InterfaceUser

Explanatory System

Questions

Explanations

Facts

Results

Inference Engine

Working Memory

Questions

RefinementModule

ValueAnalysis

VariableAnalysis

RuleGeneration

Expert Expert Interface

Knowledge

Debugging InfoUp-to-dateKnowledge

Base

Variable-Centered

RuleStructure

Refine and Add

Refine and Add

Figure 2. VCIRS architecture

The case presented by the user goes to working

memory during knowledge building, then save permanently into Variable-Centered Rule Structure while the system records the rule information and calculates the occurrence of each case. Then, the rule information recorded is used by Variable Analysis to get the important degree. In other hand the occurrence of each case is used by Value Analysis to get the usage degree. The usage degree will help the user to be a guideline during knowledge building and inferencing for deciding which variable she has to visit first. Along with the important degree, the usage degree will support Rule Generation for producing the new rule/node.

This section describes the system in the algorithmic level.

2.1. Variable-Centered Rule Structure Node Structure

Node

NodeIDNodeCFValue

NodeUsageRateConclusion

N1

VariableVariableID

VariableOrderVarOperator

VarValueCFValueCredit

VariableUsageRate

Figure 3. Node Structure Fig. 3 describes the conceptual graph of Node

Structure. Given a new case posted by the user, from working memory VCIRS enters it in the Node Structure and then uses the Rule Structure as a piece of up-to-date knowledge base. The Node Structure also saves the occurrence of variables and nodes, for usage assignment. A case consists of a set of fields of data as depicted in the Fig. 4.

Page 176: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

170

NodeNodeID

NodeCFValueConclusion

VariableVariableID

VariableOrderVarOperator

VarValueCFValue

N1

Figure 4. Case fields

Each time the user posts her cases, the Node

Structure maintains the values and their positions. This information will be used in usage assignment.

In VCIRS the user is allowed to refine or add node into the existing knowledge base. Rule refining is the creation of an exception rule to correct a misclassification, while addition refers to adding a new rule at the top level of the tree. The system guides the user during the knowledge building process, to be described in detail in next section.

As in RDR, rules (nodes) in VCIRS are never modified or removed. It guarantees the consistency of the data with regard to the philosophy that such a system is the system of “if-then” rules organized in a hierarchy of rules and exceptions (exceptions to rules may themselves have exceptions, etc.) [5]. Even though rules are never deleted from a knowledge base, a rule can be “stopped,” to ignore any conclusions that would normally be generated using the rule. This won’t ignore those obtained from its exceptions (and their exceptions, etc.) however.

As knowledge inferencing in progress, VCIRS uses the Node Structure (and also the Rule Structure) for the structure source. The Rule Structure maintains the rule information, while the Node Structure keeps the information about the occurrence of the saved cases. The user can input facts (cases) and get the result after inferencing. Rule Structure

Rule

NRuleIDNodeID

RuleUsageRate

NodeNodeID

NodeCFValueNodeUsageRate

1 N

VariableVariableID

VariableOrderVarOperator

VarValueCFValueCredit

VariableUsageRate

1

N

ConclusionConclusionValue

1 1

N

Figure 5. The conceptual graph of Rule Structure

Fig. 5 describes the conceptual graph of Rule

Structure. As stated before, cases posted by the user are firstly saved in the Node Structure; it will be then used in the Rule Structure.

2.2. Knowledge Refinement There are 3 tasks in the Refinement Module:

variable analysis, value analysis and rule generation. Variable Analysis

Inside the Variable-Centered Rule Structure the system knows what nodes are shared by rules, and what variables are shared by nodes. The more number of rules a node is shared by; the more important the node would likely be. The same reasoning applies to

the shared variable within the nodes. These facts reveal how important a node/variable

is, while serves as a starting point for generating a new rule, along with value analysis. Value Analysis

Value analysis offered by VCIRS is based on the data entered by the user. The purpose of value analysis is: 1. Give a guideline to the user/the system

during knowledge building, about which rule/node/variable to visit first in rule tree traversing, e.g., the most used rule/node/variable first, followed by the second often used one and so on. This is useful in helping the user decide which cases to enter.

2. Give a guideline to the user/the system during knowledge inferencing, about which rule/node/variable to visit first in rule tree searching, as in knowledge building. This is useful in helping the user focus on most interesting rules/nodes/variables in the knowledge base.

3. Give a guideline to the system, together with variable analysis for the rule generation process. The system thus gets another perspective, in addition to the sharing occurrence from the variable analysis (i.e., node and variable) before deciding to generate a rule. By the result of value analysis the system knows the usage degree of rules/nodes/variables, while from the variable analysis the system will know the important degree of the node/variable within a rule/node. The process of value analysis, called usage

assignment, is to determine the usage degree of rules/nodes/variables in the knowledge base. The usage assignment uses the information stored in the Variable-Centered Rule Structure.

We have three usage degrees. First, Variable Usage Rate (VUR) is used to measure the usage of a variable within a node being posted and used. Second, we use Node Usage Rate (NUR) to measure the usage of a node on firing. The last is Rule Usage Rate (RUR) which measures the usage of a rule on firing. The larger the usage indicator is, the more usage the value is, and vice versa.

Equation (1) calculates VUR for the i-th variable, (2) gives NUR for the j-th node, while (3) defines RUR for the k-th rule.

VURi = Crediti × Weighti (1)

NURj = N

VURN

ij∑1 , VURij for i-th variable in node j(2)

RURk = N

NURN

jk∑1 , NURjk for j-th node in rule k

(3) Where:

Page 177: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Variable-Centered Intelligent Rule System – Irfan Surbakti

ISSN 1858-1633 @2005 ICTS

171

• Crediti = the occurrence of variable i in the Node Structure (4) Credit is obtained from the Node Structure. It

increases when the user creates a node which agrees with the values of the old case. • Weighti = NSi × CDi (5)

Weight calculates the weight of a variable to the node which it belongs to. There are 2 factors which contribute the weight of a variable. The first is the number of nodes sharing a variable, and the second is CD, the degree of closeness of a variable upon a node. • NSi = number of nodes sharing variable i (6)

• CDi = TVVOi (7)

CD stands for Closeness Degree. CDi in node j, calculates the degree of closeness of variable i in node j. The closer a variable is to the conclusion’s node, the better it is. Thus, it based on the order of a variable in a node (note: a node is the sequence of variables). CD is calculated by the order of variable VO, divide by total variables TV, belonging to a node. • VOi = Order of variable i in a node (8) • TV = total variables belong to node (9)

Rule Generation

Rule generation works according to the result of variable and value analysis. Note that from variable analysis we calculate the important degree of a node/variable, while from value analysis we obtain the usage degree of rules/nodes/variables.

Information about shared node/variable from variable analysis is useful to choose a good candidate to make a combination. The most shared node/variable means it is the most important node/variable in the existing knowledge base, because it is used in many places in the recent structure. The most usage degree produced by value analysis means this node/variable has the largest occurrence inside the structure.

Variable combination combines variables to produce a new node, while node combination combines nodes to produce a new rule. These combinations can be done as long as the order of variables/nodes being produced doesn’t break the existing order of variables/nodes in the knowledge base. Because there are many combination possibilities, we present a new approach to perform variable and node combination below.

We generate a rule by combining the nodes in according with the order of the existing nodes in the rules. It’s depicted in Fig. 6.

1. For each of the most important nodes, produced

by variable analysis, select one as the conclusion of a candidate rule. This node becomes the last node of the candidate rule.

2. Compose the preceding nodes according to the relative order of nodes computed by “Computing relative node order algorithm” (Fig. 7).

Concatenate “G” into the <Rule ID> to make it distinct from existing rules, “G’ symbolizing system-generated rule.

3. Present the rule to the user for confirmation before it is saved as an additional rule in the knowledge base.

Figure 6. Rule generation algorithm

The “Computing relative node order algorithm” is

shown in Fig. 7. The structure of this process describes in the Table 1 below.

Table 1. Computing relative node order structure

Step Current

Rule (RUR)

Node Order Queue (NUR)

Rule Used

(RUR)

Pre Candidate

Node (NUR)

Candidate Node

Rule Stack

1 ... ... ... ... ... ...

1. Starting from the rule with the lowest RUR, pick

a rule and place it in CurrentRule. Obtain all the nodes and enter them to NodeOrderQueue.

2. Starting from the first node of NodeOrderQueue. If the node is shared by some other rule, find the rule and enter it to RuleUsed if it is not already in RuleUsed or RuleStack. If more than one rule exists, the node picking will be based on NUR with the lowest one picked first. Get all nodes in the previous order of the node being processed and node itself from all rules in the PreCandidateNode. Remove current node from NodeOrderQueue. Enter the node from PreCandidateNode to the CandidateNode if there’s no exists such the node and base on its order. If the order is the same, the node of lower NUR will be picked.

3. If the rule in RuleUsed has no next nodes, push it into RuleStack and remove it from RuleUsed.

4. If the rule in CurrentRule which has the node being processed has no next nodes, push it into RuleStack, and remove it from CurrentRule.

5. Get a rule from RuleUsed which has the lowest RUR and place it in CurrentRule. If RuleUsed is empty, but there still are rules in the knowledge base that do not appear in RuleStack, pick a rule from them with the lowest RUR. Go to step 2 and do all steps until all rules in the knowledge base appear in RuleStack.

Figure 7. Computing relative node order algorithm

Computing relative node order process is takes a

long time as it checks each rule in n rules of knowledge base. Also if at a node being processed there’re rules sharing this node, the process has to compare each nodes in each shared rules. Thus, the time complexity of this process = O (n × number of rules sharing a node × number of nodes in each shared rules).

Page 178: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

172

As a matter of fact, Fig. 7 also obtains the relative order of rules from the RuleStack by popping the rules from the stack.

During rule generation process we can perform node generation as well. The last variable of a candidate node is obtained from the most important variable. We generate a node by combining the variables according to the relative order of the existing variables in the nodes. The node generations algorithm describe in the Fig. 8.

1. For each of the most important variable, produced

by variable analysis select one as the last variable of a candidate node.

2. Compose the preceding variables according to the relative order of computed by “Computing relative variable order algorithm”. Concatenate “G” into the <Node ID> to make it distinct from existing variables, “G” symbolizing system-generated variable.

3. Present the rule to the user for confirmation before it is saved as an additional node in the generated rule in the knowledge base.

Figure 8. Node generation algorithm

The “Computing relative variable order algorithm”

is similar with “Computing relative node order algorithm”, except it’s for the node.

2.3. Knowledge Building

Fig. 9 describes the algorithm of knowledge

building.

I. If a proper node found, the system will give the user one of the following choices.

1. If she disagrees with the current node, she can create a new node at the top level of the knowledge base. Automatically the system will create a new rule for this new node. The disagreed variables from the case posted by the user will be saved under the new node position.

2. If she agrees with one or more variables in the current node, but disagrees with others; she can create an exception node which containing the disagreed ones. The agreed variables from the case posted by the user will be saved in the Credit field of the Node Structure under the old node position (the parent node), while the disagreed variables will be saved under the new node position.

3. She can choose to continue traversing the knowledge base without any changes. Here, Variable-Centered Rule Structure won’t get anything from the user. The system works like an inferencing process in this case and allows the user to verify the knowledge base, a verification-on-the-flay mechanism.

II. If no nodes are found, the system will ask the user to create a new node at the top level of knowledge base and the case posted by the user will be saved under the new node position.

Figure 9. Knowledge building algorithm Finding a proper node in the knowledge base is

done by the algorithm of Fig. 10.

1. Find all nodes with the same variable ID and conclusion ID as the cases provided by the user from Node Structure and Conclusion tables. Remove redundant IDs. Set them as pre-candidate nodes. If more than one node found in the pre-candidate nodes, then follow the priority as follows to find the candidate nodes.

2. First priority, find perfect nodes, which are nodes containing the same variable IDs and values along with the same conclusion values. If a perfect node found, save it into the candidate nodes.

3. Second priority; find the nodes that contain same variable IDs (without the same values) along with the same conclusion values. If such a node found, save it into the candidate nodes.

4. Third priority; find the nodes that, at least contain same variable ID along with at least one same conclusion value. If a node likes this found, save it into the candidate nodes.

5. Fourth priority; find the nodes that contain at least one same variable ID. If such a node found, save it into the candidate nodes.

6. Fifth; find the nodes that contain at least one same conclusion value. If a node likes this found, save it into the candidate nodes.

7. If no nodes are found in the pre-candidate nodes, the system will tell the user that the case she enters doesn’t match any cases in the knowledge base.

8. The above process stops where the user is satisfied with a node or the user decides to stop/start the process again.

Figure 10. Finding proper node algorithm

If any candidate nodes found, the system presents

to the user with the options. She then can choose either or both the exception cases occurred as the new case for the new node. The condition being created in the new node is the condition that is unavailable in the old case. The system will process these unavailable conditions to create a new node by the algorithm of Fig. 11.

1. If a condition is available in the old case, but

unavailable in the new case then the new node being created will has the negation of such condition.

Page 179: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

A Variable-Centered Intelligent Rule System – Irfan Surbakti

ISSN 1858-1633 @2005 ICTS

173

2. If a condition is unavailable in the old case, but available in the new case then the new node being created will has such condition.

3. If no candidate nodes found, or the user wants to create a new node at the top level; then the new node being created will has all conditions in the new case.

Figure 11. Node creating algorithm

Every new node creates update information of the occurrence of values in the Node Structure. While a new node is being created, the variable value exists in both old case and new case will be saved in the Node Structure under the old case position (i.e., Credit field). If it’s a new top level node, the value from the case being posted by the user is only saves under the new case position.

When the user creates a node, it means she creates a new rule, because that new node is the node which does not have a child. The name of the new rule is obtained from the last node, so that new node becomes the name of the new rule.

The building process finishes after the user is satisfied with a node as the final conclusion, or the user decides to stop/start the process again. During the process, the user can repetitively perform the above actions to make improve the existing knowledge base or traverse the nodes to verify the inferencing process. The latter implies that our system also performs verification-on-the-fly, like RDR does, while RBS does not. This will guarantee the knowledge base to be the one that the user wants it to be.

To empower the knowledge building process, when the user is entering her case, the system will guide her about the usage degree of the rules/nodes/variables in the knowledge base. With this guideline, the user knows easily the status of each variable/conclusion in her case being entered: whether these values exist in the knowledge base or the status of the most usage variable. This information will help her to decide from which variable/node/rules she can go through and update the knowledge base.

2.4. Knowledge Inferencing Knowledge inferencing is simply a knowledge

building process without actions done by the user. The user inputs cases and the system goes through the traversing process, when VCIRS already performs a simple forward chaining.

RDR Inferencing Mechanism When the user provides a case as asking the

system to obtain the result, the inferencing process starts to find a proper node. Then, if a proper node found, the system will continue to traverse the rule tree and ask the user for confirmation of each value like the forward chaining approach until a conclusion is fired when the value is matched or no result obtained when the value unmatched. This proper node

finding algorithm is the same as described in Fig. 10. Fig. 12 describes the RDR inferencing mechanism.

1. Process the case posted by the user to find a

proper node by the proper node finding algorithm. The result is saved in the candidate nodes. If there is no result from this step, process stop here. Step 2 will continue only if there’s at least one node in the candidate nodes.

2. Starting from the first proper node in the candidate nodes, obtain the <Rule ID> and <Node Order> belong to this <Node ID> node.

3. If the proper node is the perfect node, fire the proper node, record the conclusion in the ConclusionQueue and continue to step 4. If there’s a value unconfirmed, ask the user to confirm. If the value posted by the user is unmatched, start again from step 2 with the next proper node. Record every event into EventLog.

4. Check the next node based on the next <Node Order> of the current <Rule ID>, and ask the user to confirm the values in that node. If all values confirmed, fire that node, and record the conclusion at that node in the ConclusionQueue. Repeat this step, until there’s no next node at <Rule ID>, as long as the value of node is matched with the value posted by the user. If unmatched values occurred, start again from step 2 with the next proper node. If the last node of <Rule ID> is successful to fire, present the last conclusion to the user as the final conclusion along with all conclusions from ConclusionQueue as the intermediate conclusions. Ask the user if she wants to continue to find more conclusions, if there are other nodes in the candidate nodes. If the user agrees, start again from step 2 with the next proper node to find more conclusions. If the user does not want, inferencing process can stop here. Record every event into EventLog.

5. If no node fired, tell the user that there’s no node matched with her case.

Figure 12. RDR inferencing in VCIRS

From the ConclusionQueue we can answer: What

are the results of the inferencing. The answer of: How and Why can be obtained from the EventLog. RBS Inferencing Mechanism

This inferencing process is based on the structures in the Rule Structure and Node Structure. As stated before, a node in the Node Structure is similar to an RBS rule, which contains a clause and a conclusion part. A rule in the Rule Structure is also similar to an RBS rule, whereas big RBS rule. An RBS rule created from a node is obtained by obtaining the node name, variable names and their values from the Node Structure, and the conclusion from the corresponding Conclusion Node. An RBS rule also can be created from the Rule Structure. It is obtained similarly to rule

Page 180: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

174

creation from the Node Structure, except the name and the conclusion of each rule is obtained from the last node of a given rule. The RBS rules created from both Node and Rule Structures are combined together to do RBS inferencing.

2.5. Knowledge Base Transformation The Node Structure in VCIRS has the similarity

with the structures of the rule base in an RBS. We thus can transform the VCIRS knowledge base into an RBS rule base. The structure in the Rule Structure uses the Node Structure. Thus, it also can be transformed into an RBS rule base, except the name and the conclusion of each rule is obtained from the last node of a given rule.

3. CONCLUSIONS

The contribution of the paper thus can be summarized as: we have proposed and implemented a Variable-Centered Intelligent Rule System (VCIRS), which uses a variable-centered node and rule structure to organize the rule base so that easy knowledge building, powerful knowledge inferencing, and evolutional improvement of the system performance can be obtained at the same time.

REFERENCES [1] Compton, P., G. Edwards, B. Kang, L.

Lazarus, R. Malor, T. Menzies, P. Preston, A. Srinivasan and C. Sammut, “Ripple down rules: possibilities and limitations,” Proc. of 6th Bannf AAAI Knowledge Acquisition for Knowledge Based Systems Workshop, Banff, Canada, 1991.

[2] Compton, P., Kang, B., Preston, P. and Mulholland, M., “Knowledge acquisition without analysis,” Proc. of European Knowledge Acquisition Workshop, Springer Verlag, 1993.

[3] Edwards, G., Compton, P., Malor, R., Srinivasan and A., Lazarus, L., “PEIRS: a pathologist maintained Expert System for the

interpretation of chemical pathology repots,” Pathology 25, 1993, pp. 27-34.

[4] Forgy, C.L., “Rete: a fast algorithm for the many pattern/many object pattern match problem", Artificial Intelligence 19 (1982), 17-37.

[5] Ho, V., Wobcke, W. and Compton, P., “EMMA: an e-mail management assistant,” in Liu, J., Faltings, B., Zhong, N., Lu, R., Nishida, T. (Eds.), Proc. of IEEE/WIC International Conference on Intelligent Agent Technology, Los Alamitos, CA, 2003, pp. 67-74.

[6] Kang, B., P. Compton and P. Preston, “Multiple classification ripple down rules: evaluation and possibilities,” Proc. of the 9th AAAI-Sponsored Banff Knowledge Acquisition for Knowledge-Based Systems Workshop, Banff, Canada, University of Calgary, 1995.

[7] Mansuri, Y., Kim, J.G., Compton, P. and Sammut, C., “A comparison of a manual knowledge acquisition method and an inductive learning method,” Proc. of the First Australian Workshop on Knowledge Acquisition for Knowledge-Based Systems, Sydney, University of Sydney, 1991, pp.114-132.

[8] Muggleton, S.D., “An oracle-based approach to constructive induction,” Proc. of the Tenth International Joint Conference on Artificial Intelligence, 1987.

[9] Suryanto, H. and Compton, P., “Intermediate concept discovery in ripple down rule knowledge bases,” Proc. of the 2002 Pacific Rim Knowledge Acquisition Workshop (PKAW 2002), in conjunction with the Seventh Pacific Rim International Conference on Artificial Intelligence (PRICAI 2002), Tokyo, Japan, pp. 233-245.

[10] Suryanto, H. and Compton, P., “Invented predicates to reduce knowledge acquisition,” Proc. of the 14th International Conference on Knowledge Engineering and Knowledge Management (EKAW04), 5-8th October 2004 - Whittlebury Hall, Northamptonshire, UK, 2004, pp. 293-306.

Page 181: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

175

MULTIPLE NULL VALUES ESTIMATING IN GENERATING WEIGHTED FUZZY RULES USING GENETIC SIMULATED ANNEALING

Irfan Subakti Department of Informatics, Faculty of Information Technology

Institute Technology of Sepuluh Nopember Surabaya (ITS) Kampus ITS, Keputih, Sukolilo, Surabaya, Indonesia

email: [email protected]

ABSTRACT Several methods are proposed to estimate null

values in relational database systems. Usually it’s only for one or several null values. In this paper, we present a method to generate weighted fuzzy rules from relational database systems for estimating multiple null values using Genetic Simulated Annealing (GSA), where the attributes appearing in the antecedent part of generated fuzzy rules have different weights. The only constraint is at least there’s one value in the column/field at the database is not null value to estimate another values (if it is a null value). Keywords : Fuzzy sets, Genetic Simulated Annealing, null values 1. INTRODUCTION

The researchers have been proposed many methods to generate fuzzy rules from training instances [2], [5], [3], [10], [12], [13], [7] based on the fuzzy set theory [14]. In [7] we used Genetic Simulated Annealing (GSA) [8], where the attributes appearing in the antecedent parts of the generated fuzzy rules have different weights. The proposed improving method uses GSA to adjust the weights of the attributes for estimating null values in relational database systems. It can get a higher average estimated accuracy than the methods in [6]. Here, we focused only one null value at the database.

In this paper, we present a method to generate weighted fuzzy rules from relational database systems for estimating multiple null values using GSA, where the attributes appearing in the antecedent part of generated fuzzy rules have different weights. The only constraint is at least there’s one value in the column/field at the database to estimate another (if it is a null value).

The rest of this paper is organized as follows. In Section 2, we briefly review the basic concepts of fuzzy sets from [14]. In Section 3, we briefly review our method for tuning the weights of the attributes appearing in the antecedent parts of the generated fuzzy rules using GSA for estimating null values in relational database systems [7]. In Section 4, we describe our method full estimating multiple null values in generating weighted fuzzy rules using GSA. Finally we conclude our research in Section 5.

2. BASIC CONCEPTS OF FUZZY SETS

In 1965, the theory of fuzzy sets is proposed by Zadeh [14]. In a fuzzy set, each element in the set is associated with a membership value between 0 and 1 described by a membership function to indicate the grade of membership of the element in the fuzzy set. There are two types of membership functions to represent fuzzy sets. One is the discrete type membership function, and the other is the continuous type membership function. Let U be the universe of discourse, U = u1, u2, …, un. A fuzzy subset A of the universe of discourse U can be represented as follows:

A = µA(u1)/u1+µA(u2)/u2+ … +µA(un)/un (1) where µA is the membership function of the fuzzy

subset A, µA: U [0,1], and µA(ui) indicates the grade of membership of ui in the fuzzy subset A. If the universe of discourse U is a continuous set, then the fuzzy subset A can be represented as follows:

A = Uuuu

U A ∈∫ ,)(µ (2)

A linguistic term can be represented by a fuzzy set

represented by a membership function. In this paper, the membership functions of the linguistic terms “L,” “SL,” “M.” “SH,” and “H” of the attributes “Salary” and “Experience” in relational database system are adopted from [3] as shown in Fig. 1 and Fig. 2, respectively, where “L” denotes “Low,” “SL” denotes “Somewhat Low,” “M” denotes “Medium”, “SH” denotes “Somewhat High,” and “H” denotes “High”. Assume that there is an employee whose salary is 48,000 dollars per month, and assume that his working experience is 4 years, then according to Fig. 1, we can see that the degree of membership that his salary (i.e., 48,000 dollars) belonging to the linguistic terms “Medium” (M) and “Somewhat High” (SH) are 0.7 and 0.3, respectively. According to Fig. 2, we can see that the degrees of membership that his experience (i.e., 4 years) belonging to the linguistic terms of “Somewhat Low” (SL) and “Medium” (M) are 0.5 and 0.5, respectively. Let x be a real value, and let X and Y be two linguistic terms. Assume that the degrees of membership of x belonging to X and Y are a and b, respectively, where a ∈ [0,1] and b ∈ [0,1]. Based on

Page 182: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

176

[3] and [13], if a ≥ b, then the real employee’s salary (i.e., 48,000 dollars) is fuzzified into M/0.7, and his experience (i.e., 4 years) is fuzzified into SL/0.5. If p is a nonnumeric datum, where p ∈ Bachelor, Master, PhD, then according to [3], p is fuzzified into p/1.0.

Membership Grade

Salary(104 dollars)0 2.5 3.5 4.5 5.5 6.5 7

L SL M SH H1.0

Figure 1. Membership functions of the linguistic terms of the

attribute “Salary”

Membership Grade

Experience(years)0 1 3 5 7 9 10

L SL M SH H1.0

Figure 2. Membership functions of the linguistic terms of the

attribute “Experience”

3. TUNING THE WEIGHT OF THE

ATTRIBUTES USING GSA [7]

3.1. Format of a Chromosome Taken from [6], let’s consider a relation of a

relational database shown in Table 1. Based on Figs. 1 and 2, the values of attributes “Degree” and “Experience” shown in Table 1 can be fuzzified into Table 2. First, we define the format of a chromosome as shown in Fig. 4, where the value of each gene in a chromosome is a real value between zero and one, and the 13th gene labeled “B-L” denotes the fuzzified values of the attributes “Degree” and “Experience” are “Bachelor” (B) and “Low” (L), respectively.

Table 1. Relation in a relational database

EMP-ID Degree Experience Salary

S1 Ph.D. 7.2 63,000 S2 Master 2.0 37,000 S3 Bachelor 7.0 40,000 S4 Ph.D. 1.2 47,000 S5 Master 7.5 53,000 S6 Bachelor 1.5 26,000 S7 Bachelor 2.3 29,000 S8 Ph.D. 2.0 50,000 S9 Ph.D. 3.8 54,000

S10 Bachelor 3.5 35,000 S11 Master 3.5 40,000 S12 Master 3.6 41,000 S13 Master 10.0 68,000 S14 Ph.D. 5.0 57,000 S15 Bachelor 5.0 36,000 S16 Master 6.2 50,000 S17 Bachelor 0.5 23,000

S18 Master 7.2 55,000 S19 Master 6.5 51,000 S20 Ph.D. 7.8 65,000 S21 Master 8.1 64,000 S22 Ph.D. 8.5 70,000

Table 2. Fuzzified results of the value of the attributes “Degree” and

“Experience”

EMP-ID Degree Experience Salary S1 Ph.D./1.0 SH/0.9 63,000 S2 Master/1.0 L/0.5 37,000 S3 Bachelor/1.0 SH/1.0 40,000 S4 Ph.D./1.0 L/0.9 47,000 S5 Master/1.0 SH/0.75 53,000 S6 Bachelor/1.0 L/0.75 26,000 S7 Bachelor/1.0 SL/0.65 29,000 S8 Ph.D./1.0 L/0.5 50,000 S9 Ph.D./1.0 SL/0.6 54,000

S10 Bachelor/1.0 SL/0.75 35,000 S11 Master/1.0 SL/0.75 40,000 S12 Master/1.0 SL/0.7 41,000 S13 Master/1.0 H/1.0 68,000 S14 Ph.D./1.0 M/1.0 57,000 S15 Bachelor/1.0 M/1.0 36,000 S16 Master/1.0 SH/0.6 50,000 S17 Bachelor/1.0 L/1.0 23,000 S18 Master/1.0 SH/0.9 55,000 S19 Master/1.0 SH/0.75 51,000 S20 Ph.D./1.0 SH/0.6 65,000 S21 Master/1.0 H/0.55 64,000 S22 Ph.D./1.0 H/0.75 70,000

Real value

Real value

1GeneNumber

B-H M-H

2

Real value

Real value

3

P-H B-SH

4

Real value

Real value

5

M-SH P-SH

6

Real value

Real value

7

B-M M-M

8

Real value

Real value

9

P-M B-SL

10

Real value

Real value

11

M-SL P-SL

12

Real value

Real value

13

B-L M-L

14

Real value

15

P-L Figure 4. Format of a chromosome

From Fig. 4, we can see that each chromosome

represents a combination of the weights of attributes, and it is a string of the weights of the attributes which will be used to estimate null values in relational databases systems. A population contains a set of chromosomes, and we can arbitrary set the number of chromosomes in a population. A chromosome consists of 15 genes. Because the total weights of attributes must be equal to one, the weight of attribute “Experience” must equal to one minus the weight of attribute “Degree”. For example, let’s see Fig. 5.

0.01 0.071

1GeneNumber

B-H M-H

2

0.343 0.465

3

P-H B-SH

4

0.505 0.303

5

M-SH P-SH

6

0.495 0.081

7

B-M M-M

8

0.778 0.717

9

P-M B-SL

10

0.303 0.869

11

M-SL P-SL

12

0.869 0.828

13

B-L M-L

14

0.434

15

P-L Figure 5. Example of a chromosome

Therefore, the content of the chromosome shown

in Fig. 5 can be translated into the following 15 rules.

Rule 1: IF Degree=Bachelor AND Experience=High, THEN the Weight of Degree=0.010 AND the Weight of Experience=0.99.

Rule 2: IF Degree=Master AND Experience=High, THEN the Weight of Degree=0.071 AND the Weight of Experience=0.929.

Page 183: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Multiple Null Values Estimating in Generating Weighted Fuzzy Rules Using Genetic Simulated Annealing – Irfan Surbakti

ISSN 1858-1633 @2005 ICTS

177

Rule 15: IF Degree=PhD AND Experience=Low, THEN the Weight of Degree=0.434 AND the Weight of Experience=0.566.

3.2 Calculation of the Fitness Degree

Taken from [6], assume that there are n tuples T1, T2, …, Tn in a relation R of a relational database system, where the value of the attribute “Salary” of tuple Ti is denoted as “Ti.Salary.” Let “ETi.Salary” denotes the estimated value of Ti.Salary. In order to derive the value of ETi.Salary, it must find a tuple Tj which is closest to the tuple Ti regarding the values of the attributes “Degree” and “Experience.”

Table 3. Degree of similarity between the values of the attribute

“Degree” Bachelor Master PhD

Bachelor 1 0.6 0.4 Master 0.6 1 0.6

PhD 0/4 0.6 1 Based on a fuzzy similarity matrix, it can obtain

the degree of similarity between two nonnumeric values. For example, from Table 3, we can see that the degree of similarity between the degrees “Bachelor” and “PhD” is 0.4. From [4], we can see that the ranks of the terms “Bachelor,” “Master,” and “PhD” are 1, 2 and 3, respectively. That is:

Rank(Bachelor) = 1 Rank(Master) = 1

Rank(PhD) = 1 Let X be a nonnumeric attribute. Based on the

value Ti.X of the attribute X of tuple Ti and the value Tj.X of the attribute X of tuple Tj, where i≠j, the degree of closeness Closeness(Ti, Tj) between tuples Ti and Tj can be calculated by (3) or (4), where Weight(Tj.Degree) and Weight(Tj.Experience) denote the weights of the attributes “Degree” and “Experience,” respectively, obtained from the fuzzified values of the attributes “Degree” and “Experience” of tuple Tj, derived from a chromosome.

If Rank(Ti.X) ≥ Rank(Tj.X) then

Closeness(Ti, Tj)=Similarity(Ti.X, Tj.X)

× Weight(Tj.Degree) + ExperienceTExperienceT

j

i

..

× Weight(Tj.Experience) (3) If Rank(Ti.X) < Rank(Tj.X) then

Closeness(Ti, Tj)= 1/Similarity(Ti.X, Tj.X)

× Weight(Tj.Degree) + ExperienceTExperienceT

j

i

..

× Weight(Tj.Experience) (4) where Similarity(Ti.X, Tj.X) denotes the degree of

similarity between Ti.X and Tj.X, and its value is obtained from a fuzzy similarity matrix of the linguistic terms of the attribute X defined by a domain expert.

Let Ti, Tj and Tk be three tuples in a relational database. Assume that the degree of closeness between tuple Ti and Tj is denoted as Closeness(Ti, Tj), and the degree of closeness between tuples Ti and Tk is denoted as Closeness(Ti, Tk). Let x = |Closeness(Ti, Tj)-1| and let y = |Closeness(Ti, Tk)-1|. If x < y, then tuple Tj is more close to tuple Ti and all the other tuples in the relational database have been calculated, the tuple whose closeness degree with respect to tuple Ti is closest to 1.0 is regarded as closest to tuple Ti, where 1 ≤ i ≤ n.

After calculating the degrees of closeness of the other tuples in the database with respect to tuple Ti, the system will pick a tuple which is closest to tuple Ti. Assume that tuple Tj is closest to tuple Ti, then we can calculate the estimated value “ETi.Salary” of the attribute “Salary” of tuple Ti as follows:

ETi.Salary = Ti.Salary × Closeness(Ti, Tj) (5) where Ti.Salary denotes the value of the attribute

“Salary” of tuple Tj. In the same way, it can calculate the estimated

values of the attribute “Salary” of all the tuples in a relational database. After we get the estimated values of the attribute “Salary” of all tuples in a relational database, it can calculate the estimated error of each tuple by (6), where Errori denotes the estimated error between the estimated value ETi.Salary of the attribute “Salary” of tuple Ti and the actual value Ti.Salary of the attribute “Salary” of tuple Ti

Errori = SalaryT

SalaryTSalaryET

i

ii

... − (6)

Let Avg_Error denotes the average estimated error

of the tuples based on the combination of weights of the attributes derived from the chromosome, where

Avg_Error = n

Errorn

ii∑

=1 (7)

Then, it can obtain the fitness degree of this chromosome as follows [7]:

Fitness Degree = 1 – Absolute (Avg_Error) (8)

4. ESTIMATING MULTIPLE NULL VALUES IN RELATIONAL DATABASE SYSTEMS USING GSA

GSA proposed by Koakutsu et al. [8]. It generates the seeds of Simulated Annealing (SA) sequentially, that is the seeds of a SA local search depends of the best-so-far solutions of all previous SA local searches. This sequentially approach seems to generate better child solutions.

Page 184: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

178

GSA uses fewer crossover operations since it only uses crossover operations when the SA local search reaches a flat surface and it is time to jump in the solution space.

GSA starts with a population X = x1, …, XNp and repeatedly applies 3 operations: SA-based [11] local search, GA-based [1] [9] crossover operation, and population update. SA-based local search produces a candidate solution x’ by changing a small fraction of the state of x. The candidate solution is accepted as the new solution with probability min1, e-∆f/T. GSA preserves the local best-so-far solution x*L during the SA-based local search. When the search reaches a flat surface or the system is frozen, GSA produces a large jump in the solution space by using GA-based crossover. GSA picks up a pair of parent solutions xj and xk at random from the population X such that f(xj) ≠ f(xk), applies crossover operator, and then replace the worst solution xi by the new solution produced by the crossover operator. At the end of each SA-based local search, GSA updates the population by replacing the current solution xi by the local best-so-far solution x*L. GSA terminates when the CPU time reaches given limit, and reports the global best-so-far solution x*G.

We implemented GSA pseudo-code [8] by the code algorithm depicted at Figs. 6-9 below.

Procedure EvaluationAndBestSelection find the best solution among population. Also it initializes

LocalBestChromosomeSoFar and GlobalBestChromosomeSoFar:

X x1, ..., XNp; initialize population x*L the best solution among X; initialize local best-so-

far x*G x*L initialize global best-so-far FitnessDegreeEval FitnessDegree from global best-so-

far for i:= 1 to number-of-generations do begin T T0; EvaluationAndWorstSelection; select the worst

solution xi from X CrossOver; select two solutions xj, xk from X such that

f(xj) ≠ f(xk): xi Crossover(xj, xk); Mutation; update local best-so-far if value is better repeat for i:= 0 to number-of-mutation do begin f(xi) Get Fitness Degree from chromosome

before mutation x’ Mutate(xi) f(x’) Get Fitness Degree from chromosome after

mutation ∆f f(xi) - f(x’) r random number between 0 and 1 ft f(x’) if (∆f >= 0) or (r >= exp(-∆f/T)) then begin xi x’; ft f(xi); end; if (ft >= FitnessDegreeEval) then begin x*L xi; update local best-so-far FitnessDegreeEval ft FDLocalBestSoFar ft Get local best Fitness

Degree

end end T T * α; lower temperature until T <= FrozenValue; CountCloseness(x*L); get FD from

LocalBestChromosomeSoFar AvgError:= AvgError / NumData; FDLocalBestSoFar:= 1 - AvgError; CountCloseness(x*G); get FD from

GlobalBestChromosomeSoFar AvgError:= AvgError / NumData; FDGlobalBestSoFar:= 1 - AvgError; if FDLocalBestSoFar >= FDGlobalBestSoFar then

begin x*G x*L; update global best-so-far FitnessDegreeEval:= FDGlobalBestSoFar; end; xi x*L; update population end; Figure 6. GSA code algorithm Procedure CountClosenessValue AvgError:= 0.0; for i:= 0 to NumData - 1 do begin base on all data

available BestClosenessEval:= MaxInt; IdxClosestCloseness:= i; for j:= 0 to NumData - 1 do if i <> j then begin if Rank(Ti.X) ≥ Rank(Tj.X) then begin ClosenessE(Ti,Tj)= Similarity(Ti.X,Tj.X) ×

Weight(Tj.Degree) + (Ti.Experience/Tj.Experience) ×

Weight(Tj.Experience); end else begin If Rank(Ti.X) < Rank(Tj.X) ClosenessE:= 1/Similarity(Ti.X,Tj.X) ×

Weight(Tj.Degree) + (Ti.Experience/Tj.Experience) ×

Weight(Tj.Experience); end; find a tuples which is closest to 1.0 as a closest tuple to tuple Ti ClosestCloseness:= Abs(1 - ClosenessE); if ClosestCloseness <= BestClosenessEval then begin BestClosenessEval:= ClosestCloseness; IdxClosestCloseness:= j; end; end; Then we find Estimated Salary and Error for every

record if this record was null value, so we must find another record that closest to 1 if IsNullValue(i) and IsNullValue(IdxClosestCloseness)

then begin PreferIdx:= GetPreferIdx; ETi.Salary:= Ti. Salary ×

GetClosenessValue(PreferIdx); if Tprefer-index.Salary <> 0 then Errori:= (ETi.Salary – Tprefer-index.Salary)/ Tprefer-

index.Salary end else begin ETi.Salary:= Ti. Salary ×

GetClosenessValue(IdxClosestCloseness); if Ti.Salary <> 0 then Errori:= (ETi.Salary – TiSalary)/ TiSalary end; AvgError:= AvgError + Abs(Errori); end;

Figure 7. Procedure CountCloseness code algorithm

Page 185: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Multiple Null Values Estimating in Generating Weighted Fuzzy Rules Using Genetic Simulated Annealing – Irfan Surbakti

ISSN 1858-1633 @2005 ICTS

179

function GetClosenessValue(Idx) Result find value in ClosenessE which have the same index with

Idx Figure 8. Function GetClosenessValue code algorithm function GetPreferIdx Result find value in ClosenessE that closest to 1, and it's not null

value

Figure 9. Function GetPreferIdx code algorithm

In our previous paper [7], we only concerning about how to perform GSA to prove that it’s work better than if the system used GA. Here, we estimate many null values at the database.

Recalling procedure CountCloseness, as depicted at Fig. 7 above, we consider the part at Fig. 10 below. … … Then we find Estimated Salary and Error for every record if this record was null value, so we must find another record that closest to 1 if IsNullValue(i) and IsNullValue(IdxClosestCloseness) then begin PreferIdx:= GetPreferIdx; ETi.Salary:= Ti. Salary × GetClosenessValue(PreferIdx); if Tprefer-index.Salary <> 0 then Errori:= (ETi.Salary – Tprefer-index.Salary)/ Tprefer-index.Salary end else begin ETi.Salary:= Ti. Salary × GetClosenessValue(IdxClosestCloseness); if Ti.Salary <> 0 then Errori:= (ETi.Salary – TiSalary)/ TiSalary end; AvgError:= AvgError + Abs(Errori); end;

Figure 10. Part considering at Procedure CountCloseness

As an example, as depicted at Table 4, where many values are null, and with GSA we process to obtain these null values from other value.

Table 4. Relation in a relational database containing multiple null values

EMP-ID Degree Experience Salary S1 Ph.D. 7.2 63,000 S2 Master 2.0 null S3 Bachelor 7.0 40,000 S4 Ph.D. 1.2 47,000 S5 Master 7.5 null S6 Bachelor 1.5 26,000 S7 Bachelor 2.3 29,000 S8 Ph.D. 2.0 50,000 S9 Ph.D. 3.8 54,000

S10 Bachelor 3.5 35,000 S11 Master 3.5 null S12 Master 3.6 41,000 S13 Master 10.0 null S14 Ph.D. 5.0 57,000 S15 Bachelor 5.0 36,000 S16 Master 6.2 50,000 S17 Bachelor 0.5 23,000 S18 Master 7.2 55,000 S19 Master 6.5 51,000 S20 Ph.D. 7.8 65,000 S21 Master 8.1 64,000 S22 Ph.D. 8.5 null

Because there’s a checking process with regarding to null values, so we can set one or many null values that we want to estimate. This process performs in function GetPreferIdx as described previous.

Of course as a constraint, there is at least one value in column/field SALARY to estimate another (if it is a null value).

We run this program base on parameters, as depicted at Table 5, each for 10 times.

Table 5. Parameters of experiment Sixe of Popu- lation

# Gene- ration

Muta- tion Rate

Initial Tempe- rature

Alpha Frozen Value

60 300 0.01 100 0.7 0.00001

The result of one of experiment is depicted in Table 6, and the summaries from all experiments are depicted in Table 7.

Table 6. Two results of the running program

(a) Index of Null Values = 0. It means row/tuple 1st in relational database.

Running # Avg. Estimated Error Total Time

1 0.009122101 0h:22m:56s:46ms

2 0.009122101 0h:22m:47s:188ms

3 0.005950415 0h:22m:43s:484ms

4 0.005950415 0h:22m:45s:500ms

5 0.005608084 0h:22m:40s:922ms

6 0.005297164 0h:22m:39s:219ms

7 0.005297164 0h:22m:42s:437ms

8 0.0035237 0h:23m:13s:922ms

9 0.0035237 0h:22m:47s:47ms

10 0.0035237 0h:22m:46s:281ms

Min 0.0035237 0h:22m:39s:219ms

Average 0.005691855 0h:22m:48s:205ms

Max 0.009122101 0h:23m:13s:922ms

(b)

Index of Null Values = 0, 1. It means row/tuple 1st and 2nd in relational database.

Running # Avg. Estimated Error Total Time

1 0.005932516 0h:23m:0s:906ms

2 0.004748638 0h:23m:1s:281ms

3 0.004748638 0h:22m:59s:954ms

4 0.004376414 0h:22m:56s:937ms

5 0.004307416 0h:22m:53s:797ms

6 0.004307416 0h:22m:46s:844ms

7 0.002597917 0h:22m:52s:484ms

8 0.002543098 0h:22m:53s:688ms

9 0.002543098 0h:22m:53s:406ms

10 0.002036744 0h:22m:56s:109ms

Min 0.002036744 0h:22m:46s:844ms

Average 0.003814189 0h:22m:55s:541ms

Max 0.005932516 0h:23m:1s:281ms

Page 186: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

180

Table 7. Summaries of all experiments

# Null Values Avg. Estimated Error Total Time

1 0.005691855 0h:22m:48s:205ms

2 0.003814189 0h:22m:55s:541ms

3 0.004250243 0h:23m:9s:162ms

4 0.001986583 0h:23m:21s:841ms

5 0.002852969 0h:23m:49s:88ms

6 0.007583199 0h:24m:52s:142ms

7 0.009365515 0h:25m:52s:181ms

8 0.009231593 0h:28m:57s:550ms

9 0.00619153 0h:31m:24s:880ms

10 0.011827634 0h:28m:33s:502ms

11 0.009823456 0h:31m:6s:367ms

12 0.015330053 0h:33m:39s:134ms

13 0.009790754 0h:39m:18s:45ms

14 0.013608027 0h:37m:59s:381ms

15 0.025640814 0h:42m:50s:858ms

16 0.011122631 0h:47m:47s:817ms

We can see from the result that we successfully estimate multiple null values.

Once again, as in our previous paper [7] apparently, the only constraint is time. GSA obviously takes longer time. More null values have to estimate, the longer time the result will be.

5. CONCLUSIONS

In this paper, we have presented a method to generate weighted fuzzy rules for estimating multiple null values in relational database systems using GSA, where the attributes appearing in the antecedent parts of the generated fuzzy rules have different weights.

The only constraint of this method is at least there’s one value in the column/field at the database is not null value to estimate another values (if it is a null value).

REFERENCES [1] Brown, D., Huntley, C. and Spillane, A. , “A

parallel genetic heuristic for the quadratic assignment problem,” Proc. 3rd Int. Conf. Genetic Algorithms, 1989, pp.406-415.

[2] Burkhardt, D.G and Bonissone, P.P., “Automated fuzzy knowledge base generation and tuning,” Proc. 1992 IEEE Int. Conf. Fuzzy Systems, San Diego, CA, 1992, pp. 179-419.

[3] Chen, S.M. and Yeh, M.S., “Generating fuzzy rules from relational database systems for estimating null values,” Cybern. Syst., vol. 28, no. 8, 1997, pp. 695-723.

[4] Chen, S.M. and Chen, H.H., “Estimating null values in the distributed relational database environment,” Cybern. Syst., vol. 31, no. 8, 2000, pp. 851-871.

[5] Chen, S.M., Lee, S.H. and Lee, C.H., “A new method for generating fuzzy rules from numerical data for handling classification problems,” Appl. Art. Intel., vol. 15, no. 7, 2001, pp. 645-664.

[6] Chen, S.M. and Huang, C.M., “Generating weighted fuzzy rules from relational database systems for estimating null values using genetic algorithms,” IEEE Trans.On Fuzzy Systems, vol. 11, no. 4, 2003, pp. 495-506.

[7] Irfan, S., “Genetic Simulated Annealing For Null Values Estimating in Generating Weighted Fuzzy Rules From Relational Database Systems,” ICTS 2005, 2005.

[8] Koakutsu, S., Kang, M. and Dai, W.W.-M, “Genetic simulated annealing and application to non-slicing floorplan design,” Proc. 5th ACM/SIGDA Physical Design Workshop, (Virginia, USA), 1996, pp. 134-141.

[9] Lin, T.-T., Kao, C.-Y. and Hsu, C.-C., “Applying the genetic approach to simulated annealing in solving some NP-Hard problems,” IEEE Trans. System, Man, and Cybernetics, vol. 23, no. 6, 1993, pp.1752-1767.

[10] Lin, H.L. and Chen, S.M., “Generating weighted fuzzy rules from training data for handling fuzzy classification problems,” Proc. 2000 Int. Computer Symp.: Workshop Artificial Intelligence, Chiayi, Taiwan, R.O.C., 2000, pp. 11-18.

[11] Sigrag, D. and Weisser, P., “Toward a unified thermodynamic genetic operator,” Proc. 2nd Int. Conf. Genetic Algorithms, 1987, pp.116-122.

[12] Tsukimoto, H., “Extracting rules from trained neural networks,” IEEE Trans. Neural Networks, vol. 11, 2000, pp. 377-389.

[13] Wang, L.X. and Mendel, J.M., “Generating fuzzy rules by learning from examples,” IEEE Trans. Syst., Man, Cybern., vol. 22, 1992, pp. 1414-1427.

[14] Zadeh, L.A., “Fuzzy sets,” Inform. Control, vol. 8, 1965, pp. 338-353.

Page 187: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

181

GENETIC SIMULATED ANNEALING FOR NULL VALUES ESTIMATING IN GENERATING WEIGHTED FUZZY RULES FROM

RELATIONAL DATABASE SYSTEMS

Irfan Subakti Department of Informatics, Faculty of Information Technology

Institute Technology of Sepuluh Nopember Surabaya (ITS) Kampus ITS, Keputih, Sukolilo, Surabaya, Indonesia

email: [email protected]

ABSTRACT Several methods are proposed to estimate null

values in relational database systems. Often the estimated accuracy of the existing methods is not good enough. In this paper, we present an improving method to generate weighted fuzzy rules from relational database systems for estimating null values using Genetic Simulated Annealing (GSA), where the attributes appearing in the antecedent part of generated fuzzy rules have different weights.

After a predefined number of evolutions of the GSA, the best chromosome contains the optimal weights of the attributes, and they can be translated into a set of rules to be used for estimating null values. The improving method can get a higher average estimated accuracy rate than the existing method (i.e., using Genetic Algorithms). The only constraint of GSA is time. It takes longer time comparing with Genetic Algorithms (GA). We also modified the Equation for the better result comparing with the existing method. Keywords : Fuzzy sets, Genetic Simulated Annealing, null values, weighted fuzzy rules 1. INTRODUCTION

Many methods have been proposed to generate fuzzy rules from training instances [2], [5], [3], [8], [11], [12] based on the fuzzy set theory [13]. In [6] Chen and Huang have presented a method for generating fuzzy rules from relational database systems for estimating null values. However, the average estimated accuracy rate of the method is challenged to be improved.

In this paper, in order to improve the method presented in [6] using Genetic Simulated Annealing (GSA) [7], where the attributes appearing in the antecedent parts of the generated fuzzy rules have different weights. The proposed improving method uses GSA to adjust the weights of the attributes for estimating null values in relational database systems. It can get a higher average estimated accuracy than the existing methods in [6]

The rest of this paper is organized as follows. In Section 2, we briefly review the basic concepts of fuzzy sets from [13]. In Section 3, we briefly review a method for tuning the weights of the attributes appearing in the antecedent parts of the generated fuzzy rules using GA for estimating null values in relational database systems [6]. In Section 4, we describe our improving method and the evaluation comparing with [6]. Finally we conclude our research in Section 5.

2. BASIC CONCEPTS OF FUZZY SETS Zadeh proposed the theory of fuzzy sets in 1965

[13]. In a fuzzy set, each element in the set is associated with a membership value between 0 and 1 described by a membership function to indicate the grade of membership of the element in the fuzzy set. There are two types of membership functions to represent fuzzy sets. One is the discrete type membership function, and the other is the continuous type membership function. Let U be the universe of discourse, U = u1, u2, …, un. A fuzzy subset A of the universe of discourse U can be represented as follows:

A = µA(u1)/u1+µA(u2)/u2+ … +µA(un)/un (1) where µA is the membership function of the fuzzy

subset A, µA: U [0,1], and µA(ui) indicates the grade of membership of ui in the fuzzy subset A. If the universe of discourse U is a continuous set, then the fuzzy subset A can be represented as follows:

A = UuuuU A ∈∫ ,)(µ

(2) A linguistic term can be represented by a fuzzy set

represented by a membership function. In this paper, the membership functions of the linguistic terms “L,” “SL,” “M.” “SH,” and “H” of the attributes “Salary” and “Experience” in relational database system are adopted from [3] as shown in Fig. 1 and Fig. 2, respectively, where “L” denotes “Low,” “SL” denotes “Somewhat Low,” “M” denotes “Medium”, “SH” denotes “Somewhat High,” and “H” denotes “High”.

Page 188: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

182

Assume that there is an employee whose salary is 48,000 dollars per month, and assume that his working experience is 4 years, then according to Fig. 1, we can see that the degree of membership that his salary (i.e., 48,000 dollars) belonging to the linguistic terms “Medium” (M) and “Somewhat High” (SH) are 0.7 and 0.3, respectively. According to Fig. 2, we can see that the degrees of membership that his experience (i.e., 4 years) belonging to the linguistic terms of “Somewhat Low” (SL) and “Medium” (M) are 0.5 and 0.5, respectively. Let x be a real value, and let X and Y be two linguistic terms. Assume that the degrees of membership of x belonging to X and Y are a and b, respectively, where a ∈ [0,1] and b ∈ [0,1]. Based on [3] and [12], if a ≥ b, then the real employee’s salary (i.e., 48,000 dollars) is fuzzified into M/0.7, and his experience (i.e., 4 years) is fuzzified into SL/0.5. If p is a nonnumeric datum, where p ∈ Bachelor, Master, PhD, then according to [3], p is fuzzified into p/1.0.

Membership Grade

Salary(104 dollars)0 2.5 3.5 4.5 5.5 6.5 7

L SL M SH H1.0

Figure 1. Membership functions of the linguistic terms of the

attribute “Salary” Membership

Grade

Experience(years)0 1 3 5 7 9 10

L SL M SH H1.0

Figure 2. Membership functions of the linguistic terms of the

attribute “Experience”

3. TUNING THE WEIGHT OF THE

ATTRIBUTES USING GAS [6]

3.1. Format of a Chromosome

Let’s consider a relation of a relational database shown in Table 1. Based on Figs. 1 and 2, the values of attributes “Degree” and “Experience” shown in Table 1 can be fuzzified into Table 2. First, we define the format of a chromosome as shown in Fig. 4, where the value of each gene in a chromosome is a real value between zero and one, and the 13th gene labeled “B-L” denotes the fuzzified values of the attributes “Degree” and “Experience” are “Bachelor” (B) and “Low” (L), respectively.

Table 1. Relation in a relational database EMP-ID Degree Experience Salary

S1 Ph.D. 7.2 63,000 S2 Master 2.0 37,000 S3 Bachelor 7.0 40,000 S4 Ph.D. 1.2 47,000 S5 Master 7.5 53,000 S6 Bachelor 1.5 26,000 S7 Bachelor 2.3 29,000 S8 Ph.D. 2.0 50,000 S9 Ph.D. 3.8 54,000

S10 Bachelor 3.5 35,000 S11 Master 3.5 40,000 S12 Master 3.6 41,000 S13 Master 10.0 68,000 S14 Ph.D. 5.0 57,000 S15 Bachelor 5.0 36,000 S16 Master 6.2 50,000 S17 Bachelor 0.5 23,000 S18 Master 7.2 55,000 S19 Master 6.5 51,000 S20 Ph.D. 7.8 65,000 S21 Master 8.1 64,000 S22 Ph.D. 8.5 70,000

Table 2. Fuzzified results of the value of the attributes “Degree” and

“Experience” EMP-ID Degree Experience Salary

S1 Ph.D./1.0 SH/0.9 63,000 S2 Master/1.0 L/0.5 37,000 S3 Bachelor/1.0 SH/1.0 40,000 S4 Ph.D./1.0 L/0.9 47,000 S5 Master/1.0 SH/0.75 53,000 S6 Bachelor/1.0 L/0.75 26,000 S7 Bachelor/1.0 SL/0.65 29,000 S8 Ph.D./1.0 L/0.5 50,000 S9 Ph.D./1.0 SL/0.6 54,000

S10 Bachelor/1.0 SL/0.75 35,000 S11 Master/1.0 SL/0.75 40,000 S12 Master/1.0 SL/0.7 41,000 S13 Master/1.0 H/1.0 68,000 S14 Ph.D./1.0 M/1.0 57,000 S15 Bachelor/1.0 M/1.0 36,000 S16 Master/1.0 SH/0.6 50,000 S17 Bachelor/1.0 L/1.0 23,000 S18 Master/1.0 SH/0.9 55,000 S19 Master/1.0 SH/0.75 51,000 S20 Ph.D./1.0 SH/0.6 65,000 S21 Master/1.0 H/0.55 64,000 S22 Ph.D./1.0 H/0.75 70,000

Real value

Real value

1GeneNumber

B-H M-H

2

Real value

Real value

3

P-H B-SH

4

Real value

Real value

5

M-SH P-SH

6

Real value

Real value

7

B-M M-M

8

Real value

Real value

9

P-M B-SL

10

Real value

Real value

11

M-SL P-SL

12

Real value

Real value

13

B-L M-L

14

Real value

15

P-L

Figure 4. Format of a chromosome

From Fig. 4, we can see that each chromosome represents a combination of the weights of attributes, and it is a string of the weights of the attributes which will be used to estimate null values in relational databases systems. A population contains a set of chromosomes, and we can arbitrary set the number of chromosomes in a population. A chromosome consists of 15 genes. Because the total weights of attributes must be equal to one, the weight of attribute “Experience” must equal to one minus the weight of attribute “Degree”. For example, let’s see Fig. 5.

Page 189: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Genetic Simulated Annealing for Null Values Estimating in Generating Weighted Fuzzy Rules from Relational Database Systems – Irfan Subakti

ISSN 1858-1633 @2005 ICTS

183

0.01 0.071

1GeneNumber

B-H M-H

2

0.343 0.465

3

P-H B-SH

4

0.505 0.303

5

M-SH P-SH

6

0.495 0.081

7

B-M M-M

8

0.778 0.717

9

P-M B-SL

10

0.303 0.869

11

M-SL P-SL

12

0.869 0.828

13

B-L M-L

14

0.434

15

P-L

Figure 5. Example of a chromosome Therefore, the content of the chromosome shown

in Fig. 5 can be translated into the following 15 rules.

Rule 1: IF Degree=Bachelor AND Experience=High, THEN the Weight of Degree=0.010 AND the Weight of Experience=0.99.

Rule 2: IF Degree=Master AND Experience=High, THEN the Weight of Degree=0.071 AND the Weight of Experience=0.929.

… Rule 15: IF Degree=PhD AND

Experience=Low, THEN the Weight of Degree=0.434 AND the Weight of Experience=0.566.

3.2. Calculation of the Fitness Degree

Assume that there are n tuples T1, T2, …, Tn in a relation R of a relational database system, where the value of the attribute “Salary” of tuple Ti is denoted as “Ti.Salary.” Let “ETi.Salary” denotes the estimated value of Ti.Salary. In order to derive the value of ETi.Salary, it must find a tuple Tj which is closest to the tuple Ti regarding the values of the attributes “Degree” and “Experience.”

Table 3. Degree of similarity between the values of the attribute

“Degree”

Bachelor Master PhD Bachelor 1 0.6 0.4 Master 0.6 1 0.6 PhD 0/4 0.6 1

Based on a fuzzy similarity matrix, it can obtain

the degree of similarity between two nonnumeric values. For example, from Table 3, we can see that the degree of similarity between the degrees “Bachelor” and “PhD” is 0.4. From [4], we can see that the ranks of the terms “Bachelor,” “Master,” and “PhD” are 1, 2 and 3, respectively. That is:

Rank(Bachelor) = 1 Rank(Master) = 1

Rank(PhD) = 1 Let X be a nonnumeric attribute. Based on the

value Ti.X of the attribute X of tuple Ti and the value Tj.X of the attribute X of tuple Tj, where i≠j, the degree of closeness Closeness(Ti, Tj) between tuples Ti and Tj can be calculated by (3) or (4), where Weight(Tj.Degree) and Weight(Tj.Experience) denote the weights of the attributes “Degree” and “Experience,” respectively, obtained from the

fuzzified values of the attributes “Degree” and “Experience” of tuple Tj, derived from a chromosome. If Rank(Ti.X) ≥ Rank(Tj.X) then

Closeness(Ti, Tj)=Similarity(Ti.X, Tj.X) × Weight(Tj.Degree) +

ExperienceTExperienceT

j

i

..

× Weight(Tj.Experience) (3) If Rank(Ti.X) < Rank(Tj.X) then

Closeness(Ti, Tj)= 1/Similarity(Ti.X, Tj.X) × Weight(Tj.Degree) +

ExperienceTExperienceT

j

i

..

× Weight(Tj.Experience) (4)

where Similarity(Ti.X, Tj.X) denotes the degree of similarity between Ti.X and Tj.X, and its value is obtained from a fuzzy similarity matrix of the linguistic terms of the attribute X defined by a domain expert.

Let Ti, Tj and Tk be three tuples in a relational database. Assume that the degree of closeness between tuple Ti and Tj is denoted as Closeness(Ti, Tj), and the degree of closeness between tuples Ti and Tk is denoted as Closeness(Ti, Tk). Let x = |Closeness(Ti, Tj)-1| and let y = |Closeness(Ti, Tk)-1|. If x < y, then tuple Tj is more close to tuple Ti and all the other tuples in the relational database have been calculated, the tuple whose closeness degree with respect to tuple Ti is closest to 1.0 is regarded as closest to tuple Ti, where 1 ≤ i ≤ n.

After calculating the degrees of closeness of the other tuples in the database with respect to tuple Ti, the system will pick a tuple which is closest to tuple Ti. Assume that tuple Tj is closest to tuple Ti, then we can calculate the estimated value “ETi.Salary” of the attribute “Salary” of tuple Ti as follows:

ETi.Salary = Ti.Salary × Closeness(Ti, Tj) (5)

where Ti.Salary denotes the value of the attribute

“Salary” of tuple Tj. In the same way, it can calculate the estimated

values of the attribute “Salary” of all the tuples in a relational database. After we get the estimated values of the attribute “Salary” of all tuples in a relational database, it can calculate the estimated error of each tuple by (6), where Errori denotes the estimated error between the estimated value ETi.Salary of the

Page 190: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

184

attribute “Salary” of tuple Ti and the actual value Ti.Salary of the attribute “Salary” of tuple Ti

Errori = SalaryTSalaryTSalaryET

i

ii

... −

(6)

Let Avg_Error denotes the average estimated error of the tuples based on the combination of weights of the attributes derived from the chromosome, where

Avg_Error = n

Errorn

ii∑

=1

(7) Then, it can obtain the fitness degree of this

chromosome as follows: Fitness Degree = 1 – Avg_Error

(8)

4. ESTIMATING NULL VALUES IN RELATIONAL DATABASE SYSTEMS USING GSA

GSA proposed by Koakutsu et al. [7]. It generates the seeds of Simulated Annealing (SA) sequentially, that is the seeds of a SA local search depends of the best-so-far solutions of all previous SA local searches. This sequentially approach seems to generate better child solutions.

GSA uses fewer crossover operations since it only uses crossover operations when the SA local search reaches a flat surface and it is time to jump in the solution space.

GSA starts with a population X = x1, …, XNp and repeatedly applies 3 operations: SA-based [10] local search, GA-based [1] [9] crossover operation, and population update. SA-based local search produces a candidate solution x’ by changing a small fraction of the state of x. The candidate solution is accepted as the new solution with probability min1, e-∆f/T. GSA preserves the local best-so-far solution x*L during the SA-based local search. When the search reaches a flat surface or the system is frozen, GSA produces a large jump in the solution space by using GA-based crossover. GSA picks up a pair of parent solutions xj and xk at random from the population X such that f(xj) ≠ f(xk), applies crossover operator, and then replace the worst solution xi by the new solution produced by the crossover operator. At the end of each SA-based local search, GSA updates the population by replacing the current solution xi by the local best-so-far solution x*L. GSA terminates when the CPU time reaches given limit, and reports the global best-so-far solution x*G.

Pseudo-code of GSA [7] is as follows: GSA_algorithm(Np, Na, T0, α)

X x1, ..., XNp; /* initialize population */ x*L the best solution among X; /* initialize local best-

so-far */ x*G x*L /* initialize global best-so-far */ while (not reach CPU time limit) T T0; /* initialize temperature */ /* jump */ select the worst solution xi from X; select two solutions xj, xk from X such that f(xj) ≠ f(xk); xi Crossover(xj, xk); /* SA-based local search */ while (not frozen or not meet stopping criterion) for (loop = 1; loop ≤ Na; loop++) x’ --> Mutate(xi); ∆f f(x’) – f(xi); r random number between 0 and 1 if (∆f < 0 or r < exp(-∆f/T)) xi x’; if (f(xi) < f(x*L)) x*L --> xi; /* update local best-so-far */ T T * α /* lower temperature */ if (f(x*L) < f(x*G)) x*G x*L; /* update global best-so-far */ /* update population */ xi x*L; f(x*L) +∞; /* reset current local best-so-far */ return x*G; We implemented that pseudo-code by the code

algorithm depicted at Figs. 6-9 below. Prosedure EvaluationAndBestSelection find the best solution among population. Also it initializes

LocalBestChromosomeSoFar and GlobalBestChromosomeSoFar:

X x1, ..., XNp; initialize population x*L the best solution among X; initialize local best-so-

far x*G x*L initialize global best-so-far FitnessDegreeEval FitnessDegree from global best-so-

far for i:= 1 to number-of-generations do begin T T0; EvaluationAndWorstSelection; select the worst

solution xi from X CrossOver; select two solutions xj, xk from X such that

f(xj) ≠ f(xk): xi Crossover(xj, xk); Mutation; update local best-so-far if value is better repeat for i:= 0 to number-of-mutation do begin f(xi) Get Fitness Degree from chromosome

before mutation x’ Mutate(xi) f(x’) Get Fitness Degree from chromosome after

mutation ∆f f(xi) - f(x’) r random number between 0 and 1 ft f(x’) if (∆f >= 0) or (r >= exp(-∆f/T)) then begin xi x’; ft f(xi); end; if (ft >= FitnessDegreeEval) then begin x*L xi; update local best-so-far

Page 191: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Genetic Simulated Annealing for Null Values Estimating in Generating Weighted Fuzzy Rules from Relational Database Systems – Irfan Subakti

ISSN 1858-1633 @2005 ICTS

185

FitnessDegreeEval ft FDLocalBestSoFar ft Get local best Fitness

Degree end end T T * α; lower temperature until T <= FrozenValue; CountCloseness(x*L); get FD from

LocalBestChromosomeSoFar AvgError:= AvgError / NumData; FDLocalBestSoFar:= 1 - AvgError; CountCloseness(x*G); get FD from

GlobalBestChromosomeSoFar AvgError:= AvgError / NumData; FDGlobalBestSoFar:= 1 - AvgError; if FDLocalBestSoFar >= FDGlobalBestSoFar then

begin x*G x*L; update global best-so-far FitnessDegreeEval:= FDGlobalBestSoFar; end; xi x*L; update population end;

Figure 6. GSA code algorithm

Prosedure CountClosenessValue AvgError:= 0.0; for i:= 0 to NumData - 1 do begin base on all data

available BestClosenessEval:= MaxInt; IdxClosestCloseness:= i; for j:= 0 to NumData - 1 do if i <> j then begin if Rank(Ti.X) ≥ Rank(Tj.X) then begin ClosenessE(Ti,Tj)= Similarity(Ti.X,Tj.X) ×

Weight(Tj.Degree) + (Ti.Experience/Tj.Experience) ×

Weight(Tj.Experience); end else begin If Rank(Ti.X) < Rank(Tj.X) ClosenessE:= 1/Similarity(Ti.X,Tj.X) ×

Weight(Tj.Degree) + (Ti.Experience/Tj.Experience) ×

Weight(Tj.Experience); end; find a tuples which is closest to 1.0 as a closest tuple to tuple Ti ClosestCloseness:= Abs(1 - ClosenessE); if ClosestCloseness <= BestClosenessEval then begin BestClosenessEval:= ClosestCloseness; IdxClosestCloseness:= j; end; end; Then we find Estimated Salary and Error for every

record if this record was null value, so we must find another record that closest to 1 if IsNullValue(i) and IsNullValue(IdxClosestCloseness)

then begin PreferIdx:= GetPreferIdx; ETi.Salary:= Ti. Salary ×

GetClosenessValue(PreferIdx); if Tprefer-index.Salary <> 0 then Errori:= (ETi.Salary – Tprefer-index.Salary)/ Tprefer-

index.Salary end else begin ETi.Salary:= Ti. Salary ×

GetClosenessValue(IdxClosestCloseness); if Ti.Salary <> 0 then Errori:= (ETi.Salary – TiSalary)/ TiSalary end;

AvgError:= AvgError + Abs(Errori); end; Figure 7. Prosedure CountCloseness code algorithm function GetClosenessValue(Idx) Result find value in ClosenessE which have the

same index with Idx Figure 8. Function GetClosenessValue code algorithm function GetPreferIdx Result find value in ClosenessE that closest to 1,

and it's not null value

Figure 9. Function GetPreferIdx code algorithm

We revise the Equation (8), since we obtained that formula (8) reduce precision of fitness value of a chromosome. It makes convergence slower, and the result becomes less precise. For example, once upon a time we have Avg_Error = - 0.1, so we get Fitness Degree = 1 – (-0.1) = 1.1. Another time if we have Avg_Error = 0.1, then we get Fitness Degree = 1 – 0.1 = 0.9. Both of Avg_Error (i.e., -0.1 and 0.1) are the same (i.e., deviation value) but obviously we get different result (i.e., 1.1 and 0.9, respectively). Within running it will slower to reach the convergence. So we proposed a bit correction as:

Fitness Degree = 1 – Absolute (Avg_Error) (9) As we predict before, after we make a bit

corrections above and implemented with GSA Program, we get the result more precise, as experiences in the following showed.

Using the same relation in a relational database containing a null value [6] as shown in Table 4, we performed some experiences. We run this program for different parameters, each for 10 times, for 2 types of experiment. Table 5 described the parameters. Also the Size of Population and Number of Generations are varied for each running program.

Table 4. Relation in a relational database containing a null value EMP-ID Degree Experience Salary

S1 Ph.D. 7.2 63,000 S2 Master 2.0 37,000 S3 Bachelor 7.0 40,000 S4 Ph.D. 1.2 47,000 S5 Master 7.5 53,000 S6 Bachelor 1.5 26,000 S7 Bachelor 2.3 29,000 S8 Ph.D. 2.0 50,000 S9 Ph.D. 3.8 54,000

S10 Bachelor 3.5 35,000 S11 Master 3.5 40,000 S12 Master 3.6 41,000 S13 Master 10.0 68,000 S14 Ph.D. 5.0 57,000 S15 Bachelor 5.0 36,000 S16 Master 6.2 50,000 S17 Bachelor 0.5 23,000 S18 Master 7.2 55,000 S19 Master 6.5 51,000 S20 Ph.D. 7.8 65,000 S21 Master 8.1 64,000 S22 Ph.D. 8.5 null

Page 192: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

186

Table 5. Parameters of experiments Experiment Mutation

Rate Initial

Temperature Alpha Frozen

Value Type 1 0.01 100 0.7 0.00001 Type 2 0.1 100 0.7 0.00001

The result of one of experiment is depicted in

Table 6, and the summaries from all experiments are depicted in Table 7.

Table 6. One result of the running program Size of Population: 60. Number of Generations: 300 Mutation Rate: 0.01 Initial Temperature: 100 Alpha: 0.7 Frozen Value: 0.00001

# Avg.

Estimated Error

Ho ur

Mi nute

Se- cond

Mili second Total Time

1 0.01365808 0 20 28 453 0h:20m:28s:453ms

2 0.01365808 0 20 32 328 0h:20m:32s:328ms

3 0.004348226 0 20 29 500 0h:20m:29s:500ms

4 0.004348226 0 20 30 125 0h:20m:30s:125ms

5 0.004348226 0 20 27 78 0h:20m:27s:78ms

6 0.004348226 0 20 23 282 0h:20m:23s:282ms

7 0.004348226 0 20 27 984 0h:20m:27s:984ms

8 0.004348226 0 20 30 328 0h:20m:30s:328ms

9 0.004348226 0 20 31 578 0h:20m:31s:578ms

10 0.004348226 0 20 30 16 0h:20m:30s:16ms

Min 0.004348226 0 20 23 16 Ave rage 0.006210197 0 20 28.7 367.2

Max 0.01365808 0 20 32 984

Table 7. Summaries of all experiments (a)

Avg. Estimation

Error

Size Of

Popu-lation

Number of Generations

Mutation Rate (%)

Initial Temperature Alpha Frozen

Value

0.002967128 60 300 10 100 0.7 0.00001

0.005444614 40 150 10 100 0.7 0.00001

0.005466245 30 100 10 100 0.7 0.00001

0.006210197 60 300 1 100 0.7 0.00001

0.006618262 50 200 10 100 0.7 0.00001

0.006621554 40 150 1 100 0.7 0.00001

0.007580152 50 200 1 100 0.7 0.00001

0.008184308 30 100 1 100 0.7 0.00001

(b) Min.

Estimation Error

Size Of

Popu-lation

Number of Generations

Mutation Rate (%)

Initial Temperature Alpha Frozen

Value

0.002890637 60 300 10 100 0.7 0.00001

0.003153504 40 150 1 100 0.7 0.00001

0.003194167 30 100 10 100 0.7 0.00001

0.003410507 40 150 10 100 0.7 0.00001

0.003821698 50 200 10 100 0.7 0.00001

0.004348226 60 300 1 100 0.7 0.00001

0.006138154 30 100 1 100 0.7 0.00001

0.006334942 50 200 1 100 0.7 0.00001(c)

Max. Estimation

Error

SizeOf

Popu-lation

Number of

Generations

Mutation Rate (%)

Initial Tempe-rature

Alpha Frozen Value

0.003090779 60 300 10 100 0.7 0.00001

0.007768472 40 150 10 100 0.7 0.00001

0.00905076 30 100 10 100 0.7 0.00001

0.009636727 50 200 1 100 0.7 0.00001

0.009740355 50 200 10 100 0.7 0.00001

0.011162399 30 100 1 100 0.7 0.00001

0.01365808 60 300 1 100 0.7 0.00001

0.018120004 40 150 1 100 0.7 0.00001

4.1. Chen’s [6] Result As a comparison, we toke the results from Chen et

al. [6] as in the following. Best chromosome: 0.010 0.071 0.343 0.465 0.505 0.303 0.495 0.081 0.778 0.717 0.303 0.869 0.869 0.828 0.434

Below is the result from with size of population: 60; number of generations: 300; Cross Over rate: 1.0; and Mutation rate: 0.2

EMP-

ID Degree Expe-

rience Salary Salary

(Estimated) Estimated

Error S1 Ph.D. 7.2 63,000 61,515.00 -0.024 S2 Master 2.0 37,000 36,967.44 -0.001 S3 Bachelor 7.0 40,000 40,634.14 0.016 S4 Ph.D. 1.2 47,000 46,873.66 -0.003 S5 Master 7.5 53,000 56,134.37 0.059 S6 Bachelor 1.5 26,000 26,146.40 0.006 S7 Bachelor 2.3 29,000 27,822.08 -0.041 S8 Ph.D. 2.0 50,000 50,067.20 0.001 S9 Ph.D. 3.8 54,000 53,958.94 -0.001 S10 Bachelor 3.5 35,000 35,152.00 0.004 S11 Master 3.5 40,000 40,206.19 0.005 S12 Master 3.6 41,000 40,796.57 -0.005 S13 Master 10.0 68,000 68,495.74 0.007 S14 Ph.D. 5.0 57,000 56,240.72 -0.013 S15 Bachelor 5.0 36,000 34,277.54 -0.048 S16 Master 6.2 50,000 49,834.85 -0.003 S17 Bachelor 0.5 23,000 23,722.40 0.031 S18 Master 7.2 55,000 51,950.6 -0.055 S19 Master 6.5 51,000 51,197.58 0.004 S20 Ph.D. 7.8 65,000 64,813.75 -0.003 S21 Master 8.1 64,000 60,853.28 -0.049 S22 Ph.D. 8.5 70,000 69,065.83 -0.013

Average Estimated Error 0.018

Page 193: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Genetic Simulated Annealing for Null Values Estimating in Generating Weighted Fuzzy Rules from Relational Database Systems – Irfan Subakti

ISSN 1858-1633 @2005 ICTS

187

For another running it also gets the average estimated errors for different parameters of the GA.

Size of Population

Number of Generations

Crossover Rate

Mutation Rate Average Estimated

Error 30 100 1.0 0.1 0.036 40 150 1.0 0.1 0.032 50 200 1.0 0.2 0.027 60 300 1.0 0.2 0.018

4.2. This Improving Method’s Result

Size of Population: 60 Number of Generations: 300 Mutation Rate (%): 10 Initial Temperature: 100 Alpha: 0.7 Frozen Value: 0.00001 Best Chromosome Gene-1 Gene-2 Gene-3 Gene-4 Gene-5 Gene-6 0.719 0.995 0.989 0.485 0.095 0.896 Gene-7 Gene-8 Gene-9 Gene-10 Gene-11 0.277 0.416 0.085 0.997 0.183 Gene-12 Gene-13 Gene-14 Gene-15 0.583 0.350 0.652 0.241 EMP-

ID Degree Expe-

rience Salary Salary

(Estimated) Estimated Error

1 Ph.D. 7.2 63,000 62,889.86 -0.00174820

2 Master 2 37,000 36,847.97 -0.00410900

3 Bachelor 7 40,000 40,128.33 0.00320820

4 Ph.D. 1.2 47,000 46,538.60 -0.00981700

5 Master 7.5 53,000 52,978.58 -0.00040420

6 Bachelor 1.5 26,000 25,970.00 -0.00115400

7 Bachelor 2.3 29,000 28,967.01 -0.00113750

8 Ph.D. 2 50,000 50,341.15 0.00682300

9 Ph.D. 3.8 54,000 53,836.28 -0.00303190

10 Bachelor 3.5 35,000 35,060.59 0.00173100

11 Master 3.5 40,000 39,876.06 -0.00309860

12 Master 3.6 41,000 40,875.72 -0.00303120

13 Master 10 68,000 68,087.03 0.00127980

14 Ph.D. 5 57,000 56,731.71 -0.00470680

15 Bachelor 5 36,000 36,051.19 0.00142190

16 Master 6.2 50,000 49,936.01 -0.00127980

17 Bachelor 0.5 23,000 22,940.28 -0.00259660

18 Master 7.2 55,000 54,966.66 -0.00060620

19 Master 6.5 51,000 50,945.03 -0.00107780

20 Ph.D. 7.8 65,000 64,938.81 -0.00094140

21 Master 8.1 64,000 63,933.65 -0.00103670

22 Ph.D. 8.5 70,000 70,654.72 0.00935310

Average Estimated Error 0.002890636946022

Time Elapsed 3h:15m:50s:968ms

We can see from the result that by using GSA it

improves the result of the existing method (i.e., using Genetic Algorithms) proposed by Chen et al. [6].

We can’t get the time elapsed by the GA method used in the [6], but during the implementation of our method we also try to use GA and observed the performance. Apparently, by using GSA the only constraint is time. GSA obviously takes longer time than GA while obtaining significant best value of chromosome through the decrement of T (temperature), since the decrement should be maintained bit by bit consistently until reach the frozen value. If the frozen value is too high, the result will decrease significantly, but if it’s too low, it takes a significant time even though the result is quite higher. So, there’s a trade-off for deciding the frozen value for GSA. 5. CONCLUSIONS

In this paper, we have presented an improving

method to estimate null values in relational database systems using Genetic Simulated Annealing (GSA), where the attributes appearing in the antecedent parts of the generated fuzzy rules have different weights.

After a predefined number of evolutions of the GSA, the best chromosome contains optimal weights of the attributes, and they can be translated into a set of rules to be used for estimating null values. This improving method can get a higher average estimated accuracy rate than the existing method which used GA. The only constraint of GSA is time. It takes longer time comparing with GA.

We also modified Equation (9) to make the convergence process faster and the result of estimating null values in relational database systems using GSA becomes more precise. REFERENCES

[1] Brown, D., Huntley, C. and Spillane, A. , “A

parallel genetic heuristic for the quadratic assignment problem,” Proc. 3rd Int. Conf. Genetic Algorithms, 1989, pp.406-415.

[2] Burkhardt, D.G and Bonissone, P.P., “Automated fuzzy knowledge base generation and tuning,” Proc. 1992 IEEE Int. Conf. Fuzzy Systems, San Diego, CA, 1992, pp. 179-419.

[3] Chen, S.M. and Yeh, M.S., “Generating fuzzy rules from relational database systems for estimating null values,” Cybern. Syst., vol. 28, no. 8, 1997, pp. 695-723.

[4] Chen, S.M. and Chen, H.H., “Estimating null values in the distributed relational database environment,” Cybern. Syst., vol. 31, no. 8, 2000, pp. 851-871.

Page 194: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

188

[5] Chen, S.M., Lee, S.H. and Lee, C.H., “A new method for generating fuzzy rules from numerical data for handling classification problems,” Appl. Art. Intel., vol. 15, no. 7, 2001, pp. 645-664.

[6] Chen, S.M. and Huang, C.M., “Generating weighted fuzzy rules from relational database systems for estimating null values using genetic algorithms,” IEEE Trans.On Fuzzy Systems, vol. 11, no. 4, 2003, pp. 495-506.

[7] Koakutsu, S., Kang, M. and Dai, W.W.-M, “Genetic simulated annealing and application to

non-slicing floorplan design,” Proc. 5th ACM/SIGDA Physical Design Workshop, (Virginia, USA), 1996, pp. 134-141.

[8] Lin, H.L. and Chen, S.M., “Generating weighted fuzzy rules from training data for handling fuzzy classification problems,” Proc. 2000 Int. Computer Symp.: Workshop Artificial Intelligence, Chiayi, Taiwan, R.O.C., 2000, pp. 11-18.

[9] Lin, T.-T., Kao, C.-Y. and Hsu, C.-C., “Applying

the genetic approach to simulated annealing in solving some NP-Hard problems,” IEEE Trans. System, Man, and Cybernetics, vol. 23, no. 6, 1993, pp.1752-1767.

[10] Sigrag, D. and Weisser, P., “Toward a unified thermodynamic genetic operator,” Proc. 2nd Int. Conf. Genetic Algorithms, 1987, pp.116-122.

[11] Tsukimoto, H., “Extracting rules from trained neural networks,” IEEE Trans. Neural Networks, vol. 11, 2000, pp. 377-389.

[12] Wang, L.X. and Mendel, J.M., “Generating fuzzy rules by learning from examples,” IEEE Trans. Syst., Man, Cybern., vol. 22, 1992, pp. 1414-1427.

[13] Zadeh, L.A., “Fuzzy sets,” Inform. Control, vol. 8, 1965, pp. 338-353.

Page 195: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

189

IMAGE THRESHOLDING BY MEASURING THE FUZZY SETS SIMILARITY

Agus Zainal Arifina, b, Akira Asanoc

a Dept. of Information Engineering, Graduate School of Engineering, Hiroshima University, Japan b Department of Informatics, ITS Surabaya, Kampus ITS Sukolilo, Surabaya, 60111, Indonesia c Division of Mathematical and Information Sciences, Faculty of Integrated Arts and Sciences,

Hiroshima University 1-7-1, Kagamiyama, Higashi-Hiroshima, 739-8521, Japan E-mail : [email protected]

ABSTRACT

Finding an optimal gray level threshold that can separate objects from background is an important issue. This paper proposes a new method for thresholding the image histogram into two crisp subsets, based on a fuzzy logic and maximization of a criterion function. In order to evaluate the performance of the proposed method, we apply the proposed method to the poorly illuminated OCR source images. The comparison of the thresholded images by the proposed method with the Otsu’s method and Kwon’s method, illustrates the effectiveness of this method. 1. INTRODUCTION

Thresholding is a widely used tool in image segmentation for partitioning pixels in a digital image into two nonoverlapping sets. Finding an optimal gray level threshold that can separate objects from background is an important issue. Since image thresholding is a well-researched field, there exist many algorithms for determining an optimal threshold of the image. Sezgin and Sankur have conducted an exhaustive survey of image thresholding methods and categorized them according to the exploited information, such as histogram shape, measurement space clustering, entropy, object attributes, spatial correlation, and local gray level surface [1].

This paper proposes a thresholding method on the

basis of histogram image, because it is a computationally efficient way. Usually, such methods imply thresholding a histogram according to the maximization or minimization of criterion function. Several histogram-based approaches have been proposed to segment images, but none is universal and this equation still remains an open problem.

Such an algorithm is the well-known Otsu’s algorithm that evaluated the goodness of each gray level if used as the threshold [2]. This evaluation considered the discriminant analysis which maximizes the separability of the resultant classes in gray level. This method selecting a

gray level as the threshold, so that the measure of the class separability defined by a criterion function has the maximum value, at which the mean of two classes would be as well-separated as possible and the variances would be as small as possible.

Kittler and Illingworth have proposed the minimum error threshold selection based on the assumption that the object and background gray levels is normally distributed [3]. The principal idea is to optimize a criterion function determined from the average gray levels classification error rate. It is found to give excellent results even in the presence of a wide range of region scatters. In this method, the cost function is derived based on Bayes rule.

These measurements are applied directly to the histograms, which make them computationally efficient. However, if the assumption of similar class sizes is not met, they are found to be unstable [4]. It may be seen that many of these algorithm perform excellently well for a set of images depending on the underlying assumptions and yield poor results often in other situations.

Fuzzy logic, which has an ability to deal with ambiguous data, is a powerful tool to solve the ambiguity or fuzziness caused by the overlapping of the two class probability densities [5]. During the past decade, several fuzzy model based methods have been developed to overcome this difficulty [6]. It has been applied for thresholding image by minimizing the measure of fuzziness of the image [7].

Huang and Wang have developed a fuzzy entropy-based thresholding algorithm, which measure the fuzziness directly in the image histogram [8]. This method utilizes two fuzziness measurements (i.e. Shannon’s function and Yager’s measurement) for determining the fuzziness of each pixel. The image is viewed as a fuzzy set that reflecting the membership of each pixel to which it belongs. This membership value is calculated based on the absolute difference between the gray level of the pixel and the mean of the region to which it belongs.

We propose a new method for thresholding the image histogram based on a fuzzy logic and maximizing a criterion function. However, differently from previous methods, we do not regard an image as a single fuzzy set. Instead, the proposed method

Page 196: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

190

regards an image as two fuzzy sets correspond to the background and objects classes.

To this end, the criterion function represents the similarity measure between both fuzzy sets for evaluating the goodness of each gray level if used as the threshold. Hence, in the proposed method, we do not use any measurement of fuzziness of each gray level to a class for selecting the optimal threshold. Instead, the fuzzy sets similarity of background and objects will conclude the optimal threshold gray level.

2. HISTOGRAM THRESHOLDING

In the implementation of the histogram thresholding algorithm on a basis of fuzzy sets similarity degree comparation, we shall assume: 1. A given histogram image consists of two fuzzy

sets corresponded to the black and white regions which are separated by a gray level alone.

2. The membership degree of gray levels located exactly at the center of black region or the left hand side achieve the maximum value for the black fuzzy set and the minimum value for the white fuzzy set.

3. The membership degree of gray levels located exactly at the center of white region or the right hand side of it achieved the maximum value for the white fuzzy set and the minimum value for the black fuzzy set.

The aim of this algorithm is to threshold the gray

level histogram into two crisp subsets, using fuzzy set similarity measurement.

2.1. The Fuzzy Set The fuzzy set concept offers a convenient

framework for representing imprecise concepts. A fuzzy membership function denotes the degree of membership of a pixel to a particular class. Let X denote an image set of size MN, whose pixels L gray levels, in the range [0, L–1] and xmn is the gray level of a (m,n) pixel in X. Let us consider the membership grade by a mathematical function µA(xmn) [7].

A fuzzy set A in X is formally denoted as A=( xmn, µA(xmn)), (1)

where 0 ≤ µA(xmn)≤1 and A is characterized by the function µA(xmn), which assigned to each pixel.

In this paper, based on the two regions determined in the assumption 1), let us define two linguistic variables Object, Background, denoted as fuzzy sets O and B, respectively. We modeled the characteristic functions of µO(xmn) and µB(xmn) that correspond to the membership function of object and background, respectively. These functions assign to each pixel in

the fuzzy set O and B of membership grade in the interval [0, 1]. Given T as the threshold, such membership functions are defined as

(2)

(3)

where vO and vB are the mean gray level value of pixels in object with interval [0, T] and background with interval [T+1, L-1], respectively. They are defined using the histogram information as

(4) and (5)

where h(z) is the height of the histogram at gray level z. Since the of the proposed thresholding heavily rely on the histogram, for simplicity, we will normalize those height of the histogram.

The parameter D is chosen as D = vB – vO, i.e. the length of fuzzy region at which each gray level has a membership degree to each group. Note that we assign a highest membership value to background class for all pixels whose gray level less than the center of the background region. This concludes that the calculating membership value of such pixels to the other class is no longer needed, because the gray level of vB, which larger from them has been assigned as zero membership value to the object class.

We apply the same concept to the gray levels larger than vO, so that those gray levels will have full membership to the object class and no membership to the background class. In addition, the definition of vB and vO indicate that the position of the T is in between or vO ≤ T < vB.

( )⎪⎩

⎪⎨

≥<<−−≤

=

Bmn

BmnOOmn

Omn

mnO

vxvxvDvxvx

x,0

,/)(1,1

µ

( )⎪⎩

⎪⎨

≥<<−−≤

=

Bmn

BmnOmnB

Omn

mnB

vxvxvDxvvx

x,1

,/)(1,0

µ

=

== T

z

T

zO

zh

zhzv

0

0

)(

)(.

∑−

+=

+== 1

1

1

1

)(

)(.

L

Tz

L

TzB

zh

zhzv

Page 197: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Image Thresholding by Measuring the Fuzzy Sets Similarity – Agus Zainal Arifin & Akira Asano

ISSN 1858-1633 @2005 ICTS

191

Figure 1. Histogram of a sample image and fuzzy sets O and B

corresponding to gray level T as the threshold.

Given gray level T as the threshold, the shape of

the membership functions for fuzzy set O, which has the cluster center in vO and fuzzy set B which has the cluster center in vB is shown in Fig. 1. Note that gray levels in [0, vO] and [vb, L–1] have full membership value and zero membership value, respectively, to the fuzzy set O. While gray levels between vO dan vB tend to decrease from one until zero. The fuzzy set B takes the same characteristic into account.

2.2. Fuzzy Set Similarity

Distinguishing similar groups or classifying similar elements needs a tool for deciding the similarity degree among them. Similarity measurement of two fuzzy sets A dan B, indicates the degree of similarity of two fuzzy sets. The idea of finding the similarity of such fuzzy sets is regarding the goodness of separability of the two fuzzy sets resulted, when we

used a gray level as the threshold value. The lower the measured similarity value, the larger the separability of the two fuzzy sets.

The center of the object region is used as a seed for

starting the similarity measure process. Since all gray levels less than this value considered as the member of the object region, we do not need to measure their similarity to the other fuzzy set, because their membership to the other fuzzy set should be zero. Also, we define the center of the background region as a seed for ending the similarity measure process as depicted in Fig. 1.

Since all gray levels larger than this value are

considered as the member of objects region, we do not need to consider their membership grade to the other fuzzy set. To this end, a similarity measure of two fuzzy sets is used for assessing the separability of the resulted fuzzy sets when we choose a gray level as the threshold.

We assign gray level xi of the two fuzzy regions,

which existed between vB and vO, membership values µB(xi) and µO(xi) to the fuzzy sets B and O, respectively. The more the difference of membership values of xi to the fuzzy sets B and O, the better separability of the two fuzzy sets. Hence, for the two fuzzy sets B and O, at a particular gray level xi, we measure the information amount for discrimination of µB(xi) to µO(xi) [9]. In this paper, the information amount for discrimination at gray level xi Disc(T, xi), which used T as the threshold value, is defined as . (6) )()(),( iBiO xx

i exTDisc µµ −=

(a) (b) (c) (d) Figure 3. The thresholded images by the proposed method

(a) (b) (c) (d) Figure 2. The original images.

Page 198: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

192

The reason for calculating from the absolute value

is only to consider the difference membership degree of each gray level to the two fuzzy sets. It is obvious that the least difference for gray level at which its membership to the two fuzzy sets has the same value is achieved in the intersection point between two lines reflecting the membership value in the fuzzy region.

2.3. Criterion Function

The difference accumulation of membership degree from all gray levels when we choose T as the threshold will indicate the goodness of T in discriminating the two fuzzy sets. Given gray level T as the threshold, the criterion function is defined as (7) where M and N are the image size. If all pixels having the same gray levels in Eq. (7), are grouped by using the histogram information, then the equation can be simplified as follows (8) where h(z) is the height of the histogram at gray level z and L is the number of bin in the histogram. The optimal threshold is chosen to maximize J(T), that is

(9)

where T* denote the optimal threshold at which the discrimination of the two fuzzy sets is maximized.

3. EXPERIMENTAL RESULTS

In order to evaluate the performance of the proposed method, our algorithm has been tested experimentally. We apply the proposed method to images 1, 2, 3, and 4, as shown in Fig. 2(a)–(d), respectively. These images are poorly illuminated OCR source images, which contained noises caused by inappropriate way of scanning and the appearance of some texts printed on the back page. Since all images have gray levels ranged from 0 to 255, we will select the most suitable one used as the threshold among 256 gray levels based on Eq. (9).

In addition to the proposed method, two other methods, which are Otsu’s thresholding method [2] and Kwon’s threshold selection method [10] are used for comparison. The reason for choosing the two methods is that they have similar basis of selection in which the

criterion function is used for evaluating the goodness of a gray level as the threshold.

The thresholded images using the proposed method for images 1, 2, 3, and 4, respectively are shown in Figs. 3(a)–(d). The wide noise regions caused by the different illumination at the left hand

)(.),()(1

0

zhzTDiscTJL

z∑−

=

=

)(minarg*10

TJTLT −≤≤

=

∑∑−

=

=

−=1

0

1

0

)()(

.1)(

M

m

N

n

zz mnBmnOeNM

TJ µµ

(a) (b) (c) (d) Figure 4. The thresholded images using Otsu’s method

(a) (b) (c) (d) Figure 5. The thresholded images using Kwon’s method

Page 199: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Image Thresholding by Measuring the Fuzzy Sets Similarity – Agus Zainal Arifin & Akira Asano

ISSN 1858-1633 @2005 ICTS

193

side of image 1, 3, and 4 or the right hand side of image 2 cannot be removed well. However most of all texts can be seen, even from the image with very dark background as shown in Fig. 3(c).

Table 1. Threshold values for the experimental images

Image Method 1 2 3 4

P 123 54 12 93 O 164 96 57 159 K 140 60 19 128

Note: P, O, and K are the proposed method, Otsus’s method, and Kwon’s method, respectively.

Figs. 4 and 5 illustrated the thresholded images obtained using Otsu’s method and Kwon’s method, respectively. The images shown in Figs. 4(a)–(d) and 5(a)–(d) correspondence with those shown in Figs. 3(a)–(d). Some texts seem to be covered by the background, especially those, which are poorly illuminated and closed to the dark area. The threshold values determined for each image using the three different methods are summarized in Table 1.

Figure 6. The curves of the criterion function obtained by

the proposed method (P), Otsu’s method (O), and

Kwon’s method (K).

Fig. 6 shows the curves corresponding to the

criterion function of the proposed method, Otsu’s method, and Kwon’s method, which are denoted as P, O, and K, when they were applied to the histogram of the image 2. The threshold values of the proposed method, Otsu’s method, and Kwon’s method are 54, 96, 60, respectively. Note, that the proposed method and the Otsu’s method select their threshold value by maximizing the criterion function, while Kwon’s method by minimizing it.

The curve of the proposed method tends to be

drastically changed at the area around the maximum

gray level, which is selected as the threshold. While the curves of the two methods seem to be flat at the corresponding area. This condition suggests the robustness of the proposed method, regarding to the noise sensitivity.

4. CONCLUSION

In this paper, we have presented a new gray level thresholding algorithm based on the similarity of two obtained fuzzy sets, when we used a gray level as the threshold value on a histogram. This algorithm minimized the similarity of the fuzzy sets to get maximum separability of the two regions.

The fuzzy framework is used to obtain the

membership degree of each gray level to the objects and background sets. The optimal threshold value is selected at a gray level, at which the difference accumulation between membership degrees to the two fuzzy sets is maximal. This concept attempted to achieve non-overlapping regions of the histogram, which contents the objects and the background regions.

The comparison of the thresholded images by the

proposed method with the Otsu”s method and Kwon’s method, illustrate the effectiveness of the proposed method.

REFERENCES [1] M. Sezgin and B. Sankur, Survey over image

thresholding techniques and quantitative performance evaluation, Journal of Electronic Imaging, 13(1), 2004, 146-165.

[2] N. Otsu, A threshold selection method from gray-level histograms, IEEE Trans. Systems, Man, and Cybernetics, 9(1), 1979, 62-66.

[3] J. Kittler and J. Illingworth, Minimum error thresholding, Pattern Recognition, 19, 1986, 41-47.

[4] M.-O. Baradez, C.P. McGuckin, N. Forraz, R. Pettengell, and A. Hoppe, Robust and automated unimodal histogram thresholding and potential applications, Pattern Recognition, 37, 2004, 1131-1148.

[5] Z. Chi, H. Yan, and T. Pham, Fuzzy algorithms: with applications to images processing and pattern recognition, Singapore, Word Scientific, 1996.

[6] C.V. Jawahar, P.K. Biswas, and A.K. Ray, Investigations on fuzzy thresholding based on fuzz clustering, Pattern Recognition, 30(10), 1997, 1605-1613.

[7] O.J. Tobias, R. Seara, Image segmentation by histogram thresholding using fuzzy sets. IEEE Trans. On Image Processing, 11, 2002, 1457-1465.

Page 200: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

194

[8] L.K. Huang and M.J. Wang, Image thresholding by minimizing the measure of fuzziness, Pattern Recognition, 28, 1995, 41-51.

[9] J. Fan and W. Xie, Distance measure and induced fuzzy entropy, Fuzzy sets and systems, 104, 1999, 305-314.

[10] S.H. Kwon, Threshold selection based on cluster analysis, Pattern Recognition Letters, 25, 2004, 1045-1050.

Page 201: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

195

DEVELOPMENT OF SCHEDULER FOR LINUX VIRTUAL SERVER IN IPV6 PLATFORM USING ROUND ROBIN ADAPTIVE ALGORITHM,

STUDY CASE: WEB SERVER

Royyana Muslim Ijtihadie, Febriliyan Samopa Faculty Of Information Technology, Sepuluh Nopember Institute of Technology

Kampus FTIF, Keputih, Sukolilo Surabaya email : [email protected], [email protected]

ABSTRACT

With the explosive growth of the Internet, the potential number of clients that a server must support has dramatically increased; some hot sites have already received hundreds of thousands of simultaneous client connections.Server will get overload sometimes. One of the solutions is using server cluster of LVS to reduce the load, and balance the load at each server.one of the scheduling algorithm used by LVS is round-robin algorithm.

This paper discuss about the implementation of adaptif algorithm used with round robin algorithm. This adaptif algorithm calculate the weight and server load, and implements it to the currently running round robin scheduler of LVS.

The result of this research is still shows leak of performance in throughput in using adaptif round-robin instead of using regular LVS. But this adaptif round-robin algorithm shows good of performance in request served per second, and time used per request. Keywords: Linux Virtual Server, IPv6, performance,round robin. 1. INTRODUCTION

With the explosive growth of the Internet, the potential number of clients that a server must support has dramatically increased; some hot sites have already received hundreds of thousands of simultaneous client connections.Server will get overload sometimes..

There are two solutions, first, upgrade the hardware. The first solution seems fine in a short period of time. In the future, the same problems happens again, and the server need to be upgraded again.

The second solution is using multi server. When a server started to overload. We can add another server running same services to reduce the load of the first server. It is possible because the request will be divided by load balancer, and distributed to the server with the same load. In this solution, the concern is the users don’t need to know that there are many servers behind. Users only know that only 1 server they can connect to [1].

Virtual server is a server with high scalability and high availability. Virtual server built from server-

server joined together named server cluster. The architecture of the cluster should be transparent to end-user, therefore end-user just only seen existence of 1 machine [1].

Virtual server distributes the load using scheduling algorithm. Most used is round-robin. Round robin divide the load exactly same between cluster member machines. But this algorithm is not adaptive to system load of machines.

IP version 6 (IPv6) is a new version of the Internet Protocol, designed as the successor to IP version 4 (IPv4) [5].

IPv6 will be widely used in the future because IPv6 has Expanded Addressing Capabilities that increase the scope of the IP addresses. Simple format makes IPv6 can reduce the overhead of common processing cost of packet handling. Improved Suppoer for extension and options can flexible the way of introducing new option in the future.flow labeling capability makes IPv6 labels the packet for particular traffic.and the important issue is authentication and privacy. IPv6 had extensions to suppoer authentication, integrity and data confidentiality[5].

The main focus of this research is to find the right modifications to the round robin scheduling algorithm, so that the response of the server will be concerned by round robin.

2. DESIGN AND IMPLEMENTATION

The development of adaptif round robin algorithm, consists of three parts, System Load collector, Server, dan Monitor.

2.1. System Load Collector System load collector act as a system monitor. it

collects cpu time, memory usage, and file handle usage. This application collects those informations from /proc filesystem.

System load collector, collects data from /proc filesystem. It collects data about cpu time, memory usage, and file handle usage and then write them to the file.

Page 202: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

196

Figure 1 Flowchart of system load collector

2.2. Server This application actually is a service opened in

port 7888. the aim is to serve the request asking for data-data about cpu time, memory usage, and file handle usage.this application needed by monitor (section 2.3) to obtain the data to be implement in adaptif round-robin algorithm

Figure 2 Flowchart of Server

2.3. Monitor Monitor is the implementation of adaptif round

robin algorithm. It collects information about cpu time, memory usage, and file handle, and also the weight of the monitored value (2.4). after collecting those data, monitor calcs the load of the server, and then updates the value to the LVS director.

Figure 3 Flowchart of monitor

2.4. Adaptive Round-Robin Algoirhtm Basically, the algorithm would not directly

implements the round robin algorithm. This algorithm monitors the server’s system load, calcs the value representing the overall load of the server, and implements the weight through the ip6vsadm command (provided by LVS6).

The monitored value (CPU time, memory usage, file handle usage) has its own weight. The monitored value weight represents the load capacity that affects the server. This value defined by system administrator. The results is load server value. The load of the server calculation , based of formula (1).

( ) ( ) ( )

⎟⎠

⎞⎜⎝

⎛++

++=

BobotFHANBobotMemBobotCPUBebanFHANxBobotFHANBebanMemxBobotMemBebanCPUxBobotCPU

B

where: B : Load of server BobotCPU : weight assigned for CPU time BobotMem : weight assigned for memory usage BobotFHAN : weight assigned for file handle usage BebanCPU : CPU time value collected from server BebanMem : Memory value collected from server BebanFHAN : File handle value collected from

server

The weight of server i obtained from formula (2)

⎟⎟

⎜⎜

⎟⎟

⎜⎜

⎛−=

∑ =

100][

1001

xnB

BiWi nserver

n

(2)

where: Wi : Weight server i Bi : Load of Server i B[n] : Sum of all server monitored Load 3. RESULT

This research uses Time per request, number of request per second, and throughput to show the

Page 203: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Development of Scheduler for Linux Virtual Server in IPv6 Platform Using Round Robin Adaptive Algorithm. Case: Web Server – Royyana Musilm & Febriliyan Samopa

ISSN 1858-1633 @2005 ICTS

197

performace indicator. traffic simulator was used to perform the benchmark and experiment process. The parameter of the experiment is number of request performed. The number of request will be 100, 3000, and 5000.all of this benchmark will use the IPv6 platform

The result will show the comparison between benchmarking using LVS and using LVS with adaptif round robin algorithm, all compared with benchmarking using single server.

The results shows that LVS using adaptif round robin algorithm can decrease time used for processing a request (table 1). Compared with using single server, using LVS adaptif can decrease the time per request 90%, compared with using regular LVS, LVS adaptif can decrease to 83%.

The request served per second is increased (table 2).Compared with using single server, using LVS adaptif can increase the number of request served per second 941%. Compared with using regular LVS, LVS adaptif can increase to 509%.

The throughput may the important think to watch. Because the throughput is general way to measure the performance of the server. In table 3, compared with single server, using LVS adaptif decreased the throughput 81%,compared with regular LVS, the LVS adaptif decreased the throughput 88%

5. CONCLUSION Using algorithm adaptif shows leak of

performance in throughput, but seems good in number of request per second, and time used per request. the decreased performance may caused by server overhead, handling request from monitor.

REFERENCE [1] LVS, 2004,Linux virtual server,

http://www.linuxvirtualserver.org [2] Stevens, W. Richard, 1994, TCP/IP

Illustrated Volume I, Addison Wesley. [3] Stevens, W. Richard, 1994, TCP/IP

Illustrated Volume II, Addison Wesley. [4] Stevens, W. Richard, 1994, TCP/IP

Illustrated Volume III, Addison Wesley.

Table 1 comparison of time per request

time per request #req single LVS

LVS adaptif

+/- Single

% +/- LVS % 1000 182.08 104.10 15.91 -91.26 -84.7166 3000 172.65 102.00 17.54 -89.84 -82.8039 5000 171.08 101.60 17.08 -90.02 -83.189

rata-rata 175.27 102.57 16.84 -90.39 -83.5782

Table 2 comparison of number of request per second

#req per second #req single LVS

LVS Adaptive

+/- Single

% +/- LVS

%

1000 5.49 9.61 62.83 1043.92 553.7981

3000 5.79 9.80 57.01 884.63 481.7347

5000 5.85 9.84 58.55 901.71 495.0203

Avg 5.71 9.75 59.46 941.54 509.8803

Table 3 comparison of throughput

throug #req single LVS LVS

adaptif

+/- Single

% +/- LVS %

1000 582.53 982.90 115.1 -80.24 -88.2898

3000 594.35 989.10 104.4 -82.43 -89.4449

5000 593.83 989.90 107.3 -81.93 -89.1605

Avg 590.23 987.30 108.93 -81.54 -88.9665

Page 204: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

Information and Communication Technology Seminar, Vol. 1 No. 1, August 2005

ISSN 1858-1633 @2005 ICTS

198

[5] S. Deering, R. Hinden,1995, RFC 1883 - Internet Protocol, Version 6 (IPv6) Specification,1995.

[6] Peterson, Larry L., Davie, Bruce S.,1999, Computer networks A System Approach, Morgan-Kauffman.

[7] Avi Silberschatz, Peter, 2000, Applied Operating System Concepts, John Wiley & Sons.

[8] James Aweya, Michel Ouellette, Delfin Y. Montuno, Bernard Doray, Kent Felske, 2002,

An adaptive load balancing scheme for web servers ,International Journal of Network Management volume 12 issue 1

[9] Hemant M. Chaskar, Upamanyu Madhow, 2003, Fair scheduling with tunable latency: a round-robin approach,IEEE/ACM Transactions on Networking Volume 11 Issue 4

Page 205: Information and Communication Technology …irfan.if.its.ac.id/wp-content/uploads/2011/11/ICTS2005-The...Information and Communication Technology Seminar Volume 1, Number 1, ... Budianto

ISSN 1858-1633 @2005 ICTS