13.02.2013 Views

Journal of Computers Contents - Academy Publisher

Journal of Computers Contents - Academy Publisher

Journal of Computers Contents - Academy Publisher

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Journal</strong> <strong>of</strong> <strong>Computers</strong><br />

ISSN 1796-203X<br />

Volume 5, Number 1, January 2010<br />

<strong>Contents</strong><br />

Special Issue: Selected Papers <strong>of</strong> the IEEE International Conference on Computer and<br />

Information Technology (ICCIT 2008)<br />

Guest Editors: Syed Mahfuzul Aziz, Vijayan K. Asari, M. Alamgir Hossain, Mohammad A.<br />

Karim, and Mari<strong>of</strong>anna Milanova<br />

Guest Editorial<br />

Syed Mahfuzul Aziz, Vijayan K. Asari, M. Alamgir Hossain, Mohammad A. Karim, and Mari<strong>of</strong>anna<br />

Milanova<br />

SPECIAL ISSUE PAPERS<br />

Cutting a Cornered Convex Polygon Out <strong>of</strong> a Circle<br />

Syed Ishtiaque Ahmed, Md. Ariful Islam, and Masud Hasan<br />

Decision Tree Based Routine Generation (DRG) Algorithm: A Data Mining Advancement to<br />

Generate Academic Routine and Exam-time Tabling for Open Credit System<br />

Ashiqur Md. Rahman, Sheik Shafaat Giasuddin, and Rashedur M Rahman<br />

Anomaly Network Intrusion Detection Based on Improved Self Adaptive Bayesian Algorithm<br />

Dewan Md. Farid and Mohammad Zahidur Rahman<br />

Performance Evaluation for Question Classification by Tree Kernels using Support Vector Machines<br />

Muhammad Arifur Rahman<br />

Recurrent Neural Network Classifier for Three Layer Conceptual Network and Performance<br />

Evaluation<br />

Md. Khalilur Rhaman and Tsutomu Endo<br />

An Enhanced Short Text Compression Scheme for Smart Devices<br />

Md. Rafiqul Islam and S. A. Ahsan Rajon<br />

Design and Analysis <strong>of</strong> an Effective Corpus for Evaluation <strong>of</strong> Bengali Text Compression Schemes<br />

Md. Rafiqul Islam and S. A. Ahsan Rajon<br />

A Corpus-based Evaluation <strong>of</strong> a Domain-specific Text to Knowledge Mapping Prototype<br />

Rushdi Shams, Adel Elsayed, and Quazi Mah- Zereen Akter<br />

Implementation <strong>of</strong> Low Density Parity Check Decoders using a New High Level Design<br />

Methodology<br />

Syed Mahfuzul Aziz and Minh Duc Pham<br />

REGULAR PAPERS<br />

A Formal Model for Abstracting the Interaction <strong>of</strong> Web Services<br />

Li Bao, Weishi Zhang, and Xiong Xie<br />

1<br />

4<br />

12<br />

23<br />

32<br />

40<br />

49<br />

59<br />

69<br />

81<br />

91


Performance Evaluation <strong>of</strong> Elliptic Curve Projective Coordinates with Parallel GF(p) Field<br />

Operations and Side-Channel Atomicity<br />

Turki F. Al-Somani<br />

VPRS-Based Knowledge Discovery Approach in Incomplete Information System<br />

Shibao Sun, Ruijuan Zheng, Qingtao Wu, Tianrui Li<br />

NaXi Pictographs Input Method and WEFT<br />

Hai Guo and Jing-ying Zhao<br />

A Systematic Decision Criterion for Urban Agglomeration: Methodology for Causality Measurement<br />

at Provincial Scale<br />

Yaobin Liu and Li Wan<br />

Application <strong>of</strong> Improved Fuzzy Controller for Smart Structure<br />

Jingjun Zhang, Liya Cao, Weize Yuan, Ruizhen Gao, and Jingtao Li<br />

Numerical Simulation <strong>of</strong> Snow Drifting Disaster on Embankment Project<br />

Shouyun Liang, Xiangxian Ma, and Haifeng Zhang<br />

The Simulation <strong>of</strong> Extraterrestrial Solar Radiation Based on SOTER in Zhangpu Sample Plot and<br />

Fujian Province<br />

Zhi-qiang Chen and Jian-fei Chen<br />

Multiplicate Particle Swarm Optimization Algorithm<br />

Shang Gao, Zaiyue Zhang, and Cungen Cao<br />

Research and Design <strong>of</strong> Intelligent Electric Power Quality Detection System Based on VI<br />

Yu Chen<br />

99<br />

110<br />

117<br />

125<br />

131<br />

139<br />

144<br />

150<br />

158


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 1<br />

Special Issue on Selected Papers <strong>of</strong> the IEEE International Conference on Computer and<br />

Information Technology (ICCIT 2008)<br />

Guest Editorial<br />

The unprecedented advances in hardware and s<strong>of</strong>tware technologies, computer communications, networking<br />

technologies and protocols, the Internet, parallel, distributed and mobile computing are allowing us to enhance the way<br />

we go about our everyday business. Consequently, demand imposed by these new and innovative applications <strong>of</strong><br />

computers and information technologies continues to challenge researchers to seek innovative solutions.<br />

This Special Issue presents selected papers from the IEEE International Conference on Computer and Information<br />

Technology (ICCIT 2008) held on December 25-27, 2008 at Khulna University <strong>of</strong> Engineering and Technology in<br />

Bangladesh. Before introducing the synopsis <strong>of</strong> the papers, a brief introduction to the history <strong>of</strong> ICCIT is in order.<br />

ICCIT 2008 was the eleventh annual conference in the series, the first one was held in Dhaka, Bangladesh, in 1998.<br />

Since then the conference has grown to one <strong>of</strong> the largest conferences in the South Asian region, focusing on computer<br />

technologies, IT and relevant areas, with participation <strong>of</strong> academics and researchers from many countries. A double<br />

blind review process is followed whereby each paper submitted to the conference is reviewed by at least two<br />

independent reviewers <strong>of</strong> high international standing. The acceptance rate <strong>of</strong> papers in recent years has been less than<br />

30%, indicative <strong>of</strong> the quality <strong>of</strong> work the papers need to demonstrate to be accepted for presentation at the conference.<br />

The proceedings <strong>of</strong> ICCIT 2008 were included in IEEExplore.<br />

In 2008, a total <strong>of</strong> 538 full papers were submitted to the conference <strong>of</strong> which 158 were accepted for the conference<br />

after reviews conducted by an international program committee comprising 77 members from 12 countries with<br />

assistance from 83 reviewers. Form these 158 only 21 highly ranked papers were invited for this Special Issue. The<br />

authors were invited to enhance their papers significantly and submit the same for review. Of those only nine papers<br />

survived the review process and have been selected for inclusion in this Special Issue. The authors <strong>of</strong> these papers<br />

represent academic and/or research institutions from Australia, Bangladesh, Japan, and United Kingdom. These nine<br />

papers cover four domains <strong>of</strong> computing namely, application-driven algorithms, classification, text compression, and<br />

electrical/digital systems.<br />

The first paper by S.I. Ahmed, M.A. Islam, and M. Hasan presents algorithms for efficiently cutting a cornered<br />

convex polygon out <strong>of</strong> a circle. The problem <strong>of</strong> cutting small polygonal objects efficiently out <strong>of</strong> larger planar objects<br />

arises in many applications, such as metal sheet cutting, furniture manufacturing, ceramic industries, ornaments, and<br />

leather industries. One <strong>of</strong> these algorithms has been shown to have better running time and the other better<br />

approximation ratio compared to the known algorithms. The next paper by A.M. Rahman, S.S. Giasuddin, and R.M.<br />

Rahman presents heuristic based strategies that generate efficient academic routines and exam timetables for an<br />

educational institution that follows open credit system. The algorithm developed, based on decision tree and sequential<br />

search techniques, shows promising simulation results to satisfy both student and teacher preferences. To provide<br />

improved detection <strong>of</strong> network intrusion, a self adaptive Bayesian algorithm is presented by D.M. Farid and M.Z.<br />

Rahman in the last application-driven paper. The technique proposed in this paper for alert classification is aimed at<br />

reducing false positives in intrusion detection.<br />

The next two papers deal with classification challenges. In the first <strong>of</strong> these two papers, M.A. Rahman presents an<br />

approach to automatic question classification through machine learning approaches. It provides empirical evaluation <strong>of</strong><br />

Support Vector Machine based question classification across three variations <strong>of</strong> tree kernels as well as three major<br />

parameters. The second classification related paper authored by M.K. Rahman and T. Endo proposes an Elman RNNbased<br />

classifier for disease classification for a doctor patient-dialog system. A three layer memory structure is adopted<br />

to address the challenge <strong>of</strong> contextual analysis <strong>of</strong> dialog. It simulates the human brain by discourse information.<br />

Two <strong>of</strong> the papers next are geared to address text compression issues. The first paper by M.R. Islam, and S.A.A.<br />

Rajon presents a low-complexity lossless compression scheme suitable for smart devices such as cellular phones and<br />

personal digital assistants. These devices typically have small memory and relatively low processing speed. Therefore<br />

these applications are expected to benefit from the proposed compression scheme, which <strong>of</strong>fers lower computational<br />

complexity and reduced memory requirements. Next paper by these same authors proposes a platform for evaluation <strong>of</strong><br />

Bengali text compression schemes. It includes a scheme for construction <strong>of</strong> Bengali text compression corpus. The paper<br />

also presents a mathematical analysis on the data compression performance with structural aspects <strong>of</strong> corpora. The<br />

proposed corpus is expected to be useful for evaluating compression efficiency <strong>of</strong> small and middle sized Bengali text<br />

files<br />

The last two papers <strong>of</strong> this Special Issue either address and/or draw inspiration from electrical/digital systems. The<br />

paper by R. Shams, A. Elsayed, and Q.M. Akter evaluates a domain-specific Text to Knowledge Mapping prototype by<br />

using a corpus developed for the DC electrical circuit knowledge domain. The evaluation <strong>of</strong> the prototype considers<br />

two <strong>of</strong> its major components, namely lexical components and knowledge model. The domain-specific corpus is<br />

expected to be useful for developing parsing and lexical component analysis tools and also contribute to domainspecific<br />

text summarization. The final Special Issue paper by S.M. Aziz and M.D. Pham proposes a new high level<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.1-3


2 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

methodology for the design and implementation <strong>of</strong> error correction decoders for digital communication. It uses<br />

Simulink based design flow and automatic generation <strong>of</strong> HDL codes using a set <strong>of</strong> emerging tools. The proposed<br />

methodology significantly reduces design effort and time while providing decoder performances that are comparable to<br />

tedious hand coded HDL-based designs.<br />

Finally, the Guest Editors would like to express their sincere gratitude to the twenty-three reviewers <strong>of</strong> the Special<br />

Issue from six countries (M.M. Ali, A.A.S. Awwal, K. P. Dahal, M. Erdmann, N. Funabiki, S. Haran, H-Y. Hsu, S.K.<br />

Garg, F. Islam, P. Jiang, J. Kamruzzaman, D. Lai, A.S. Madhukumar, D. Neagu, H. Ngo, S. Pandey, Y.H. Peng, R.<br />

Sarker, M.H. Shaheed, T. Taha, A.P. Vinod, D. Zhang, and M. Zhang) who have given immensely to this process. They<br />

have responded to the Guest Editors in the shortest possible time and dedicated their valuable time to ensure that the<br />

Special Issue contains high-quality papers with significant novelty and contributions.<br />

Guest Editors:<br />

Syed Mahfuzul Aziz<br />

School <strong>of</strong> Electrical & Information Engineering, University <strong>of</strong> South Australia, Mawson Lakes, SA 5095, Australia<br />

Vijayan K. Asari<br />

Department <strong>of</strong> Electrical & Computer Engineering, Old Dominion University. 231 Kaufman Hall. Norfolk, VA<br />

23529, USA<br />

M. Alamgir Hossain<br />

Department <strong>of</strong> Computing, University <strong>of</strong> Bradford, Bradford BD7 1DP, UK<br />

Mohammad A. Karim<br />

Office <strong>of</strong> Research, Old Dominion University, 4111 Monarch Way #203, Norfolk, VA 23508, USA<br />

Mari<strong>of</strong>anna Milanova<br />

Department <strong>of</strong> Computer Science, University <strong>of</strong> Arkansas at Little Rock, Dickinson Hall 515, 2801 S. University<br />

Avenue, Little Rock, AR 72204, USA<br />

Syed Mahfuzul Aziz received Bachelor and Masters Degrees, both in electrical & electronic engineering, from<br />

Bangladesh University <strong>of</strong> Engineering & Technology (BUET) in 1984 and 1986 respectively. He received a<br />

Ph.D. degree in electronic engineering from the University <strong>of</strong> Kent (UK) in 1993 and a Graduate Certificate in<br />

higher education from Queensland University <strong>of</strong> Technology, Australia in 2002. He was a Pr<strong>of</strong>essor in BUET<br />

until 1999, and led the development <strong>of</strong> the teaching and research programs in integrated circuit (IC) design in<br />

Bangladesh. He joined the University <strong>of</strong> South Australia in 1999, where he is currently serving as the inaugural<br />

academic director <strong>of</strong> the first year engineering program. He was a visiting scholar at the University <strong>of</strong> Texas at<br />

Austin in 1996 and a visiting pr<strong>of</strong>essor at the National Institute <strong>of</strong> Applied Science Toulouse, France in 2006.<br />

During 2001-2003 Dr. Aziz led avionics hardware modelling projects funded by the Australian Defence<br />

Science and Technology Organisation (DSTO). Since 2005 he has been leading an endoscopic capsule project<br />

and a near infrared spectroscopic instrumentation project in collaboration with Women’s and Children’s Hospital and the South<br />

Australian Spinal Cord Injury Research Centre respectively. Recently he has received funding from the Pork CRC, Australia for a<br />

project on Precision Livestock Farming. He has authored over eighty five research papers. His research interests include CMOS IC<br />

design, modelling/synthesis <strong>of</strong> high performance digital systems, biomedical engineering and engineering education. Dr. Aziz is a<br />

senior member <strong>of</strong> IEEE. He has received numerous pr<strong>of</strong>essional awards including international and Australian national teaching<br />

awards. He has served as member <strong>of</strong> the program committees <strong>of</strong> many international conferences and was the organising secretary <strong>of</strong><br />

the inaugural International Conference on Computer and Information Technology (ICCIT) in 1998. He reviews papers for the IEEE<br />

Transactions on Computer and Electronics Letters, UK. Recently he has been appointed a reviewer <strong>of</strong> the National Priorities<br />

Research Program, a flagship funding scheme <strong>of</strong> the Qatar National Research Fund.<br />

© 2010 ACADEMY PUBLISHER<br />

Vijayan K. Asari is a Pr<strong>of</strong>essor in Electrical and Computer Engineering at Old Dominion University,<br />

Virginia, USA, and Director <strong>of</strong> the Computational Intelligence and Machine Vision Laboratory (Vision Lab) at<br />

ODU. He received the Bachelor's degree in electronics and communication engineering from the University <strong>of</strong><br />

Kerala (College <strong>of</strong> Engineering, Trivandrum), India, in 1978, the M. Tech and Ph. D degrees in electrical<br />

engineering from the Indian Institute <strong>of</strong> Technology, Madras, in 1984 and 1994 respectively. He had been<br />

working as an Assistant Pr<strong>of</strong>essor in Electronics and Communications at the University <strong>of</strong> Kerala (TKM<br />

College <strong>of</strong> Engineering), India. In 1996, he joined the National University <strong>of</strong> Singapore as a Research Fellow<br />

and led the research team for the development <strong>of</strong> a vision-guided microrobotic endoscopy system. He joined<br />

the School <strong>of</strong> Computer Engineering, Nanyang Technological University, Singapore in 1998 and led the<br />

computer vision and image processing related research activities in the Center for High Performance<br />

Embedded Systems at NTU. Dr. Asari joined Old Dominion University in fall 2000. He has so far published


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 3<br />

more than 250 research articles including 54 peer reviewed journal papers. His current research interests include signal processing,<br />

image processing, computer vision, pattern recognition, neural networks, and high performance and low power digital architectures<br />

for application specific integrated circuits. Dr. Asari is a Senior Member <strong>of</strong> the IEEE, Member <strong>of</strong> the IEEE Computational<br />

Intelligence Society (CIS), IEEE Computer Society, IEEE Circuits and Systems Society, Association for Computing Machinery<br />

(ACM), Society <strong>of</strong> Photo-Optical Instrumentation Engineers (SPIE), and the American Society for Engineering Education (ASEE).<br />

He was awarded two United States patents in 2008 with his former graduate students.<br />

M. Alamgir Hossain received the Dphil degree from the University <strong>of</strong> Sheffield, UK. Currently, he is serving<br />

as senior lecturer in the Department <strong>of</strong> Computing at the University <strong>of</strong> Bradford. He is an active member <strong>of</strong><br />

artificial intelligent (AI) research group. Prior to this he has held academic position at Sheffield University (as<br />

visiting research fellow), Sheffield Hallam University (as senior Lecturer) and University <strong>of</strong> Dhaka (as<br />

Chairman & Associate Pr<strong>of</strong>essor <strong>of</strong> the Computer Science & Engineering Department). He has extensive<br />

research experience in high performance real-time computing, intelligent system, optimisation, system biology<br />

and adaptive control. He is currently leading an EU funded project, eLINK (about 5.5 million EURO) which<br />

has ten partners from Asia and Europe. He is also acting as the UK co-ordinator <strong>of</strong> a British Council funded<br />

research network project for higher education link programme. Dr. Hossain is currently supervising 11 PhD<br />

students mostly to the area <strong>of</strong> intelligent systems, optimisation and systems biology. In the past, he had<br />

involvement <strong>of</strong> many funded research projects and joint research with companies, including Balfour Beaty<br />

Rail, Goodrich Engine Design, Aramco (Saudi Arabia), NEC (Japan) etc. Dr. Hossain acted as programme chair, organising chair<br />

and IPC member <strong>of</strong> many international conferences. He is currently serving as an editor and member <strong>of</strong> the editorial board <strong>of</strong> three<br />

journals. He has reviewed many journal papers, including IEEE transaction on SMC, Networking, Aerospace and Electronic<br />

Systems, IET journals, Elsevier Science etc. Dr. Hossain has published over 120 refereed research articles and 12 books. He received<br />

the "IEE- F C Williams" award for a research article in 1996. He is a member <strong>of</strong> the IEEE and Secretary <strong>of</strong> the CLAWAR<br />

Association.<br />

Mohammad Ataul Karim is Vice President for Research <strong>of</strong> Old Dominion University in Norfolk, Virginia.<br />

Previously, he served as dean <strong>of</strong> engineering at the City College <strong>of</strong> New York <strong>of</strong> the City University <strong>of</strong> New<br />

York. His research areas include information processing, pattern recognition, computing, displays, and electrooptical<br />

systems. Dr. Karim is author <strong>of</strong> 15 books, 6 book chapters, and over 350 articles. He is North American<br />

Editor <strong>of</strong> Optics & Laser Technology and an Associate Editor <strong>of</strong> the IEEE Transactions on Education. He has<br />

served as guest editor for fifteen journal special issues. Pr<strong>of</strong>essor Karim is an elected fellow <strong>of</strong> the Optical<br />

Society <strong>of</strong> America, Society <strong>of</strong> Photo-Instrumentation Engineers, the Institute <strong>of</strong> Physics, the Institution <strong>of</strong><br />

Engineering & Technology, and Bangladesh <strong>Academy</strong> <strong>of</strong> Sciences. He received his BS in physics in 1976 from<br />

the University <strong>of</strong> Dacca, Bangladesh, and MS degrees in both physics and electrical engineering, and a Ph.D.<br />

in electrical engineering from the University <strong>of</strong> Alabama respectively in 1978, 1979, and 1981.<br />

Mari<strong>of</strong>anna Milanova is Associate Pr<strong>of</strong>essor <strong>of</strong> Computer Science in the Department <strong>of</strong> Computer Science at<br />

the University <strong>of</strong> Arkansas at Little Rock, USA. She received her M. Sc. degree in Expert Systems and AI in<br />

1991 and her Ph.D. degree in Computer Science in 1995 from the Technical University, S<strong>of</strong>ia, Bulgaria. Dr.<br />

Milanova did her post-doctoral research in visual perception at the University <strong>of</strong> Paderborn, Germany. She has<br />

extensive academic experience at various academic and research organizations including the Navy SPAWARS<br />

System Center in San Diego, USA, the University <strong>of</strong> Louisville, USA, Air Force, Dayton , USA, the National<br />

Polytechnic Institute Research Center in Mexico City, Mexico, the Technical University <strong>of</strong> S<strong>of</strong>ia in Bulgaria,<br />

the University <strong>of</strong> Sao Paulo in Brazil, the University <strong>of</strong> Porto in Portugal, the Polytechnic University <strong>of</strong><br />

Catalunya in Spain, and at the University <strong>of</strong> Paderborn in Germany. She had grants from the German Research Foundation, the<br />

Brazilian FAPESP State <strong>of</strong> Sao Paulo Research Foundation, the US National Science Foundation, the European Community, NATO,<br />

and from the US Department <strong>of</strong> Homeland Security. Dr Milanova is a Senior Member <strong>of</strong> the IEEE and Computer Society, member <strong>of</strong><br />

IAPR, member <strong>of</strong> the IEEE Women in Engineering, member <strong>of</strong> the Society <strong>of</strong> Neuroscience and a member <strong>of</strong> the Cognitive<br />

Neuroscience Society. Milanova serves as a book editor <strong>of</strong> two books and associate editor <strong>of</strong> several international journals. Her<br />

main research interests are in the areas <strong>of</strong> artificial intelligence, biomedical signal processing and computational neuroscience,<br />

computer vision and communications, machine learning, and privacy and security based on biometric research. She has published<br />

and co-authored more than 60 publications, over 33 journal papers, 11 book chapters, numerous conference papers and 2 patents.<br />

© 2010 ACADEMY PUBLISHER


4 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Cutting a Cornered Convex Polygon<br />

Out <strong>of</strong> a Circle<br />

Syed Ishtiaque Ahmed, Md. Ariful Islam and Masud Hasan<br />

Department <strong>of</strong> Computer Science and Engineering<br />

Bangladesh University <strong>of</strong> Engineering and Technology<br />

Dhaka 1000, Bangladesh<br />

Email: ishtiaque@csebuet.org, arifulislam@csebuet.org, masudhasan@cse.buet.ac.bd<br />

Abstract— The problem <strong>of</strong> cutting a convex polygon P out<br />

<strong>of</strong> a piece <strong>of</strong> planar material Q with minimum total cutting<br />

length is a well studied problem in computational geometry.<br />

Researchers studied several variations <strong>of</strong> the problem, such<br />

as P and Q are convex or non-convex polygons and the<br />

cuts are line cuts or ray cuts. In this paper we consider<br />

yet another variation <strong>of</strong> the problem where Q is a circle<br />

and P is a convex polygon such that P is bounded by a<br />

half circle <strong>of</strong> Q and all the cuts are line cuts. We give two<br />

algorithms for solving this problem. Our first algorithm is<br />

an O(log n)-approximation algorithm with O(n) running<br />

time, where n is the number <strong>of</strong> edges <strong>of</strong> P . The second<br />

algorithm is a constant factor approximation algorithm with<br />

approximation ratio 6.48 and running time O(n 3 ).<br />

Index Terms— algorithms, approximation algorithms, computational<br />

geometry, line cut, ray cut, polygon cutting,<br />

rotating calipers<br />

I. INTRODUCTION<br />

The problem <strong>of</strong> cutting small polygonal objects “efficiently”<br />

out <strong>of</strong> larger planar objects arises in many<br />

industries, such as metal sheet cutting, paper cutting,<br />

furniture manufacturing, ceramic industries, fabrication,<br />

ornaments, and leather industries. This type <strong>of</strong> problems<br />

are in general known as stock cutting problems [1].<br />

Different types <strong>of</strong> cuts and different criteria for efficiency<br />

<strong>of</strong> cutting are considered in cutting processes, mostly<br />

depending up on the types <strong>of</strong> the materials. The two most<br />

common types <strong>of</strong> cuts are the line cuts (i.e., guillotine<br />

cuts) and ray cuts. A line cut is a line that cuts the<br />

given object into several pieces and does not run through<br />

the target object. A ray cut is a ray that runs from the<br />

infinity to a certain point <strong>of</strong> the given object, possibly<br />

to a boundary point <strong>of</strong> the target object. A line cut is<br />

feasible for cutting out convex objects since it cuts an<br />

object into many pieces below and above the cut. On the<br />

other hand, ray cuts can be performed by many types<br />

<strong>of</strong> saws such as scroll saw, band saw, laser saw and wire<br />

saw [2]. Ray cuts can cut out non-convex objects too. But<br />

at the same time they need to make turns in the cutting<br />

process and so, needs some “clearance” for a turn, which<br />

can make it impossible to cut an arbitrary non-convex<br />

polygon. In particular, for applying ray cuts to a nonconvex<br />

polygon it is necessary for the polygon to have no<br />

“twisted pockets”, i.e., part <strong>of</strong> the polygon boundary that<br />

does not see the infinity. As a whole, a cutting process<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.4-11<br />

that uses only line cuts is much simpler than that uses<br />

only ray cuts.<br />

In a cutting process the main criteria for “efficiency”<br />

<strong>of</strong> cutting is to minimize the total cutting length, which<br />

is also known as the cutting cost. While cutting a convex<br />

polygon it may be true that the cutting cost for ray cuts are<br />

less than that for line cuts. But due to the above simplicity<br />

line cuts are more popular for cutting convex objects and<br />

are well studied as well, at least theoretically [1], [3]–[9].<br />

Moreover, it can be shown that [9] it is not always possible<br />

to replace line cuts by ray cuts to get better cutting cost.<br />

In this paper we consider the problem <strong>of</strong> cutting a<br />

convex polygon P out <strong>of</strong> a circle Q by using line cuts<br />

where P is “much smaller” than Q, namely P is cornered<br />

convex with respect to Q. A cornered convex polygon P<br />

inside a circle Q is a convex polygon which is positioned<br />

completely on one side <strong>of</strong> a diameter <strong>of</strong> Q. See Fig. 1(a).<br />

The (cutting) cost <strong>of</strong> a line cut is the length <strong>of</strong> the<br />

intersection <strong>of</strong> the line with Q. After a cut is made, Q is<br />

updated to the piece containing P . A cutting sequence is a<br />

sequence <strong>of</strong> cuts such that after the last cut in the sequence<br />

we have P = Q. We give algorithms for cutting P out<br />

<strong>of</strong> Q by line cuts with total cutting cost <strong>of</strong> the cutting<br />

sequence as small as possible. See Fig. 1(b). In many<br />

applications, such as metal sheet cutting, it is natural to<br />

have the given object as a large circular sheet and the<br />

target object as a sufficiently smaller convex polygon.<br />

A. Known results<br />

If Q is another convex polygon with m edges, this<br />

problem with line cuts has been approached in various<br />

ways by many researchers in computational geometry<br />

community [1], [3]–[9]. Overmars and Welzl first introduced<br />

this problem in 1985 [3]. If the cuts are allowed<br />

only along the edges <strong>of</strong> P , they proposed an O(n 3 + m)time<br />

algorithm for this problem with optimal cutting<br />

length, where n is the number <strong>of</strong> edges <strong>of</strong> P . The problem<br />

is more difficult if the cuts are more general, i.e., they are<br />

not restricted to touch only the edges <strong>of</strong> P . In that case<br />

Bhadury and Chandrasekaran showed that the problem<br />

has optimal solutions that lie in the algebraic extension <strong>of</strong><br />

the input data field [1] and due to this algebraic nature <strong>of</strong>


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 5<br />

Q<br />

c<br />

P<br />

Q<br />

(a) (b)<br />

Figure 1. (a) A cornered convex polygon P inside a circle Q. (b) Two different cutting sequences (bold lines) to cut P out <strong>of</strong> Q; Cutting cost <strong>of</strong><br />

the sequence in the left figure is more than that in the right figure.<br />

this problem, an approximation scheme1 is the best that<br />

one can achieve [1]. They also gave an approximation<br />

scheme with pseudo-polynomial running time [1].<br />

After the indication <strong>of</strong> Bhadury and Chandrasekaran [1]<br />

to the hardness <strong>of</strong> the problem, several researchers have<br />

given polynomial time approximation algorithms. Dumitrescu<br />

proposed an O(log n)-approximation algorithm<br />

with O(mn+n log n) running time [5], [6]. Then Daescu<br />

and Luo [7] gave the first constant factor approximation<br />

algorithm with ratio 2.5 + ||Q||/||P ||, where ||Q||<br />

and ||P || are the perimeter <strong>of</strong> Q and P respectively.<br />

Their algorithm has a running time <strong>of</strong> O(n3 + (n +<br />

m) log (n + m)). The best known constant factor approximation<br />

algorithm is due to Tan [4] with an approximation<br />

ratio <strong>of</strong> 7.9 and running time <strong>of</strong> O(n3 + m). In the<br />

same paper [4], the author also proposed an O(log n)approximation<br />

algorithm with improved running time<br />

<strong>of</strong> O(n + m). As the best known result so far, very<br />

recently, Bereg, Daescu and Jiang [8] gave a polynomial<br />

time approximation scheme (PTAS) for this problem with<br />

running time O(m + n6<br />

ɛ12 ).<br />

For ray cuts, Demaine, Demaine and Kaplan [2] gave a<br />

linear time algorithm to decide whether a given polygon<br />

P is ray-cuttable or not. For optimally cutting P out <strong>of</strong><br />

Q by ray cuts, if Q is convex and if P is non-convex<br />

but ray-cuttable, then Daescu and Luo [7] gave an almost<br />

linear time O(log 2 n)-approximation algorithm. If P is<br />

convex, then they gave a linear time 18-approximation<br />

algorithm. Tan [4] improved the approximation ratio for<br />

both cases as O(log n) and 6, respectively, but with much<br />

higher running time <strong>of</strong> O(n3 + m).<br />

B. Our results<br />

All the previous results consider Q as a polygon (either<br />

convex or non-convex). However, to our knowledge, no<br />

algorithm is known when Q is a circle. In this paper,<br />

we consider the problem where Q is a circle and P is a<br />

cornered convex polygon inside Q. We give two approximation<br />

algorithms for this problem. Our first algorithm<br />

1 A ρ-approximation algorithm (similarly, an approximation scheme)<br />

has a cutting length that is ρ times (similarly, (1+ɛ) times, for any value<br />

ɛ > 0) the optimal cutting length. Please refer to [10] for preliminaries<br />

on approximation algorithms.<br />

© 2010 ACADEMY PUBLISHER<br />

P<br />

Q<br />

has an approximation ratio <strong>of</strong> O(log n) and runs in O(n)<br />

time. Our second algorithm has an approximation ratio <strong>of</strong><br />

6.48 and runs in O(n 3 ) time.<br />

C. Comparison <strong>of</strong> the results<br />

While for an approximation algorithm a constant factor<br />

approximation ratio is preferable to input-dependent<br />

approximation ratio, the linear running time <strong>of</strong> our first<br />

algorithm is much better than the cubic running time<br />

<strong>of</strong> our second algorithm. The ratio 6.48 <strong>of</strong> our second<br />

algorithm is better than that <strong>of</strong> 7.9 <strong>of</strong> Tan’s algorithm [4]<br />

(although the later deals with Q as a convex polygon).<br />

When both P and Q are convex polygons, almost<br />

all the existing algorithms on line cuts use two major<br />

steps: cutting a minimum area rectangle or a minimum<br />

area triangle from Q that bounds P and then cutting P<br />

out <strong>of</strong> that bounding box. Our algorithms also follow<br />

similar approach. However, we observe that the existing<br />

algorithms can not be applied directly to solve our<br />

problem. Moreover, the running time <strong>of</strong> those algorithms<br />

are too high compared to our algorithms. In particular,<br />

Tan’s [4] constant factor approximation algorithm takes<br />

O(n3 + m) time, the O(log n)-approximation algorithm<br />

<strong>of</strong> [5], [6] takes O(mn + n log n) time and the PTAS<br />

<strong>of</strong> Bereg et.al. [8] takes O(m + n6<br />

ɛ12 ) time, where m can<br />

be arbitrarily large. In contrast, the running time <strong>of</strong> our<br />

algorithms are free <strong>of</strong> m and one <strong>of</strong> them is linear. Also<br />

observe that in the existing algorithms, increasing the<br />

value <strong>of</strong> m for “approximating” Q to a circle makes them<br />

inefficient. See TABLE I for a summary <strong>of</strong> comparisons<br />

among the existing algorithms and our algorithms.<br />

D. Outline<br />

The rest <strong>of</strong> the paper is organized as follows. We give<br />

some definitions and preliminaries in Section II. Then we<br />

present our two algorithms in Section III and Section IV<br />

respectively. Finally, Section V concludes the paper with<br />

some future works.<br />

P<br />

II. PRELIMINARIES<br />

A line cut is a vertex cut through a vertex v <strong>of</strong> P if<br />

it is tangent to P at v. Similarly, a line cut is an edge


6 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Cut Type Q P Approx. Ratio Running Time Reference<br />

- Non-convex Ray-cuttable? O(n) [2]<br />

Convex Convex 18 O(n) [7]<br />

Ray cuts Convex Non-convex O(log2 n) O(n) [7]<br />

Convex Convex 6 O(n3 + m) [4]<br />

Convex Non-convex O(log n) O(n3 + m) [4]<br />

Convex Convex O(log n) O(mn + n log n) [5], [6]<br />

Convex Convex 2.5 + ||Q||/||P || O(n<br />

Line cuts<br />

3 + (n + m) log (n + m)) [7]<br />

Convex Convex 7.9 O(n3 Convex Convex (1 + ɛ)<br />

+ m)<br />

O(m +<br />

[4]<br />

n6<br />

ɛ12 Circle<br />

Circle<br />

Cornered convex<br />

Cornered convex<br />

O(log n)<br />

6.48<br />

)<br />

O(n)<br />

O(n<br />

[8]<br />

This paper<br />

� ) This paper<br />

cut through an edge e <strong>of</strong> P if it contains e. At any time<br />

the edges <strong>of</strong> P through which an edge cut has passed are<br />

called cut edges <strong>of</strong> P and other edges <strong>of</strong> P are called<br />

uncut edges <strong>of</strong> P . To cut P out <strong>of</strong> Q all n edges <strong>of</strong> P<br />

must become cut edges and for that we require exactly<br />

n edge cuts. However, applying only edge cuts may not<br />

give an optimal solution and we need vertex cuts as well.<br />

In the rest <strong>of</strong> this section we give some elementary<br />

geometry that plays important role in our paper. Let c be<br />

the center <strong>of</strong> Q. An edge e <strong>of</strong> P is visible from c if for<br />

every point p <strong>of</strong> e the line segment cp does not intersect<br />

P in any other point. So, if e is collinear with c, then<br />

we consider e as invisible. Similarly, a vertex v <strong>of</strong> P is<br />

visible from c if the line segment cv does not intersect P<br />

in any other point.<br />

In this paper we do not consider the diameter <strong>of</strong> Q as<br />

a chord, i.e., a chord is always smaller than a diameter.<br />

Let ll ′ be a chord <strong>of</strong> Q. ll ′ divides Q into two circular<br />

segments, one is bigger than a half circle and the other<br />

one is smaller than a half circle. Let tt ′ be another chord<br />

intersecting ll ′ at x such that tx is in the smaller circular<br />

segment <strong>of</strong> ll ′ . See Fig. 2(a). The following two lemmas<br />

are obvious and their illustration can be found in Fig. 2.<br />

Lemma 1: xt is no bigger than ll ′ .<br />

Lemma 2: Let △abc be an obtuse triangle with the<br />

obtuse angle � bac. Consider any line segment connecting<br />

two points b ′ and c ′ on ab and ac, respectively, possibly<br />

one <strong>of</strong> b ′ and c ′ coinciding with b or c respectively. Then<br />

the angle � bb ′ c ′ and � cc ′ b ′ are obtuse.<br />

l<br />

t<br />

x<br />

l ′<br />

(a)<br />

t ′<br />

b<br />

b ′<br />

b ′<br />

b ′<br />

a<br />

(b)<br />

TABLE I.<br />

COMPARISON OF THE RESULTS.<br />

c ′<br />

c ′<br />

Figure 2. Illustration <strong>of</strong> Lemma 1 and Lemma 2.<br />

© 2010 ACADEMY PUBLISHER<br />

c<br />

III. ALGORITHM 1<br />

Our first algorithm has four phases : (1) D-separation,<br />

(2) triangle separation, (3) obtuse phase and (4) curving<br />

phase. In D-separation phase, we cut out a small portion<br />

<strong>of</strong> Q (less than the half <strong>of</strong> Q) which contains P (and<br />

looks like a “D”). Then in triangle separation phase we<br />

reduce the size <strong>of</strong> Q even more by two additional cuts and<br />

bound P by almost a triangle. In obtuse phase we assure<br />

that all the portions <strong>of</strong> Q that are not inside P are inside<br />

some obtuse triangles. Finally, in curving phase we cut<br />

P out <strong>of</strong> Q by cutting those obtuse triangles in rounds.<br />

Let C ∗ be the optimal cutting length to cut P from Q.<br />

Clearly C ∗ is at least the length <strong>of</strong> the perimeter <strong>of</strong> P .<br />

A. D-separation<br />

A D <strong>of</strong> the circle Q is a circular segment <strong>of</strong> Q which<br />

is smaller than an half circle <strong>of</strong> Q. By a D-separation<br />

<strong>of</strong> P from Q we mean a line cut <strong>of</strong> Q that creates a<br />

D containing P . In general, for a circle Q and a convex<br />

polygon P there may not exist any D-separation <strong>of</strong> P .<br />

But in our case since P is cornered, there always exists a<br />

D-separation <strong>of</strong> P . We first find a D-separation that has<br />

minimum cutting cost.<br />

Lemma 3: A minimum-cost D-separation, C1, can be<br />

found in O(n) time.<br />

Pro<strong>of</strong>: Clearly C1 must touch P . So, C1 must be a<br />

vertex cut or an edge cut <strong>of</strong> P . Observe that any vertex<br />

cut or edge cut that is a D-separation must be through a<br />

visible vertex or a visible edge. Let e be a visible edge<br />

<strong>of</strong> P . Let ll ′ be a line cut through e. Let cp be the line<br />

segment perpendicular to ll ′ at p. If p is a point <strong>of</strong> e,<br />

then we call e a critical edge <strong>of</strong> P and ll ′ a critical edge<br />

cut <strong>of</strong> P . Since P is convex, it can have at most one<br />

critical edge. Similarly, let v be a vertex <strong>of</strong> P and let<br />

tt ′ be a vertex cut through v. Let cp be the line segment<br />

perpendicular to tt ′ at p. If tt ′ is such that p = v, then<br />

we call v a critical vertex <strong>of</strong> P and tt ′ a critical vertex<br />

cut <strong>of</strong> P . Again, P can have at most one critical vertex.<br />

Moreover, P has a critical edge if and only if it does<br />

not have a critical vertex. See Fig. 3. Now, if P has<br />

the critical edge e (and no critical vertex), then C1 is<br />

the corresponding critical edge cut ll ′ . C1 is minimum,<br />

because any other vertex cut or edge cut <strong>of</strong> P is either


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 7<br />

closer to c (and thus bigger) or does not separate c from<br />

P . On the other hand, if P has the critical vertex v, then<br />

C1 is the corresponding critical vertex cut tt ′ <strong>of</strong> P . Again,<br />

C1 is minimum by the same reason.<br />

l<br />

C1<br />

e<br />

c<br />

Q<br />

P<br />

l ′<br />

t<br />

C1<br />

Figure 3. Critical edge and critical vertex.<br />

For running time, all visible vertices and visible edges<br />

<strong>of</strong> P can be found in linear time. Then finding whether<br />

an edge <strong>of</strong> P is critical takes constant time. Over all<br />

edges finding the critical edge, if it exists, takes O(n)<br />

time. Similarly, for each visible vertex v we can check in<br />

constant time whether v is critical or not by comparing<br />

the angles <strong>of</strong> cv with two adjacent edges <strong>of</strong> v, which takes<br />

constant time. Over all visible vertices, it takes linear<br />

time.<br />

Lemma 4: Cost <strong>of</strong> C1 is at most C ∗ .<br />

Pro<strong>of</strong>: Consider any optimal cutting sequence C with<br />

cutting cost C ∗ . C must separate P from c. However, it<br />

may do that by using a single cut (Case 1) or by using<br />

more than one cut (Case 2). In Case 1, if it uses a single<br />

cut then it is in fact doing a D-separation. By Lemma 3,<br />

it can not do better than C1, and therefore, cost <strong>of</strong> C1 is<br />

at most C ∗ .<br />

In Case 2, there are several sub-cases. We will prove<br />

that in any case the cutting cost <strong>of</strong> separating P from c is<br />

even higher than that for a single cut. Let C be the first<br />

cut in C that separates c from P . C can not be the very<br />

first cut <strong>of</strong> C, otherwise, it is doing a D-separation and we<br />

are in Case 1. It implies that C is not a (complete) chord<br />

<strong>of</strong> Q. For the rest <strong>of</strong> the pro<strong>of</strong> please refer to Fig. 4. Let<br />

a and a ′ be the two end points <strong>of</strong> C. Let bb ′ be the chord<br />

<strong>of</strong> Q that contains aa ′ where b is closer to a than to a ′ . At<br />

least one <strong>of</strong> a and a ′ is not incident on the boundary <strong>of</strong><br />

Q. We first assume that a is not incident to the boundary<br />

<strong>of</strong> Q but a ′ is (Case 1a). Let Cx = xx ′ be the cut that<br />

was applied immediately before C and intersects C at a.<br />

Since Cx does not separate c from P , the bigger circular<br />

segment created by Cx contains P , c and a. Now if x ′ is<br />

an end point <strong>of</strong> Cx, then by Lemma 1 ab is smaller than<br />

xx ′ . It implies that having Cx in addition to C1 increases<br />

the cost <strong>of</strong> separating P from c (see Fig. 4(a)). Similarly,<br />

if x ′ is not an end point <strong>of</strong> Cx, and thus another cut is<br />

involved, then by Lemma 1 the cost will be even more<br />

(see Fig. 4(b)).<br />

Now consider the case when both a and a ′ are not<br />

incident on the boundary <strong>of</strong> Q (Case 1b). So at least two<br />

cuts are required to separate ab and a ′ b ′ from bb ′ . Let<br />

those two cuts be Cx and Cy respectively. Let xx ′ and<br />

© 2010 ACADEMY PUBLISHER<br />

c<br />

Q<br />

v<br />

P<br />

t ′<br />

yy ′ be the two chords <strong>of</strong> Q along which Cx and Cy are<br />

applied. Now if Cx and Cy do not intersect, then for each<br />

<strong>of</strong> them by applying the argument <strong>of</strong> Case 1a we can say<br />

that the cutting cost is no better than that for a single<br />

cut. But handling the case when Cx and Cy intersect is<br />

not obvious (see Fig. 4(c, d)). Let z ′ be their intersection<br />

point. Again, there may be several sub-cases: x and y may<br />

or may not be end points <strong>of</strong> Cx and Cy. Assume that both<br />

x and y are end points <strong>of</strong> Cx and Cy. Remember that none<br />

<strong>of</strong> Cx and Cy separates P from c. So, the region bounded<br />

by xz ′ y must contain P and c inside <strong>of</strong> it. In that case<br />

the total length <strong>of</strong> xz ′ and yz ′ is at least the diameter <strong>of</strong><br />

Q, which is bigger than bb ′ (see Fig. 4(c)). For the other<br />

cases, where at least one <strong>of</strong> x and y is not an end point<br />

<strong>of</strong> Cx and Cy, respectively, by Case 1a the cost is even<br />

more (for example, see Fig. 4(d)).<br />

B. Triangle separation<br />

In this phase we apply two more cuts C2 and C3 and<br />

“bound” P inside a “triangle”. From there we achieve<br />

three triangles inside which we bound the remaining uncut<br />

edges <strong>of</strong> P . (In the D-separation phase, at most one edge<br />

<strong>of</strong> P becomes cut).<br />

Let C1 = aa ′ be the cut applied during the Dseparation.<br />

We apply two cuts C2 = at and C3 = a ′ t ′<br />

such that both <strong>of</strong> them are also tangents to P . If C2 and<br />

C3 intersect (inside Q or on the boundary <strong>of</strong> Q), then<br />

let z be the intersection point (see Fig. 5(a)), otherwise<br />

let z be the point outside Q where the extensions <strong>of</strong> C2<br />

and C3 intersect (see Fig. 5(b)). We get three resulting<br />

triangles Ta, Ta ′, Tz having a, a ′ and z, respectively, as<br />

a peak. We only describe how to get Ta; description for<br />

Ta ′ and Tz are analogous. If C1 is an edge cut, then let<br />

rr ′ be the corresponding edge such that a is closer to r<br />

than to r ′ (see Fig. 5(a)). If C1 is a vertex cut, then let<br />

r be the corresponding vertex <strong>of</strong> P . Let s be the similar<br />

vertex due to C2 (see Fig. 5(b)). Then Ta = △ars. The<br />

polygonal chain <strong>of</strong> P bounded by Ta is the edges from<br />

r to s that reside inside Ta.<br />

Lemma 5: Total cost <strong>of</strong> C2 and C3 to achieve Ta, Ta ′<br />

and Tz is at most 2C ∗ . Moreover, C2 and C3 can be found<br />

in linear time.<br />

Pro<strong>of</strong>: Whether z is within Q or outside Q, the<br />

length <strong>of</strong> at and a ′ t ′ can not be more than twice the<br />

length <strong>of</strong> aa ′ . By Lemma 3, aa ′ is no more than C ∗ .<br />

Therefore, the total cost <strong>of</strong> C2 and C3 is at most 2C ∗ .<br />

To find at linearly, we can simply scan the boundary<br />

<strong>of</strong> P starting from the vertex or edge where aa ′ touches<br />

P and check in constant time whether a tangent <strong>of</strong> P<br />

is possible through that vertex or edge. Similarly we can<br />

find a ′ t ′ within the same time.<br />

C. Obtuse phase<br />

Consider the triangle Ta = △ars obtained in the<br />

previous phase. We call the vertex a the peak <strong>of</strong> Ta and<br />

the edge rs the base <strong>of</strong> Ta. Observe that the angle <strong>of</strong> Ta<br />

at a is acute. Similarly, the angle <strong>of</strong> Ta ′ at its peak a′ is


8 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Ta<br />

C1<br />

r ′<br />

r<br />

Q<br />

x ′<br />

a ′<br />

a<br />

b<br />

C3<br />

a<br />

s<br />

C2<br />

z<br />

Cx<br />

c<br />

x<br />

(a)<br />

P<br />

C<br />

a′ = b ′ Q<br />

x ′<br />

b<br />

a<br />

Cx<br />

c<br />

x<br />

(b)<br />

C<br />

a ′ = b ′<br />

y ′<br />

x ′<br />

Q<br />

b<br />

z ′<br />

Cx<br />

x<br />

b ′<br />

x ′<br />

Q<br />

z<br />

y<br />

′<br />

y ′<br />

a ′ Cy<br />

Cy<br />

c<br />

C Cx<br />

c<br />

C<br />

P a P a P<br />

(c) (d)<br />

Figure 4. Separating P from c by using more than one cut. Bold lines represent the cutting cost.<br />

t<br />

t ′<br />

Ta<br />

a ′<br />

C1 C3<br />

C2<br />

(a) (b)<br />

Figure 5. Triangle separation.<br />

also acute. However, the angle <strong>of</strong> Tz at its peak z may<br />

be acute or obtuse.<br />

For each <strong>of</strong> Ta, Ta ′ and Tz (if Tz is acute) we apply<br />

a cut and obtain one or two triangles such that the<br />

angle at their peaks are obtuse and they jointly bound<br />

the polygonal chain <strong>of</strong> the corresponding triangle. We<br />

describe the construction <strong>of</strong> the triangle(s) obtained from<br />

Ta only; description for the triangles obtained from Ta ′<br />

and Tz are analogous.<br />

Please refer to Fig. 6. Let Pa be the polygonal chain<br />

bounded by Ta. Length <strong>of</strong> ar and as may not be equal.<br />

W.l.o.g. assume that as is not larger than ar. Let s ′ be the<br />

point on ar such that length <strong>of</strong> as ′ equals to the length<br />

<strong>of</strong> as. Connect ss ′ if s ′ is different from r. We will find<br />

a line segment inside Ta such that it is tangent to Pa and<br />

is parallel to ss ′ . We have two cases: (i) ss ′ itself is a<br />

tangent to Pa, and (ii) ss ′ is not a tangent to Pa.<br />

Case (i): If ss ′ itself is tangent to Pa (at s), we apply<br />

our cut along ss ′ . This cut may be a vertex cut through<br />

s or an edge cut through the edge <strong>of</strong> Pa that is incident<br />

to s. If it is a vertex cut then we get the resulting obtuse<br />

triangle △rss ′ and the polygonal chain bounded by this<br />

triangle is same as Pa (see Fig. 6(a)). On the other hand,<br />

if the cut is an edge cut, let u be the other vertex <strong>of</strong> the<br />

cut edge. Then our resulting obtuse triangle is △rus ′ and<br />

the polygonal chain bounded by this triangle is the edges<br />

© 2010 ACADEMY PUBLISHER<br />

r<br />

a<br />

s<br />

t ′<br />

t<br />

z<br />

b<br />

from r to u (see Fig. 6(b)). Since as and as ′ are <strong>of</strong> same<br />

length, in either case the triangle △rss ′ or △rus ′ has<br />

obtuse angle at s ′ .<br />

Case(ii): For this case, let u, u ′ be two points on as<br />

and ar, respectively, such that uu ′ is tangent <strong>of</strong> Pa and<br />

is parallel to ss ′ . We apply the cut along uu ′ . Again,<br />

this cut may be a vertex cut or an edge cut. If it is a<br />

vertex cut, let g be the vertex <strong>of</strong> the cut. Then we get<br />

two obtuse triangles △ru ′ g and △sug and the polygonal<br />

chains bounded by them are the sets <strong>of</strong> edges from r to g<br />

and from g to s respectively (see Fig. 6(c)). If it is an edge<br />

cut, then let gg ′ be the edge <strong>of</strong> the edge cut with u being<br />

closer to g than to g ′ . Then we get two obtuse triangles<br />

△ru ′ g ′ and △sug and the polygonal chains bounded by<br />

them are the sets <strong>of</strong> edges from r to g ′ and from g to s<br />

respectively (see Fig. 6(d)). Again, since au and au ′ are<br />

<strong>of</strong> same length, in either case the pair <strong>of</strong> triangles have<br />

obtuse angles at u and u ′ respectively.<br />

Lemma 6: Total cost <strong>of</strong> obtaining obtuse triangles from<br />

Ta, Ta ′, and Tz is at most C ∗ . Moreover, they can be<br />

found in O(log n) time.<br />

Pro<strong>of</strong>: Consider the construction <strong>of</strong> the obtuse<br />

triangle(s) from Ta. Length <strong>of</strong> the cut ss ′ or uu ′ is at<br />

most the length <strong>of</strong> rs, which is bounded by the length<br />

<strong>of</strong> Pa. Over all three triangles Ta, Ta ′ and Tz, the total<br />

cutting length is bounded by the length <strong>of</strong> the perimeter<br />

<strong>of</strong> P . Since C ∗ is at least the length <strong>of</strong> the perimeter <strong>of</strong><br />

P , the first part <strong>of</strong> the lemma holds.<br />

For running time, in Ta, we can find the tangent <strong>of</strong> Pa<br />

in O(log |Pa|) time by using a binary search, where |Pa|<br />

is the number <strong>of</strong> edges in Pa. Therefore, over all three<br />

triangles Ta, Ta ′ and Tz, we need a total <strong>of</strong> O(log n) time.<br />

D. Curving phase<br />

After the obtuse phase the edges <strong>of</strong> P that are not<br />

yet cut are partitioned and bounded into polygonal chains<br />

with at most six obtuse triangles. In this phase we apply<br />

the cuts in rounds until all edges <strong>of</strong> P are cut. Our cutting<br />

procedure is same for all obtuse triangles and we describe<br />

for only one.<br />

Let Tu = △gus with peak u and base gs be an obtuse<br />

triangle. (See Fig. 7). Let the polygonal chain bounded by<br />

Tu be Pu. Let the edges <strong>of</strong> Pu be e1, . . . , ek with k ≥ 2.<br />

x<br />

a ′<br />

b ′<br />

y


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 9<br />

r<br />

s ′<br />

Pa<br />

(a)<br />

a<br />

s<br />

r<br />

a<br />

′<br />

s u<br />

Ta Ta Ta<br />

We shall apply cuts in rounds and all cuts will be edge<br />

cuts. In the first round we apply an edge cut C ′ along<br />

the edge e k/2. Then we connect g and s with the two<br />

end points <strong>of</strong> e k/2 to get two disjoint triangles. Since Tu<br />

is obtuse, by Lemma 2 these two new triangles are also<br />

obtuse. In the next round we work on each <strong>of</strong> these two<br />

triangles recursively and continue until all edges <strong>of</strong> Pu<br />

are cut.<br />

g<br />

u<br />

ek/2<br />

Tu<br />

Figure 7. Curving phase<br />

Lemma 7: In curving phase, to cut all edges <strong>of</strong> Pu<br />

there can be at most O(log k) rounds <strong>of</strong> cuts. Moreover,<br />

the total cost <strong>of</strong> these cuts is |Pu| log k, where |Pu| is the<br />

number <strong>of</strong> edges <strong>of</strong> Pu, and the running time is O(|Pu|).<br />

Pro<strong>of</strong>: At each round the number <strong>of</strong> triangles get<br />

doubled and the number <strong>of</strong> edges that become cut also<br />

get doubled. So after log k rounds all k edges are cut.<br />

Let the length <strong>of</strong> Pu be Lu. At each round the total<br />

length <strong>of</strong> the bases plus the length <strong>of</strong> the edges that are<br />

being cut is no more than Lu. So, the total cutting cost<br />

is Lu log k over all rounds.<br />

For running time, finding the edge e k/2 takes constant<br />

time. Moreover, once an edge becomes cut, it will not be<br />

considered for an edge cut again. So, there can be at most<br />

|Pu| edge cuts, which gives a running time <strong>of</strong> O(|Pu|).<br />

Corollary 1: Total cutting cost <strong>of</strong> curving phase is<br />

C ∗ log n and the running time is O(n).<br />

Pro<strong>of</strong>: Over all six obtuse triangles � Lu is no more<br />

than the perimeter <strong>of</strong> P , which is bounded by C ∗ , and<br />

� |Pu| = n. Therefore, for all six triangles, the total cost<br />

is at most � Lu log k = C ∗ log n and running time is<br />

© 2010 ACADEMY PUBLISHER<br />

s<br />

r<br />

s ′<br />

u ′<br />

g<br />

a<br />

(b) (c) (d)<br />

Figure 6. Obtaining obtuse triangle(s) from Ta.<br />

s<br />

u<br />

s<br />

r<br />

O( � |Pu|) = O(n).<br />

Combining the results <strong>of</strong> all four phases, we get the<br />

following theorem.<br />

Theorem 1: Given a circle Q and a cornered convex<br />

polygon P within Q, P can be cut out <strong>of</strong> Q by using line<br />

cuts in O(n) time with a cutting cost <strong>of</strong> O(log n) times<br />

the optimal cutting cost.<br />

s ′<br />

u ′<br />

g ′<br />

IV. ALGORITHM 2<br />

In this section we present our second algorithm which<br />

cuts P out <strong>of</strong> Q with a constant approximation ratio <strong>of</strong><br />

6.48 and running time <strong>of</strong> O(n 3 ). This algorithm has three<br />

phases: (1) D-separation, (2) cutting out a minimum area<br />

rectangle that bounds P and (3) cutting P out <strong>of</strong> that<br />

rectangle by only edge cuts.<br />

The D-separation phase is same as that <strong>of</strong> our first<br />

algorithm and we assume that this phase has been applied.<br />

A. Cutting a minimum area bounding rectangle<br />

We will use the technique <strong>of</strong> rotating calipers, which<br />

is a well known concept in computational geometry and<br />

was first introduced by Toussaint [11]. We use the method<br />

described by Toussaint [11].<br />

A pair rotating calipers remain in parallel. It rotate<br />

along the boundary <strong>of</strong> an object with two calipers being<br />

tangents to the object. If the object is a convex polygon<br />

P , then one fixed caliper, which we call the base caliper,<br />

is tangent along an edge e <strong>of</strong> P and the other caliper is<br />

tangent to a vertex or an edge <strong>of</strong> P . In the next step <strong>of</strong> the<br />

rotation, the base caliper moves to the next edge adjacent<br />

to e and continue. The rotation is complete when the base<br />

caliper has encountered all edges <strong>of</strong> P .<br />

For our case we use two pairs <strong>of</strong> rotating calipers,<br />

where one pair is orthogonal to the other. We fixed only<br />

one caliper, among the four, as the base caliper. As we<br />

rotate along the boundary <strong>of</strong> P , we always place the<br />

base caliper along an edge <strong>of</strong> P and adjust other three<br />

calipers as the tangents <strong>of</strong> P . The four calipers give us a<br />

bounding rectangle <strong>of</strong> P . After the rotation is complete,<br />

we identify the minimum area rectangle among the n<br />

bounding rectangles. For that rectangle we apply one cut<br />

a<br />

Ta<br />

g<br />

u<br />

s


10 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

along each <strong>of</strong> its edges that are not collinear with the<br />

chord <strong>of</strong> the D.<br />

The above technique can be done in O(n) time [11].<br />

Once the base calipers is placed along an edge, the other<br />

three calipers are also rotated and adjusted to make them<br />

tangent to P . Notice that each caliper “traverses” an edge<br />

or a vertex exactly once.<br />

P<br />

=⇒<br />

Figure 8. Rotating two pairs <strong>of</strong> orthogonal calipers. The broken lines<br />

are the total cutting cost <strong>of</strong> this phase.<br />

Lemma 8: The cost <strong>of</strong> cutting a minimum area rectangle<br />

out <strong>of</strong> the D achieved from the D-separation phase is<br />

no more than 2.57C ∗ .<br />

Pro<strong>of</strong>: There can be at most four pieces, other than<br />

the one inside the bounding rectangle, resulting from four<br />

cuts applied to the D. The length <strong>of</strong> each cut is no more<br />

than the portion <strong>of</strong> the perimeter <strong>of</strong> D that is separated by<br />

that cut. So, as a whole the total cutting cost is no more<br />

than the perimeter <strong>of</strong> D. Also see Fig. 8<br />

Now the perimeter <strong>of</strong> D is CD + Rθ, where CD is<br />

the length <strong>of</strong> the chord <strong>of</strong> D and θ is the angle made by<br />

the arc <strong>of</strong> D at the center c. Since CD is the cost <strong>of</strong> Dseparation,<br />

which by Lemma 4 is bounded by C ∗ , θ is at<br />

most π, and C ∗ can not be more than 2R, the maximum<br />

perimeter <strong>of</strong> D is C ∗ + (C ∗ /2)π = 2.57C ∗ .<br />

B. Cutting P out <strong>of</strong> a minimum area rectangle by only<br />

edge cuts<br />

For this phase we simply apply the constant factor<br />

approximatoin algorithm <strong>of</strong> Tan [4]. If P is bounded by a<br />

minimum area rectangle, then Tan’s algorithm cuts P out<br />

<strong>of</strong> the rectangle by using only edge cuts in O(n 3 ) time<br />

and with approximation ratio (1.5 + √ 2) [4].<br />

We summerize the result <strong>of</strong> our second algorithm in<br />

the following theorem.<br />

Theorem 2: Given a circle Q and a cornered convex<br />

polygon P <strong>of</strong> n edges within Q, P can be cut out <strong>of</strong> Q<br />

by using line cuts in O(n 3 ) time with a cutting cost <strong>of</strong><br />

6.48 times the optimal cutting cost.<br />

Pro<strong>of</strong>: We have the cutting cost <strong>of</strong> C ∗ for D-<br />

Separation, 2.57C ∗ for cutting the minimum area rectangle,<br />

and (1.5 + √ 2)C ∗ for cutting P out <strong>of</strong> the rectangle,<br />

which give a total cost <strong>of</strong> 6.48C ∗ .<br />

© 2010 ACADEMY PUBLISHER<br />

P<br />

V. CONCLUSION<br />

In this paper we have given two algorithms for cutting<br />

a convex polygon P out <strong>of</strong> a circle Q by using line cuts<br />

where P resides in one side <strong>of</strong> a diameter <strong>of</strong> Q. Our first<br />

algorithm is an O(log n)-approximation algorithm with<br />

O(n) running time, where n is the number <strong>of</strong> edges <strong>of</strong> P .<br />

Our second algorithm is a 6.48-approximation algorithm<br />

with running time O(n 3 ).<br />

While there exist several algorithms when Q is another<br />

polygon, we are the first to address the problem where Q<br />

is a circle. Our first algorithm has a better running time<br />

and the second one has better approximation ratio than<br />

the best known previous algorithms that deal with Q as<br />

a convex polygon.<br />

There remain several open problems and directions for<br />

future research:<br />

1) The general case <strong>of</strong> this problem where P is not<br />

necessarily in one side <strong>of</strong> a diameter <strong>of</strong> Q is still<br />

to be solved.<br />

2) We also think it would be interesting to see approximation<br />

schemes for this problem.<br />

3) Finally, in many industry applications it is common<br />

to have both P and Q as 3D objects, for which we<br />

do not know any algorithm. In future it is important<br />

to design similar algorithms for the 3D case.<br />

REFERENCES<br />

[1] J. Bhadury and R. Chandrasekaran, “Stock cutting to<br />

minimize cutting length,” European <strong>Journal</strong> <strong>of</strong> Operations<br />

Research, vol. 88, pp. 69–87, 1996.<br />

[2] E. D. Demaine, M. L. Demaine, and C. S. Kaplan, “Polygons<br />

cuttable by a circular saw,” Computational Geometry:<br />

Theory and Applications, vol. 20, pp. 69–84, 2001.<br />

[3] M. H. Overmars and E. Welzl, “The complexity <strong>of</strong> cutting<br />

paper,” in Proc. 1st Annual ACM Symposium on Computational<br />

Geometry (SoCG’85), 1985, pp. 316–321.<br />

[4] X. Tan, “Approximation algorithms for cutting out polygons<br />

with lines and rays,” in Proc. 11th International Conference<br />

on Computing and Combinatorics (COCOON’05),<br />

ser. LNCS, vol. 3595. Springer, 2005, pp. 534–543.<br />

[5] A. Dumitrescu, “The cost <strong>of</strong> cutting out convex n-gons,”<br />

Discrete Applied Mathematics, vol. 143, pp. 353–358,<br />

2004.<br />

[6] ——, “An approximation algorithm for cutting out convex<br />

polygons,” Computational Geometry: Theory and Applications,<br />

vol. 29, pp. 223–231, 2004.<br />

[7] O. Daescu and J. Luo, “Cutting out polygons with lines and<br />

rays,” International <strong>Journal</strong> <strong>of</strong> Computational Geometry<br />

and Applications, vol. 16, pp. 227–248, 2006.<br />

[8] S. Bereg, O. Daescu, and M. Jiang, “A PTAS for cutting<br />

out polygons with lines,” in Proceedings <strong>of</strong> the 12th Annual<br />

International Conference on Computing and Combinatorics<br />

(COCOON’06), ser. LNCS, vol. 4112. Springer,<br />

2006, pp. 176–185.<br />

[9] R. Chandrasekaran, O. Daescu, and J. Luo, “Cutting out<br />

polygons,” in Proc. 17th Canadian Conference on Computational<br />

Geometry (CCCG’05), 2005, pp. 183–186.<br />

[10] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein,<br />

Introduction to Algorithms. Cambridge, Massachusetts:<br />

MIT Press, 2001.<br />

[11] G. Toussaint, “Solving geometric problems with the rotating<br />

calipers,” in Proc. 2nd IEEE Mediterranean Electrotechnical<br />

Conference (MELECON’83), Athens, Greece,<br />

1983.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 11<br />

Syed Ishtiaque Ahmed was born in 1986 in Pabna,<br />

Bangladesh. He completed his B.Sc. Engineering in Computer<br />

Science and Engineering from Bangladesh University<br />

<strong>of</strong> Engineering and Technology (BUET) in March,<br />

2009. Currently he is an M.Sc. student in the same<br />

department. He is also working as a Lecturer in United<br />

International University, Dhaka, Bangladesh. During his<br />

undergraduate studies, he got University Merit Scholarship,<br />

Deans List Award, Imdad Siatara Khan Foundation<br />

Scholarship etc. for outstanding academic performances.<br />

His research interests have focused on the problems <strong>of</strong><br />

Computational Geometry.<br />

Md. Ariful Islam was born in Bogra, Bangladesh in<br />

1987. He received his B.Sc. Engineering in Computer<br />

Science and Engineering from Bangladesh University <strong>of</strong><br />

Engineering and Technology (BUET) in March, 2009.<br />

While studying as an undergrad student, he got University<br />

Merit Scholarship, Dean’s List Award, Educational Board<br />

Scholarship. He was the moderator <strong>of</strong> BuetNet (Association<br />

<strong>of</strong> BUET internal network). He is currently working<br />

as a Quantitative S<strong>of</strong>tware Developer at Stochastic Logic<br />

Limited, Bangladesh. At the same time, he is doing his<br />

M.Sc. in computer science and engineering in BUET. His<br />

research interests include Computational Geometry, Data<br />

Mining, and Artificial Intelligence.<br />

© 2010 ACADEMY PUBLISHER<br />

Masud Hasan was born in Kurigram, Bangladesh in<br />

1973. He received his B.Sc. and M.Sc. Engineering in<br />

Computer Science and Engineering from Bangladesh University<br />

<strong>of</strong> Engineering and Technology (BUET) in 1998<br />

and 2001, respectively. He received his PhD in Computer<br />

Science from the University <strong>of</strong> Waterloo, Canada in 2005.<br />

In 1998, he joined the Department <strong>of</strong> Computer Science<br />

and Engineering <strong>of</strong> BUET as a Lecturer, and since 2001<br />

he is an Assistant Pr<strong>of</strong>essor in the same department.<br />

His undergraduate and graduate teaching includes Algorithms,<br />

Graph Theory, Mathematical Analysis <strong>of</strong> Computer<br />

Science, Computational Geometry, and Algorithms<br />

in Bioinformatics. His main research interests focus on<br />

Algorithms, Computational Geometry, and Algorithms in<br />

Bioinformatics. He is the author <strong>of</strong> more than 25 peerreviewed<br />

international journal and conference papers. He<br />

has served as a reviewer for many international journal<br />

and conferences.


12 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Decision Tree Based Routine Generation (DRG)<br />

Algorithm: A Data Mining Advancement to<br />

Generate Academic Routine and Exam-time<br />

Tabling for Open Credit System<br />

Ashiqur Md. Rahman<br />

North South University, Computer Science and Engineering Department, Dhaka, Bangladesh<br />

Email: ashiq_rahman@yahoo.com<br />

Sheik Shafaat Giasuddin and Rashedur M Rahman<br />

North South University, Computer Science and Engineering Department, Dhaka, Bangladesh<br />

Email: rshafaat@gmail.com, rashedurrahman@yahoo.com<br />

Abstract—In this paper we propose and analyze techniques<br />

for academic routine and exam time table generation for<br />

open credit system. The contributions <strong>of</strong> this paper are<br />

multi-folds. Firstly, a technique namely Decision tree based<br />

Routine Generation (DRG) algorithm is proposed to<br />

generate an academic routine. Secondly, based on the DRG<br />

concept, Exam-time Tabling algorithm (ETA) is developed<br />

to implement conflict free exam-time schedule. In open<br />

credit course registration system any student may choose<br />

any course in any semester after completion <strong>of</strong> pre-requisite<br />

course(s). This makes the research more challenging and<br />

complex to accomplish. Academic routine and exam timetable<br />

generation are in general NP-Hard problems, i.e., no<br />

algorithm has been developed to solve it in reasonable<br />

(polynomial) amount <strong>of</strong> time. Different methods based on<br />

heuristics are developed to generate good time-table. In this<br />

research we developed heuristic based strategies that<br />

generate an efficient academic routine and exam time-table<br />

for a university that follow open credit system. OLAP<br />

representation helps to classify the courses along with the<br />

proposed algorithm to eliminate some constraints. Daybased<br />

pattern, minimum manhattan distance between<br />

courses <strong>of</strong> same teacher; minimum conflicted course<br />

distribution has been stage-managed to classify the courses.<br />

Our ETA algorithm is based on decision tree and sequential<br />

search techniques.<br />

Index Terms— OLAP, Crosstable, Conflict List, Favorite<br />

Slot, Faculty Choice, Course Color, Day-time slot pattern.<br />

I. INTRODUCTION<br />

This paper depict Decision Tree based Routine<br />

Generation (DRG) algorithm to generate a university<br />

class routine within a tolerable range <strong>of</strong> some constraints<br />

and conflict free Exam-Time Tabling algorithm (ETA). A<br />

decision-tree based classification algorithm has been<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.12-22<br />

introduced to solve this NP-Hard Problem [22]. CPL<br />

(constraint logic programming) is a respected technology<br />

for solving hard problems which include many (nonlinear)<br />

constraints [1]. Constraints propagation technique<br />

has been applied to overcome the preferential<br />

requirements for slots <strong>of</strong> teachers, courses from preadvising<br />

by students and class room allocation. Versatile<br />

choices for courses may lead to a deadlock situation.<br />

Golz used priorities heuristic ordering [2] where<br />

Abdennadher introduced an optimized cost-based rule<br />

mining [3,4] to solve these type <strong>of</strong> problems. On the other<br />

hand, knowledge based in a hyper heuristic course<br />

scheduling using case based reasoning is used to<br />

maximize the rule covering area [5]. Further expansion is<br />

possible to accomplish the exam-time tabling using<br />

OLAP technique [16]. Exam-time tabling is another<br />

highly constrained combinatorial optimization problem.<br />

The major objective is to confirm 100% conflict free<br />

exam schedule with a fixed interval <strong>of</strong> days. Limited<br />

room capacity and room availability problems must be<br />

overcome to place exams on each time slot. The<br />

computational time is reduced by using heuristic based<br />

search in comparison with the permutation <strong>of</strong> courses for<br />

exam-time tabling. Identification <strong>of</strong> a novel heuristic is<br />

the most challenging task. Using OLAP, proposed<br />

conflict free Exam-Time Tabling algorithm (ETA)<br />

produces substantial results to accommodate all students<br />

with zero conflict tolerance.<br />

DRG presents key features <strong>of</strong> generating class routine<br />

with minimum computational time. Heterogeneous<br />

distribution <strong>of</strong> courses is classified with maximum<br />

satisfaction <strong>of</strong> all constraints. Section II describes about<br />

previous related works and preliminaries in details.<br />

Section III illustrates the problem dimensions with the<br />

data filtering technique used in the paper to summarize<br />

further manipulation; pursued by the proposed algorithm,<br />

DRG, and the classification procedure to find the feasible<br />

solution in Section IV followed by Exam-Time Tabling<br />

algorithm (ETA) in section V. Extensive computational


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 13<br />

results are conducted to study the performance analysis<br />

for both algorithms in section VI. Finally the paper<br />

concludes the work in section VII.<br />

II. PRELIMINARIES &RELATED WORK<br />

A university class routine generation problem – as<br />

considered in this work – consists <strong>of</strong> assigning each<br />

course in a set <strong>of</strong> slots (classes) in a limited class rooms<br />

within the teachers’ favorite time slots. This highly<br />

constrained problem is optimized by simulated annealing<br />

and genetic algorithm [6,7]. Seven different major and<br />

minor objectives are discovered and deadlock situation is<br />

overcome by randomly exploring the composite<br />

neighborhood [8]. The most closely related attempt with<br />

this work appears to be the constraint programming<br />

approach used by Boizumault [9] and the simulated<br />

annealing approaches explored by Dowsland and<br />

Thompson [10,11]. The principal innovation in DRG is<br />

the sequential use <strong>of</strong> these two methods. DRG may select<br />

some poor slots, with respect to teachers or students,<br />

under a tolerable conflict range. A similar sequential<br />

approach has been taken in DRG on other problems:<br />

White and Zhang [12] used constraint programming to<br />

second a starting point for tabu search in solving course<br />

timetabling problems. For a high school timetabling<br />

Yoshikawa tested several combinations <strong>of</strong> two stage<br />

algorithms, including a greedy algorithm followed by<br />

simulated annealing and a constraint programming phase<br />

followed by a randomized greedy hill climbing algorithm<br />

(which is deemed to be the best combination <strong>of</strong> those<br />

used). In a similar vein, Burke, Newell and Weare [13]<br />

used their work on sequential construction heuristics [14]<br />

to generate initial solutions for their memetic algorithm<br />

[15].<br />

Wide variety <strong>of</strong> courses increases the emergence to<br />

provide adequate exam-time tables for the educational<br />

institutions. The development <strong>of</strong> an examination<br />

timetable requires the institution to schedule a number <strong>of</strong><br />

examinations in a given set <strong>of</strong> time slots, so as to satisfy a<br />

given set <strong>of</strong> constraints. A common constraint for any<br />

educational institution is that none <strong>of</strong> the students can<br />

have more than one exam scheduled at the same time.<br />

Many other constraints were presented by Marlot in [17].<br />

Sequential construction heuristics have been applied to<br />

the publicly available data in a variety <strong>of</strong> forms by<br />

selecting exams from a randomly chosen subset <strong>of</strong> all<br />

exams by Burke [14] where Carter [19, 20] allow limited<br />

backtracking de-allocation <strong>of</strong> exams. On the other hand<br />

Caramia [18] includes an optimization step after each<br />

exam allocation. Sequential construction heuristics order<br />

the exams in some way and attempt to allocate each exam<br />

to an ordered session by satisfying all the constraints.<br />

Using a memetic algorithm for exam timetabling Burke,<br />

Newall and Weare [15] proposed a hybrid algorithm<br />

consist <strong>of</strong> a simulated annealing phase to improve the<br />

quality <strong>of</strong> solution, and a hill climbing phase for further<br />

improvement. To avoid local maxima problem these<br />

solutions require random jitter [21] whereas the proposed<br />

algorithm has no impact on randomization.<br />

© 2010 ACADEMY PUBLISHER<br />

III. PROBLEM DESCRIPTION &DATA FILTERING<br />

The routine maps a set <strong>of</strong> courses chosen by students<br />

and teachers to a specific room and time-slot. A major<br />

objective, in developing an automated system, is to<br />

minimize the hassle <strong>of</strong> separating conflicted courses from<br />

choices by students. In this paper the major identified<br />

problems are (a) Number <strong>of</strong> lectures per week for each<br />

course are fixed, (b) Room overlapping is prohibited, (c)<br />

Fitting the routine with teacher’s favorite timeslots, and<br />

(d) trying to assert different timeslots to same level <strong>of</strong><br />

courses. On the other hand, the minor objectives are (e)<br />

day-timeslots pattern for the course, (f) room capacity,<br />

(g) avoiding gaps between classes <strong>of</strong> same teacher, if<br />

possible, (h) single class for student per day and (i)<br />

ensuring compactness <strong>of</strong> interclass time difference.<br />

The required scattered data contains total courses<br />

(course choices from pre-advising by students) C = {c1,<br />

c2, c3, …, cn} where the dependencies between courses<br />

are also maintained. Here course dependency can be<br />

defined as �Ci, Ci � Cj where Ci, Cj � C. For this paper<br />

the students’, S = {S1, S2, S3, …, Sz}, course choices can<br />

be derived as Sj = {ci} where � i, ci �C and 1 � i � n and<br />

|Sj| = max_course_choice for the student as shown in Fig.<br />

1. Teachers’ favorite timeslots are grouped according to<br />

day-timeslots pattern. Here group A and B is formed for<br />

the teacher tk, where T = {t1, t2, t3, …, tm}, A(tk) =<br />

{favorite time_slots <strong>of</strong> tk | sequential time slots for<br />

Saturday, Monday and Wednesday} and B(tk) = {favorite<br />

time slots <strong>of</strong> tk | sequential time slots for Sunday, Tuesday<br />

and Thursday}, whereas time_slots = {1, 2, …, 30}<br />

contains 5 sequential slots per day starting from Saturday.<br />

Here Friday is considered as an <strong>of</strong>f-day. Priority <strong>of</strong> the<br />

teacher has been introduced by P(tk) = {1, 2, …, 10}<br />

where a higher value represents higher priority. An<br />

exceptional priority is also introduced as 11 reflecting<br />

part-time faculty, whose projected time cannot be<br />

changed. Fig. 2. and Fig. 3. shows the teachers’ wish-list<br />

and the course distribution among the teachers’. Target <strong>of</strong><br />

this work is to find the values <strong>of</strong> the “class slot routine”<br />

field <strong>of</strong> the Fig. 3. The resultant routine vector, V =<br />

{{ci}q} � i, ci �C and 1 � i � n and 1 � q � 30, consists <strong>of</strong><br />

the course classification as per day required for each<br />

course and class room availability.<br />

In this paper, this huge dimensionality <strong>of</strong> dataset is<br />

reduced by initiating an OLAP (On-Line Analytical<br />

Processing) representation [16]. Here a Crosstable (Cr) <strong>of</strong><br />

(n × n) courses are initialized. Cr (n × n) = {conflicti, j}<br />

where 1 � i,j � n and ‘n’ is the total number <strong>of</strong> courses<br />

requested by the student (or is ‘n’ number <strong>of</strong> courses<br />

<strong>of</strong>fered by the department). Here the conflict <strong>of</strong> Cri,j is a<br />

positive integer that reflects the common students<br />

between ci and cj. The diagonal values <strong>of</strong> Cri,i show the<br />

total number <strong>of</strong> students requesting for the course ci.<br />

�Cri,j, [1 � j � n] is the total conflict for the course ci [�<br />

i, i � j]. Maximum “chaos” (conflict) courses can be<br />

easily sorted out from this two dimensional conflict<br />

distribution (Crosstable).<br />

To minimize the potential for time conflict, an<br />

admissible heuristic (h) is imposed to regroup the courses<br />

according to their dissimilarity. Graph Coloring


14 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

algorithm is used to cluster where the conflict in<br />

Crosstable confirms the weights <strong>of</strong> the edges in the<br />

graph. Here the admissible heuristic is applied as the<br />

maximum number <strong>of</strong> colors needed to find the minimum<br />

number <strong>of</strong> groups <strong>of</strong> courses. Here faculty redundancy is<br />

also considered as weight, that is, same faculty <strong>of</strong><br />

different courses cannot be in the same group.<br />

Student<br />

ID<br />

Course ID Semester ID<br />

S1 C1 1<br />

S1 C3 1<br />

S2 C1 1<br />

S2 C3 1<br />

S3 C2 1<br />

S3 C4 1<br />

S3 C5 1<br />

S4 C4 1<br />

Figure 1. Courses Pre-Advised by the Students.<br />

Teacher ID<br />

Favorite<br />

Slots<br />

Priority<br />

t1 7,8,9,13,17,18,19,22,23,24 7<br />

t2 2,12,22,29 11<br />

t3 5,10,15,20,25,30 9<br />

t4 2,5,8,9,12,15,18,22,23,24,25 10<br />

Figure 2. Teachers’ Slots Preferences along with Priority.<br />

Teacher<br />

ID<br />

Course ID<br />

Class<br />

Slot<br />

Routine<br />

Sem.<br />

ID<br />

Class<br />

per<br />

Week<br />

t1 c1 7,17 1 2<br />

t1 c4 8,18,24 1 3<br />

t2 c2 2,12 1 2<br />

t3 c3 5,15 1 2<br />

t4 c5 5,15,25 1 3<br />

Figure 3. Courses and Classes Distribution for the Teachers.<br />

The output <strong>of</strong> Graph Coloring Algorithm assigns a color<br />

to all courses individually in Fig. 5(a); same colored<br />

courses are treated as a group. Fig. 4. shows the resultant<br />

Crosstable. Each group may consist more than the<br />

threshold limit members with tolerable conflict range.<br />

Here the number <strong>of</strong> the rooms is considered as the<br />

threshold value. In this work the tolerable conflict range<br />

is set to 0.<br />

Course<br />

ID<br />

c1 c2 c3 c4 c5<br />

Total<br />

Conflict<br />

c1 40 5 7 0 0 12<br />

c2 5 50 0 2 1 8<br />

c3 7 0 35 5 0 12<br />

c4 0 2 5 40 1 8<br />

c5 0 1 0 1 45 2<br />

t1 t2 t3 t1 t4<br />

Figure 4. Crosstable for n × n Courses.<br />

This easy formation <strong>of</strong> coloring may lead to a measure<br />

<strong>of</strong> the undesirability <strong>of</strong> having classes overlapped in the<br />

routine. It will be effective to try to fit the most “chaos”<br />

courses <strong>of</strong> high priority teachers in the routine first.<br />

Random selection may be used to select teacher having<br />

© 2010 ACADEMY PUBLISHER<br />

same priority. The data used in this work to test the<br />

algorithm is real.<br />

Constraint programming model and data filtering<br />

techniques for routine generation motivate the increasing<br />

interest to develop an exam-time tabling. In routine<br />

generation algorithm the colored courses refer the non-<br />

conflicting sets <strong>of</strong> courses. Faculty redundancy is not<br />

considered as constraint any more but the room capacity.<br />

For ETA the graph consisting edge weight between two<br />

courses Dy,z = Cy + Cz – Cri,j where Cy and Cz represents<br />

the number <strong>of</strong> students <strong>of</strong> Ci and Cj courses respectively.<br />

(a) (b)<br />

Figure 5(a). Courses Graph Color for DRG. (b). Courses Graph<br />

Color for ETA.<br />

�i,j �Dy,z � total_room_capacity and |Dy,z| �<br />

room_capacity shown in Fig. 5(b). Important factor <strong>of</strong><br />

grouping courses is that the number <strong>of</strong> members in each<br />

group must not exceeds the total number <strong>of</strong> room<br />

availability. The minimum requirement <strong>of</strong> days for 100%<br />

concurrent conflict free exam is greater than or equal to<br />

the number <strong>of</strong> groups that is the numbers <strong>of</strong> color<br />

requires coloring the graph. If each day consists <strong>of</strong> more<br />

than one slot <strong>of</strong> examination and the provided day is less<br />

than the numbers <strong>of</strong> color then the Crosstable is able to<br />

ensure the numbers <strong>of</strong> consecutive examinations for an<br />

individual or groups <strong>of</strong> students on the day. Each exam<br />

slot holds a group <strong>of</strong> courses only, with zero conflict. But<br />

the consecutive slot may embrace some conflicts among<br />

the groups due to differ in color. By using dynamic data<br />

structure the number <strong>of</strong> consecutive examinations<br />

between different groups <strong>of</strong> courses can be easily sorted<br />

out described in section V.<br />

IV. THE DECISION TREE BASED ROUTINE GENERATION<br />

(DRG) ALGORITHM<br />

The aim <strong>of</strong> the proposed DRG algorithm is to classify<br />

all the courses with a degree <strong>of</strong> satisfaction. Enormous<br />

permutation <strong>of</strong> courses may lead to a time consuming<br />

process. So a standardized branch & bound condition<br />

may be applied to reduce the problem surface area. The<br />

DRG sequentially follows 4 sets <strong>of</strong> cascading decision<br />

trees. Depending upon the emergence and success rate,<br />

the result <strong>of</strong> one tree is propagated to another tree as<br />

shown in Fig. 6. These transitions may lead to a solution<br />

but also may degrade the satisfaction threshold. A control<br />

portion helps to justify the problem solution needed to be<br />

more explored or not.<br />

Each transition from one decision tree to another<br />

shrinks the overall problem surface area by eliminating<br />

the classified courses. Classical decision tree takes certain<br />

decision depending upon some gain factor. Beside this,<br />

the proposed trees concentrate on the reduced problem


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 15<br />

dimension which helps to classify the unclassified<br />

courses with tolerable time complexity.<br />

The key factor for each <strong>of</strong> the four decision trees is (a)<br />

PDRG: Teacher Priority, (b) CDRG: Highest conflicted<br />

course, (c) TDRG: Tolerable conflict and (d) NTRG:<br />

Neighbor slots by ignoring teacher’s wish list. A<br />

university routine is created and remains unchanged for a<br />

particular semester. If the placed courses do not match<br />

the favorite slots <strong>of</strong> the teacher, the evolved<br />

dissatisfaction is much higher for a higher prioritized<br />

teacher. So, we used PDRG as our first decision tree.<br />

From an observation it is clear that the placing conflicted<br />

course in a dense routine vector is difficult as it can<br />

introduce student conflict in the routine. So, it will wise<br />

to consider the higher conflicted courses first as they are<br />

the principle component which reflects the major<br />

problem surface area. By doing this the problem surface<br />

area is reduced easily. For this reason CDRG is the<br />

second selection. The decision tress TDRG and PDRG<br />

are quite similar. But TDRG introduces considerable<br />

student conflict in to the routine vector.<br />

Figure 6. Program flow <strong>of</strong> DRG<br />

Therefore, TDRG plays the third role in the whole<br />

algorithm. After all the three decision trees, the<br />

unclassified and partially classified courses shows, there<br />

is no place (slot) according to the teacher’s favorite slots.<br />

Exploring over the contour <strong>of</strong> the teachers favorite slots<br />

is necessary in order to achieve the course’s class per<br />

week constraints. Only student conflict is considered in<br />

TDRG where the day-time pattern is maintained strictly.<br />

On the other hand, NTDRG will dissatisfy the teachers &<br />

may not follow the day-time pattern. Hence, NTDRG is<br />

the final decision tree.<br />

A. Priority regulated DRG (PDRG)<br />

The first decision tree accumulates the high prioritized<br />

teacher tk and most conflicted course ci <strong>of</strong> tk to the routine<br />

© 2010 ACADEMY PUBLISHER<br />

vector with maximum fitness value. The max_fit function<br />

tries to discover the day-time pattern for the course. If the<br />

consequential day-time slots are already occupied by<br />

other courses, it checks the corresponding course color. If<br />

the color <strong>of</strong> the courses is same it classifies the course ci<br />

with a degree. Here the fitness value <strong>of</strong> a course is<br />

referred as degree. The highest returned degree <strong>of</strong> a daytime<br />

slot, as maximum fitness value, is selected as the<br />

course class for ci. This operation provides a patternbased<br />

course distribution, A(tk) or B(tk), in the routine<br />

although some courses may be placed partially as per<br />

their class_per_week and max_class_per_slot constraints.<br />

In this manner, the low priority teachers may suffer by<br />

not getting the classes in a sequential manner. But in<br />

practice 26% <strong>of</strong> the total courses can be placed with zero<br />

conflict and with a high level <strong>of</strong> satisfaction. The level <strong>of</strong><br />

satisfaction is a quantitative measure <strong>of</strong> placement for a<br />

course with respect to the teachers’ favorite slots. The<br />

definitive PDRG tree is shown in Fig. 7. The partially<br />

placed and not yet placed courses then elected as<br />

cascaded input to second level <strong>of</strong> exploration. The pseudo<br />

code presented in algorithm 1 describes actions to be<br />

taken by Priority regulated DRG algorithm (PDRG). The<br />

computational time <strong>of</strong> this operation requires O (n × m)<br />

where the maximum number <strong>of</strong> courses per teacher is ‘n’<br />

and the number <strong>of</strong> faculties is ‘m’.<br />

PDRG( )<br />

{<br />

// select the high prioritized teacher;<br />

// select most conflicted course <strong>of</strong> the teacher;<br />

// select the corresponding faculty’s low frequent favorite<br />

// time slot<br />

1. Find max-patterned day time slots;<br />

IF the time slot is empty PLACE the course;<br />

2. ELSE find the color <strong>of</strong> the course that already placed<br />

on the slot;<br />

2.1. IF the color is same AND on the range <strong>of</strong> the<br />

room AND the course is not already placed on<br />

that day before, PLACE the course;<br />

2.2. ELSE select the next max-pattern;<br />

3. every time after PLACEing the course, remove the<br />

slot from the faculty favorite slot list;<br />

4. repeat the step 1,2 until the course slot remain<br />

unchanged;<br />

}<br />

Algorithm 1. Priority regulated DRG (PDRG)<br />

B. Chaos eradication DRG (CDRG)<br />

In this decision tree, the less demanded time slots (with<br />

respect to number <strong>of</strong> rooms) are labeled as “cold”<br />

whereas high demanded ones are labeled as “hot”.<br />

Among the remaining most conflicted courses (may not<br />

or partially placed) with low frequent time slots <strong>of</strong> the<br />

corresponding teacher are chosen for the second decision<br />

tree. If the considerable slot is empty then the course is<br />

placed in that slot, otherwise the colors have to be<br />

matched. If the color <strong>of</strong> the courses placed in the slot<br />

matches with the concerning course, the latter course is


16 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

classified, and if not other options are taken into<br />

consideration for the teacher. The considerable courses in<br />

CDRG are the overlooked courses from PDRG, where<br />

PDRG confirms the day-time pattern is not possible for<br />

the courses due to color and the scattered choice <strong>of</strong> slots<br />

by the teachers. So day-time slots pattern are ignored in<br />

this operation. After using this second decision tree few<br />

courses may remain unchanged. Nevertheless this time<br />

the number <strong>of</strong> remaining courses is much less than the<br />

previous one. Around 32% <strong>of</strong> the remaining courses are<br />

placed successfully by CDRG. The combined effort <strong>of</strong><br />

decision trees still provides high confidence. Fig. 8.<br />

demonstrates the Chaos eradication DRG. The pseudo<br />

Figure 7. Decision Tree <strong>of</strong> PDRG<br />

code presented in algorithm 2 describes actions to be<br />

taken by Chaos eradication DRG (CDRG). Now this tree<br />

holds time complexity <strong>of</strong> O((n – d) × (m – l)) where the<br />

maximum number <strong>of</strong> courses per teacher is ‘n’, the<br />

number <strong>of</strong> faculties is ‘m’ and ‘d’ is the already classified<br />

courses <strong>of</strong> each teacher by the PDRG and ‘l’ is the<br />

number teacher whose all courses were placed in the<br />

routine by PDRG.<br />

CDRG( )<br />

{<br />

// select the most conflicted courses not yet placed or<br />

// partially placed;<br />

// select the remaining low frequent favorite slot <strong>of</strong> the<br />

// faculty;<br />

1. IF the slot is empty PLACE the course;<br />

2. ELSE find the color <strong>of</strong> the course that already<br />

placed on the slot;<br />

2.1. IF the color is same AND on the range <strong>of</strong> the<br />

room AND the course is not already placed on<br />

that day before, PLACE the course;<br />

2.2. ELSE select the next low frequent favorite slot<br />

<strong>of</strong> the faculty;<br />

3. Repeat the step 1,2 until the course remain<br />

unchanged state;<br />

© 2010 ACADEMY PUBLISHER<br />

}<br />

Algorithm 2. Chaos eradication DRG (CDRG)<br />

C. Tolerable DRG (TDRG)<br />

The first two decision trees are aimed at automated<br />

generations <strong>of</strong> a better assignment. The second approach<br />

seeks to find an assignment <strong>of</strong> vector which may be more<br />

difficult to locate in the search space using the already<br />

assigned vector. The third decision tree allows the<br />

remaining courses according to the priority <strong>of</strong> the<br />

teachers to find a place into the routine within a tolerable<br />

conflict range <strong>of</strong> the subsequent teachers’ favorite slots.<br />

Here the course color is overlooked. This classification<br />

now introduces errors into the system by considering the<br />

tolerable students conflicts only. Important issue is that,<br />

this manipulation may iterate several times to include as<br />

many courses possible to place in to the routine. 22% <strong>of</strong><br />

the unclassified and partially classified courses are<br />

labeled with a tolerable error.<br />

Figure 8. Decision Tree <strong>of</strong> CDRG<br />

The flowchart presentation <strong>of</strong> this decision tree is<br />

shown in Fig. 9. The pseudo code presented in algorithm<br />

3 describes actions to be taken by Tolerable DRG<br />

(TDRG). The average time complexity <strong>of</strong> TDRG is<br />

approximately O (t × (n – (d + o)) × (m – (l + p)) where<br />

the maximum number <strong>of</strong> courses per teacher is ‘n’, the<br />

number <strong>of</strong> faculties is ‘m’ and ‘d’ is the already classified<br />

courses <strong>of</strong> each teacher by the PDRG and ‘l’ is the<br />

number teacher whose all courses were placed in the<br />

routine by PDRG. ‘o’ is the number <strong>of</strong> courses placed by<br />

CDRG and ‘p’ is the number <strong>of</strong> teachers whose courses<br />

are completely placed by CDRG. Here ‘t’ is the number<br />

<strong>of</strong> TDRG iterates.<br />

TDRG( )<br />

{<br />

// select the most conflicted courses not yet placed or


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 17<br />

// partially placed <strong>of</strong> a high prioritized teacher;<br />

// select the remaining low frequent favorite slot <strong>of</strong> the<br />

// faculty;<br />

1. IF the slot is empty PLACE the course;<br />

2. ELSE IF on the range <strong>of</strong> the room AND conflict<br />

among the courses are in tolerable range AND the<br />

course is not already placed on that day before,<br />

PLACE the course;<br />

3. ELSE select the next low frequent favorite slot <strong>of</strong> the<br />

faculty;<br />

4. Repeat the step 2,3 until the course remain<br />

unchanged state;<br />

}<br />

Algorithm 3. Tolerable DRG (TDRG)<br />

D. Neighboring Tour DRG (NTDRG)<br />

The fourth possibility search allows the courses to look<br />

over the contour <strong>of</strong> the teachers’ favorite slots to find the<br />

least conflicted slots. Although the students’ scattered<br />

choices is overlooked in TDRG but the placed courses do<br />

not displease teachers’ preference. The final decision tree<br />

is modeled in such a manner so that the rest <strong>of</strong> unplaced<br />

courses are going to be graded into the routine vector<br />

within a minimum distance <strong>of</strong> the teachers’ choice.<br />

Manhattan Distance (MD) is calculated for this placement<br />

<strong>of</strong> courses. MD = total slot gap <strong>of</strong> tk on each day i.e. the<br />

total unused slots <strong>of</strong> a teacher on a particular day.<br />

Manhattan Distance is a vital performance measuring tool<br />

to find the slot gaps per day for an individual teacher. The<br />

optimization can be done by keeping Cumulative<br />

Manhattan Distance (cMD) for the teachers as low as<br />

possible where cMD = �all used day by t MD(t) It is assured<br />

that the courses were not yet placed on that day earlier.<br />

From the remaining courses, a course is selected<br />

according to the priority <strong>of</strong> the teacher.<br />

Figure 9. Decision Tree <strong>of</strong> TDRG<br />

Complement <strong>of</strong> the intersection between the classification<br />

value <strong>of</strong> that course and the corresponding teachers’ used<br />

slots are considered as new host slots. The neighboring<br />

slots <strong>of</strong> the new hosts are the most likely candidates.<br />

© 2010 ACADEMY PUBLISHER<br />

Among the candidates the most “cold” (less desired slots)<br />

slots are considered as candidates.<br />

Considerable issues in this placement are tolerable<br />

conflict range, allocable number <strong>of</strong> rooms and day-time<br />

misjudgment. Fig. 10. demonstrates the overall scenario<br />

<strong>of</strong> Neighboring Tour DRG (NTDRG). The approximate<br />

time complexity is O(2 × (n – (d + o + u)) × (m – (l + p +<br />

v)) � O((n – (d + o + u)) × (m – (l + p + v)) where the<br />

maximum number <strong>of</strong> courses per teacher is ‘n’, the<br />

number <strong>of</strong> faculties is ‘m’ and ‘d’ is the already classified<br />

courses <strong>of</strong> each teacher by the PDRG and ‘l’ is the<br />

number <strong>of</strong> teacher whose all courses were placed in the<br />

routine by PDRG. ‘o’ is the number <strong>of</strong> courses placed by<br />

CDRG and ‘p’ is the number <strong>of</strong> teachers whose courses<br />

are completely placed by CDRG. ‘u’ is the number <strong>of</strong><br />

courses placed by TDRG and ‘v’ is the number <strong>of</strong><br />

teachers whose courses are completely placed by TDRG.<br />

The pseudo code presented in algorithm 4 describes<br />

actions to be taken by Neighboring Tour DRG (NTDRG).<br />

NTDRG( )<br />

{<br />

// select the courses not yet placed or partially placed;<br />

// select the corresponding faculty routine;<br />

1. Find the candidate slot (where candidate slot is the<br />

neighboring slots <strong>of</strong> the used slots <strong>of</strong> the faculty);<br />

2. IF on the range <strong>of</strong> the room AND conflict among the<br />

courses are in tolerable range AND the course is not<br />

already placed on that day before, PLACE the<br />

course;<br />

3. ELSE select the next candidate slot <strong>of</strong> the faculty;<br />

4. Repeat the step 2,3 until the course remain<br />

unchanged state;<br />

}<br />

Algorithm 4. Neighboring Tour DRG (NTDRG).<br />

Figure 10. Decision Tree <strong>of</strong> NTDRG<br />

These four sequential decision trees feed forward to an<br />

acceptable solution. It is ensured that the course is not yet


18 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

place on that very day whenever the “PLACE” decision<br />

is taken. The Overall Complexity is shown in equation<br />

(1).<br />

= PDRG + CDRG + TDRG + NTDRG<br />

= O(mn) + O( (n-d)(m-l) ) + O( t(n-(d+o))(m-<br />

(l+p)) ) + O( (n-(d+o+u))(m-(l+p+v)) )<br />

= mn + mn – nl – md + dl + t(mn – nl – np – md<br />

+ dl + dp – mo + ol + op) + mn – nl – np – nv<br />

– md + dl + dp + dv – mo + ol + op + ov – mu<br />

+ ul + up + uv<br />

= (t + 3)mn - (d + td + to + d + o + u)m – (l + tl<br />

+ l + tp + v)n + (dl + tdl + tdp + tol + top + dl<br />

+ dp + dv + ol + op + ov + ul + up + uv)<br />

= A.mn – B.m – C.n + K --------------------- (1)<br />

where,<br />

A = t + 3;<br />

B = (t + 2)d + (t + l)o + u;<br />

C = (t + 2)l + tp + v;<br />

and K = dl + tdl + tdp + tol + top + dl + dp + dv + ol<br />

+ op + ov + ul + up + uv<br />

The cumulative time complexity <strong>of</strong> DRG is O(A.mn -<br />

B.m - C.n), The cumulative time complexity <strong>of</strong> DRG<br />

mainly depend upon the number <strong>of</strong> iterations in TDRG<br />

algorithm and number <strong>of</strong> courses placed by each and<br />

every decision tree. The algorithm degrades due to the<br />

fact that the students have a freedom to choose any<br />

course (assuming that the prerequisite course is<br />

completed).<br />

Firstly PDRG faces problem if same prioritized<br />

teachers focus into same favorite time slots. By using<br />

CDRG this situation may prevail over considering a level<br />

<strong>of</strong> discontinuity into the day-time pattern for the courses.<br />

In second run, if the low “chaos” course holds high<br />

prioritized teacher then the classification may dissatisfy<br />

the teacher. For the third rotation the conflict may arise<br />

for the students for not considering the color. For<br />

NTDRG, if the host slot is elected as the first (V{{ci}q} �<br />

i, ci�C and 1 � i � n and 1 � q � 30 where q = 6, 11, 16,<br />

21, 26 is the first slots <strong>of</strong> the day) and last (V{{ci}q} � i,<br />

ci�C and 1 � i � n and 1 � q � 30 where q = 5, 10, 15, 20,<br />

25 is the last slots <strong>of</strong> the day) slot <strong>of</strong> the day, the previous<br />

and the next consecutive slots are from different days. So,<br />

this day jump increases huge distance for the teacher<br />

which may lead to an unfeasible classification. After<br />

NTDRG a few courses may remain partially classified or<br />

unclassified due to three major factors (1) Number <strong>of</strong><br />

rooms not adequate, (2) Teacher’s preferred time slot is<br />

not applicable and (3) Student conflict may cross<br />

tolerable conflict range.<br />

The resultant unclassified or partially classified<br />

courses, after all decision trees exploration, represent the<br />

problem can not be solved without the extensive<br />

relaxation <strong>of</strong> the constraints mentioned earlier. Unclassification<br />

or partially classification may tag to a<br />

course not only for the conflict but also for room<br />

availability. So, such event may occur where there is no<br />

conflict among the courses but the low prioritize course<br />

(due to teacher’s priority in PDRG or low conflicted<br />

score in CDRG or little bit higher considerable conflict<br />

score in TDRG ) is not able to be placed in to the routine<br />

© 2010 ACADEMY PUBLISHER<br />

vector for room limitation. Same situation may arise for<br />

other two constraints. So, to eliminate the partially<br />

classified or unclassified courses the above mentioned<br />

factors have to be compromised that is by increasing the<br />

room capacity or expanding teacher’s favorite time or<br />

ignoring students’ conflicts.<br />

V. EXAM-TIME TABLING ALGORITHM (ETA)<br />

Typical constraint programming method is applied to<br />

the above exam-time tabling problem. By considering the<br />

equal or less number <strong>of</strong> members only from the power set<br />

<strong>of</strong> the groups <strong>of</strong> courses, the ETA calculates the total<br />

number <strong>of</strong> conflicts and the total number <strong>of</strong> students on<br />

each group. The proposed algorithm also tries to place the<br />

course groups on a specific exam slot. The total numbers<br />

<strong>of</strong> valid power set are the combination <strong>of</strong> the groups<br />

along with the given slots for the exam. Valid range in<br />

calculating the number <strong>of</strong> members is 1 to equal to given<br />

slot value ‘s’ i.e. Gn Cs + Gn Cs-1 +… + Gn C1 where ‘Gn’ is<br />

the total number <strong>of</strong> course groups. By sorting the groups<br />

in descending order according to their total student to<br />

conflict ratio, the ETA tries to judge the most appropriate<br />

groups to place in to the exam-time table first. Here if the<br />

conflict signifies zero then the total student to conflict<br />

ratio remains equal to the total number <strong>of</strong> the students.<br />

Among the sorted power set list the most supported<br />

single member is selected to be placed on each day <strong>of</strong> the<br />

exam-time table by using greedy algorithm i.e. by<br />

choosing the most pr<strong>of</strong>itable groups first. Support vector<br />

is calculated from the ratio <strong>of</strong> the total student and<br />

conflict. If the provided day for exam scheduling is less<br />

and the groups <strong>of</strong> courses and number <strong>of</strong> slots is more<br />

than one on each day, then the placed group will try to<br />

calculate the most appropriate unplaced groups and select<br />

the group to form the pair. This situation may produce<br />

concurrent conflicts but conflicts among the courses on<br />

each slot remain zero. These newly paired groups are<br />

eliminated from the list so that other placed groups can<br />

select their feasible member groups. Considering the<br />

scenario described in Fig. 4, the resultant colorized<br />

course groups are G1 = {c1, c4} 80 and G2 = {c2, c3} 85 and<br />

the power set <strong>of</strong> the groups are {G1}, {G2}, {G1, G2}.<br />

Here the highest considerable set are those, whose<br />

number <strong>of</strong> members are less or equal to the provided slots<br />

for exam per day. Total student to conflict ratio <strong>of</strong> the<br />

selective power sets are 80, 85 and 165/19, where the<br />

ETA mainly concentrates on. If the provided days for the<br />

exam are equal to the number <strong>of</strong> groups then the most<br />

appropriate exam schedule is Day 1 = G1 and Day 2 =<br />

G2. There is an 11.5% possibility <strong>of</strong> having concurrent<br />

exam, if the provided days for exam are less then the<br />

number <strong>of</strong> colorized course groups. The pseudo code<br />

presented in algorithm 5 describes actions to be taken by<br />

Exam-Time Tabling Algorithm (ETA).<br />

ETA( )<br />

{<br />

1. Color the courses and from the group;


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 19<br />

2. Find the power set <strong>of</strong> the groups according to the<br />

provided exam slots per day;<br />

3. Sort the power set in descending order according to<br />

their total student to conflict ratio treated as “Gain”;<br />

4. PLACE the highest “Gain”ed course on each day <strong>of</strong><br />

exam;<br />

5. Find the most appropriate pair for the group;<br />

6. Optimize the exam routine by imposing the MST<br />

(Minimum Spanning Tree – by using Prims<br />

algorithm; Here the graph <strong>of</strong> the groups contains<br />

edges with conflicts) to spread away the concurrent<br />

exams for the student.<br />

}<br />

Algorithm 5. Exam-Time Tabling Algorithm (ETA).<br />

For better exam-time table ETA also calculates the<br />

conflicts among the each day-placed group and considers<br />

these groups as a vertex. Further optimization can be<br />

done by using PRIMS algorithm. In this case PRIMS<br />

algorithm will increase the Manhattan distance (MD) <strong>of</strong><br />

the closest conflicting groups where the non conflicting<br />

groups also hold an edge with zero weight. This<br />

optimization stage is used to maximize the day gap <strong>of</strong><br />

exams for the students. So by using PRIMS algorithm,<br />

ETA founds the minimum spanning tree <strong>of</strong> group <strong>of</strong><br />

courses where the nearest group exams hold less common<br />

students. Manhattan Distance (MD) represents the value<br />

<strong>of</strong> total student to conflict ratio between the groups <strong>of</strong> the<br />

days. The cumulative time complexity <strong>of</strong> ETA is � O(s Gn<br />

+ Gn 2 ) depends upon the provided slots per day (s)<br />

strictly.<br />

A. Algorithm Analysis<br />

VI. EXPERIMENTAL RESULTS<br />

The Decision tree based Routine Generation algorithm<br />

(DRG) is a set <strong>of</strong> 4 sequential feed-forwarded trees.<br />

Important observation has been made by considering the<br />

fitness value where it represents the best matching score<br />

among these selected day-time pattern slots for a selected<br />

teacher. An example is shown in Fig. 1, 2, 3, 4 and 5(a)<br />

where the first decision tree (PDRG) selects t2 because <strong>of</strong><br />

high priority and t2 (11) holds the courses {c2}. The daytime<br />

pattern shows {{2,12,22},{29}} = {2,12}, {12,22}<br />

or {2,22} as the best match for the course c2 from t2<br />

favorite time slots. Here after imposing the day-time<br />

pattern with respect to number <strong>of</strong> class per week for the<br />

course, the calculated ordered sets <strong>of</strong> fitness value are<br />

{2,12}, {12,22}, {2,22} and {29} where the first three<br />

sets hold highest and equal fitness value corresponding<br />

with class per week. As no courses have been placed yet<br />

vector V is empty i.e.; V({ci}2) = { } & V({ci}12) = { } &<br />

V({ci}22) = { } & within room limit hence, the fitness<br />

value({2,12}) = fitness value({12,22}) = fitness<br />

value({2,22}), where the fitness value is an integer<br />

number representing the maximum possibility to take the<br />

classes on the provided time slots. So, PDRG places c2 in<br />

slot {2,12}, i.e. V({c2}2) and V({c2}12) where {2,12} is a<br />

random selection.<br />

© 2010 ACADEMY PUBLISHER<br />

Again PDRG selects t4 with the priority 10 as its next<br />

candidate which holds the courses {c5}. Here the daytime<br />

pattern is, {{2,12,22},{5,15,25}..} =<br />

{2,12,22},{5,15,25} extracted from the t4’s favorite slots.<br />

As V({ci}2) = {c2} & V({ci}12) = {c2} V({ci}22) = { } &<br />

V({ci}5) = { } & V({ci}15) = { } V({ci}25) = { } and the<br />

fitness value({2,12,22}) < fitness value({5,15,25}).<br />

Therefore c5 is placed in slot {5,15,25}, i.e. V({c5}5) and<br />

V({c5}15) and V({c5}25) where V({ci}2) and V({ci}12) is<br />

not empty. In similar approach the for the teacher t3 the<br />

course c3 is placed V({c3}10) and V({c3}20) where<br />

V({c3}5), V({c3}15) and V({c3}25) is ignored due to<br />

different course color. And for t1 the courses {c1, c4} hold<br />

12 and 8 as total conflicts respectively. Selected course c1<br />

can be placed {7,17}, {8,18}, {9,19}, {13,23}, {22},<br />

{24} accordingly to the t1 favorite slots. Course c1 is<br />

placed in V({c1}7) and V({c1}17). And from the<br />

remaining time slots none the generated pattern provide<br />

sufficient classes for the course c4 where the required<br />

number <strong>of</strong> classes is 3. So the course c4 is placed on<br />

V({c4}8) and V({c4}18) and c4 is tagged as partially placed<br />

course needed to be explored more. Random selection<br />

among courses for exploration is acceptable if more than<br />

one course holds same conflict score.<br />

This class based reasoning left 1 partially placed<br />

course, need to be walked around more. Next decision<br />

tree CDRG is now in operation with fewer courses as<br />

compared with the beginning and slot 24 will be allocated<br />

for the course c4. The important issue is, although the<br />

classes are placed in zigzag fashion but all the selected<br />

slots for the course c4 are from the favorite slots <strong>of</strong> the<br />

faculty respectively. So, the denoted term teacher<br />

satisfaction is 100% for the case and overlapping classes<br />

for the student is zero (i.e., student satisfaction). The<br />

results <strong>of</strong> above example are shown in Fig. 11. In practice<br />

the situation may be more complex with many courses.<br />

By using the same data filtering technique for Exam-<br />

Time tabling the proposed algorithm ETA generates the<br />

power set <strong>of</strong> courses according to their course color<br />

extracted from the cross_table(Cr) where the teacher<br />

redundancy is ignored Fig. 5(b). So, the resultant set is,<br />

{c1}, {c2}, {c3}, {c4}, {c5}, {c1, c4} and {c2, c3}. If the<br />

provided exam days are 3 and exam slots per day are 2<br />

the for 100% conflict free exam per slots are day 1 : {c1,<br />

c4}, day 2 : {c2, c3} and day 3 : {c5}.<br />

PDRG CDRG TDRG NTDRG<br />

Final<br />

Finding<br />

Unclassified 0 0 - - 0<br />

Partially<br />

classified<br />

Day-time<br />

1 0 - - 0<br />

patterned<br />

classified<br />

4 1 - - 5<br />

Student<br />

conflict<br />

0 0 - - 0<br />

Unsatisfied<br />

time<br />

0 1 - - 1<br />

Figure 11. Simulation result <strong>of</strong> DRG<br />

Further more if the provided days for exam are 2 and<br />

slots are 2 then the exam-time tabling is like, day 1 : slot<br />

1 {c1, c4}, slot 2 {c5} and day 2 : slot 1 {c2}, slot 2 {c3},


20 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

where day 1 consists zero conflict <strong>of</strong> exam on each slots<br />

but 1 consecutive exam <strong>of</strong> an student. Fig. 12 shows the<br />

overall outcome <strong>of</strong> the ETA algorithm for this special<br />

scenario.<br />

B. Experimental Results<br />

Test results for DRG algorithm are carried out on a PC<br />

with Pentium IV/1.6 GHz processor and 256 MB <strong>of</strong><br />

memory. Table I. shows the computational results for<br />

semester 1 and semester 2 with 66 and 61 courses<br />

correspondingly. Where for semester 1, around 24<br />

teachers, with minimum 10 classes per week and at least<br />

3 courses and 120 students with 430 combinations <strong>of</strong><br />

choices <strong>of</strong> courses are considered as input. For semester<br />

2, around 23 teachers, with minimum 10 classes per week<br />

and at least 3 courses and 106 students with 414<br />

combinations <strong>of</strong> choices <strong>of</strong> courses are considered as<br />

input.<br />

Day<br />

Slot 1<br />

Cr.<br />

(total<br />

std)<br />

Slot 2<br />

Cr.<br />

(total<br />

std)<br />

Slot 3<br />

Cr.<br />

(total<br />

std)<br />

Concurrent<br />

Exam<br />

Conflict<br />

Overall<br />

Gain<br />

Day = 3<br />

Slot = 2<br />

1<br />

2<br />

3<br />

c1 (40)<br />

c2 (50)<br />

c5 (45)<br />

c4 (40)<br />

c3 (35)<br />

-<br />

-<br />

-<br />

-<br />

0<br />

0<br />

0<br />

80<br />

85<br />

45<br />

Day = 2<br />

Slot = 2<br />

1<br />

2<br />

c2 (50)<br />

c3 (35)<br />

c1 (40)<br />

c5 (45)<br />

c4 (40)<br />

-<br />

-<br />

1<br />

0<br />

130<br />

80<br />

Day = 1<br />

Slot = 2<br />

1 - - - -<br />

Not<br />

Possible<br />

Day = 1<br />

Slot = 3<br />

1<br />

c1 (40)<br />

c4 (40)<br />

c5 (45)<br />

c2 (50)<br />

c3 (35)<br />

21 10<br />

Figure 12. Simulation result <strong>of</strong> ETA<br />

In Table I. and Fig. 11 unclassified courses refers to the<br />

number <strong>of</strong> courses that were not classified by any<br />

decision trees, partially classified courses gives the<br />

number <strong>of</strong> courses partially classified (the number classes<br />

already placed into the routine is less then the required<br />

classes). Day-time pattern shows the numbers <strong>of</strong> courses<br />

that followed the day-time pattern. student conflict<br />

estimates the percentage <strong>of</strong> unsatisfied requirements for<br />

courses by students. Unsatisfied time refers the number <strong>of</strong><br />

time slots automatically generated beyond teachers’<br />

favorite choice. Final Finding refers the final output for<br />

every subsection after using the all cascade trees. The<br />

main objective <strong>of</strong> this classification is to achieve the state<br />

where the value the unclassified course is equal to zero.<br />

Final value <strong>of</strong> unsatisfied time and student conflict shows<br />

the teacher and student satisfaction respectively.<br />

Randomization or prediction on classification is not used<br />

in DRG. So the output <strong>of</strong> this � O(A.mn - B.m - C.n)<br />

based deterministic algorithm strictly depends upon the<br />

input.<br />

Test results for ETA are generated depending upon 61<br />

courses with average 25 students per course within 9<br />

exam days and 2 slots per day for semester 2. Table II. as<br />

well as Fig. 12 describes the outcome <strong>of</strong> the Exam-time<br />

Tabling Algorithm. Here the “slots” represents the total<br />

numbers <strong>of</strong> consecutive exam on a single day. Time<br />

© 2010 ACADEMY PUBLISHER<br />

duration is 3 hours for exam-time tabling whereas same<br />

slot holds 1 hour as class duration in DRG. Total student<br />

to conflict ratio on a particular exam day is referred as<br />

overall gain. Around 3.8% <strong>of</strong> the total students hold<br />

concurrent exam schedule whereas scheduled courses on<br />

each slot are 100% conflict free. The overall gain also<br />

confirms the pr<strong>of</strong>it for taking the course groups together<br />

as a candidate on a single day. High satisfaction <strong>of</strong> the<br />

students attests a high-quality exam-time tabling.<br />

VII. CONCLUSION<br />

Timetabling problem usually varies significantly from<br />

institution to institution in terms <strong>of</strong> specific requirements<br />

and constraints [22]. Many current successful university<br />

timetabling systems are <strong>of</strong>ten applied only in the<br />

institutions where they were designed. The metaheuristic,<br />

heuristic and hybrid methods are used to<br />

solving timetabling problems so as case base reasoning.<br />

The main idea is to try and design an algorithm that will<br />

choose the right decision tree to carry out a certain task in<br />

a certain situation.<br />

This paper outlines the algorithm Decision Tree based<br />

Routine Generation (DRG) using OLAP representation,<br />

to construct a university class routine and conflict free<br />

Exam-Time Tabling algorithm (ETA) to produce conflict<br />

free exam schedule with a fixed interval <strong>of</strong> days. It<br />

should be noted that the DRG algorithm brings the<br />

complexity to a considerable level and this solution<br />

classifies 96% - 97% <strong>of</strong> the courses as well 93% - 95%<br />

satisfaction for teacher. For this data set, students’<br />

satisfaction is 100% but in general 90% - 93%<br />

satisfaction may be achievable by using DRG.<br />

Preferential requirements (teacher satisfaction) on time<br />

variables are met around 93%. Again the ETA algorithm<br />

provides satisfactory exam-time table with 100%<br />

satisfaction. The results also illustrate that the proposed<br />

algorithms achieve significant performance gains over<br />

different data set.<br />

The proposed algorithms are designed in such a manner<br />

so that they are easy to code and imply significant<br />

importance to construct generalized automated timetabling<br />

s<strong>of</strong>tware. Author(s) <strong>of</strong> the paper realize the<br />

difference in constraints level in different institutes;<br />

however in future generalized automated time-tabling<br />

s<strong>of</strong>tware will be examined. This paper does not consider<br />

any classical benchmark problems. It is important to<br />

analyze the performance with other established<br />

algorithms. Incorporating those heterogeneous constraints<br />

with the proposed data structure will also be examined in<br />

future.<br />

ACKNOWLEDGEMENT<br />

The proposed algorithm is employed to construct a<br />

class and exam routine for a reputed university in<br />

Bangladesh. Author(s) <strong>of</strong> the paper express gratitude to<br />

the university authority for providing indispensable<br />

information.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 21<br />

Semester-1<br />

Semester-2<br />

Semester-2<br />

REFERENCES<br />

[1] Christelle Guért. Narendra Jussien, Patrice<br />

Boizumault and Christain Prins, “Building university<br />

timetable using constraint logic programming,”<br />

Springer-Verlag LNCS 1153, pp. 130-145, 1996.<br />

[2] Hans-Joachim Goltz, Georg Küchler and Dirk<br />

Matzkae, “Constraint-based timetabling for<br />

universities,” INAP’98, pp. 75-80, 1998.<br />

[3] Slim Abdennadher and Michael Marte, “University<br />

course timetabling using constraint handling rules,”<br />

<strong>Journal</strong> <strong>of</strong> Applied Artificial Intelligence, vol. 14, no.<br />

4, pp. 311-326, 2000.<br />

[4] Thom Früwirth, “Constraints handling rules,”<br />

Constraint Programming: Basic and Trandes, LNCS<br />

910, Springer, 1995.<br />

[5] E.K. Burke, B.L. MacCarthy, S. Petrovic and R. Qu,<br />

“Knowledge Discovery in a Hyper-Heuristic for<br />

Course Timetabling Using Case-Based Reasoning,”<br />

PATAT 2002, 4 th International Conference, pp. 90-<br />

103, August 2002.<br />

[6] D. Abramson, “Constructing school timetables using<br />

simulated annealing: Sequential and parallel<br />

algorithms,” Management Science, vol. 37, pp. 98-<br />

113, 1991.<br />

[7] A. Schaert, “Tabu search techniques for large highschool<br />

timetabling problems,” 13 th National<br />

Conference on Artificial Intelligence AAAI’96, pp.<br />

363-368, 1996.<br />

© 2010 ACADEMY PUBLISHER<br />

TABLE I.<br />

COMPUTATIONAL RESULTS OF DRG<br />

PDRG CDRG TDRG NTDRG Final Finding<br />

Unclassified courses 5 3 1 0 0<br />

Partially classified courses 45 32 2 2 2<br />

Day-time patterned classified 16 31 63 64 64<br />

Student conflict 0 0 0 0 0<br />

Unsatisfied time 0 0 3 7 9<br />

Unclassified courses 2 2 1 0 0<br />

Partially classified courses 41 26 2 2 2<br />

Day-time patterned classified 18 33 58 59 59<br />

Student conflict 0 0 0 0 0<br />

Unsatisfied time 0 0 5 8 11<br />

TABLE II.<br />

COMPUTATIONAL RESULTS OF ETA<br />

# <strong>of</strong><br />

Courses on<br />

Slot 1<br />

# <strong>of</strong><br />

Courses on<br />

Slot 2<br />

Concurrent<br />

Exam Conflict<br />

Total<br />

Student on<br />

Slot 1<br />

Total<br />

Student on<br />

Slot 2<br />

Overall Gain<br />

Day 1 3 4 3 72 63 45<br />

Day 2 3 3 2 77 63 70<br />

Day 3 2 2 5 32 53 17<br />

Day 4 4 4 5 76 87 32.6<br />

Day 5 5 5 11 91 64 14<br />

Day 6 3 2 3 46 18 21.3<br />

Day 7 4 4 7 42 74 16.5<br />

Day 8 2 5 2 28 71 49.5<br />

Day 9 2 3 2 16 68 42<br />

[8] Luca Di Gaspero and Andra Schaerf, “Multi-<br />

Neighbour Local Search for Course Timetabling,”<br />

PATAT 2002, 4 th International Conference, pp. 128-<br />

132, August 2002.<br />

[9] P. Boizumault, Y. Delon, and L. Peridy, “Constraint<br />

logic programming for examination timetabling,”<br />

<strong>Journal</strong> <strong>of</strong> Logic programming, vol. 26, pp. 217-233,<br />

1996.<br />

[10] K. Dowslan, “Using simulated annealing for efficient<br />

allocation <strong>of</strong> students to practical classes,” Applied<br />

Simulated Annealing – Lecture Notes in Economics<br />

and Mathematical System, Springer-Verlag, vol. 396,<br />

pp. 125-150, 1993.<br />

[11] K. Dowslan, “Off-the peg or made-to-measure?<br />

Timebaling and scheduling with sa and ts,”<br />

PATAT’97, Springer – Verlag, pp. 37-52, 1998.<br />

[12] G.M. White and J. Zhang, “Generating complete<br />

university timetables by combining tabu search with<br />

constraint logic,” PATAT’97, Springer – Verlag, pp.<br />

187-198, 1998.<br />

[13] E.K. Burke, J. Newall, and R.F. Weare,<br />

“Initialization strategies and diversity in evolutionary<br />

timetabling,” Evolutionary Computation <strong>Journal</strong>, vol.<br />

6.1, pp. 81-103, 1998.<br />

[14] E.K. Burke, J. Newall, and R.F. Weare, “A simple<br />

heuristically guided search for the timetable<br />

problem,” Proceeding <strong>of</strong> the International ICSC


22 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Symposium on Engineering <strong>of</strong> Intelligent System,<br />

pp. 574-579, 1998.<br />

[15] E.K. Burke, J. Newall, and R.F. Weare, “A memetic<br />

algorithm for university exam timetabling,” Lecture<br />

Notes in Computer Science, Springer-Verlag, vol.<br />

1153, pp. 241-250, 1996.<br />

[16] Tan, Steinbach and Kumar, Introduction to Data<br />

Mining, pp. 130-139, 2004.<br />

[17] Liam T.G. Merlot, Natashia Boland, Barry D.<br />

Hughes, and Peter J. Stuckey, “A Hybrid Algorithm<br />

for the Examination Timetabling Problem”,<br />

Proceedings <strong>of</strong> the 4 th International Conference on<br />

the Practice and Theory <strong>of</strong> Automated Timetabling -<br />

PATAT’2002, Springer – Verlag, pp. 348-371.<br />

[18] M. Caramia, P. Dell'Olmo, and G.F. Italiano, “New<br />

algorithms for examination timetabling”,<br />

Proceedings: Algorithm Engineering 4 th International<br />

Workshop, WAE 2000, Germany, September 2000.<br />

“Lecture Notes in Computer Science 1982”,<br />

Springer-Verlag, Berlin Heidelberg New York, pp.<br />

230-241, 2001.<br />

[19] M. Carter, G. Laporte, and J. Chinneck, “A general<br />

examination scheduling system”, Interfaces, pp.<br />

109-120, 1994.<br />

[20] M. Carter, G. Laporte, and S.T. Lee, “Examination<br />

timetabling: algorithmic strategies & applications”,<br />

<strong>Journal</strong> <strong>of</strong> the Operational Research Society, pp. 373<br />

- 383, 1996.<br />

[21] Bart Selman, Henry A. Kautz, and Bram Cohen,<br />

“Noise strategies for improving Local search”, 12 th<br />

National Conference on Artificial Intelligence<br />

(AAAI-94), pp. 337– 343, 1994.<br />

[22] T. B. Cooper, J. H. Kingston, “The Complexity <strong>of</strong><br />

Timetable Construction Problems”, Practice and<br />

Theory <strong>of</strong> Automated Timetabling, Springer Verlag,<br />

pp. 283-295, 1996.<br />

Ashiqur Md. Rahman received his<br />

B.Sc. Degree in Computer Science and<br />

Engineering from American International<br />

University Bangladesh, Dhaka in<br />

January, 2004. He is currently perusing<br />

his M.Sc. degree from North South<br />

University, Dhaka since January 2006.<br />

He has authored in 4 national and international journal and<br />

conference papers in the area <strong>of</strong> Data Mining, VHDL,<br />

Cryptography and PVc module design. His current research<br />

interest is in Grid Computing especially in large Grid<br />

Environment.<br />

© 2010 ACADEMY PUBLISHER<br />

Shafaat S. Giasuddin received his B.Sc.<br />

Degree in Computer Science from<br />

Ahsanullah University <strong>of</strong> Science and<br />

technology, Dhaka in November, 2005.<br />

He is currently perusing his M.Sc. degree<br />

from North South University, Dhaka<br />

since January 2006. He has authored in 3<br />

national and international journal and conference papers in the<br />

area <strong>of</strong> Data Mining, VHDL and Cryptography. His current<br />

research interest is in Data Mining especially in corporate sector<br />

like banking and telecommunication.<br />

Rashedur M. Rahman received his<br />

Ph.D. Degree in Computer Science from<br />

University <strong>of</strong> Calgary, Canada in<br />

November, 2007. He has received his<br />

M.Sc. degree from University <strong>of</strong><br />

Manitoba, Canada in 2002 and Bachelor<br />

degree from Bangladesh University <strong>of</strong><br />

Engineering and Technology (BUET) in 2000 respectively. He<br />

is currently working as an Assistant Pr<strong>of</strong>essor in North South<br />

University, Dhaka, Bangladesh. He has authored more than 25<br />

international journal and conference papers in the area <strong>of</strong><br />

parallel, distributed, grid computing and knowledge and data<br />

engineering. His current research interest is in data mining<br />

especially on financial, educational and medical surveillance<br />

data, data replication on Grid, and application <strong>of</strong> fuzzy logic for<br />

grid resource and replica selection.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 23<br />

Anomaly Network Intrusion Detection Based on<br />

Improved Self Adaptive Bayesian Algorithm<br />

Dewan Md. Farid<br />

Dept. <strong>of</strong> CSE, Jahangirnagar University, Dhaka-1342, Bangladesh<br />

Email: dmfarid@uiu.ac.bd<br />

Mohammad Zahidur Rahman<br />

Dept. <strong>of</strong> CSE, Jahangirnagar University, Dhaka-1342, Bangladesh<br />

Email: rmzahid@juniv.edu<br />

Abstract—Recently, research on intrusion detection in<br />

computer systems has received much attention to the<br />

computational intelligence society. Many intelligence<br />

learning algorithms applied to the huge volume <strong>of</strong> complex<br />

and dynamic dataset for the construction <strong>of</strong> efficient<br />

intrusion detection systems (IDSs). Despite <strong>of</strong> many<br />

advances that have been achieved in existing IDSs, there are<br />

still some difficulties, such as correct classification <strong>of</strong> large<br />

intrusion detection dataset, unbalanced detection accuracy<br />

in the high speed network traffic, and reduce false positives.<br />

This paper presents a new approach to the alert<br />

classification to reduce false positives in intrusion detection<br />

using improved self adaptive Bayesian algorithm (ISABA).<br />

The proposed approach applied to the security domain <strong>of</strong><br />

anomaly based network intrusion detection, which correctly<br />

classifies different types <strong>of</strong> attacks <strong>of</strong> KDD99 benchmark<br />

dataset with high classification rates in short response time<br />

and reduce false positives using limited computational<br />

resources.<br />

Index Terms—anomaly detection, network intrusion<br />

detection, alert classification, Bayesian algorithm, detection<br />

rate, false positives<br />

I. INTRODUCTION<br />

Network intrusion detection is the problem <strong>of</strong> detecting<br />

unauthorized use <strong>of</strong> computer systems over a network,<br />

such as the Internet. IDSs were introduced by James P.<br />

Anderson in 1980, an example <strong>of</strong> an audit trails would be<br />

a log <strong>of</strong> user access [1]. IDSs have become an integral<br />

part <strong>of</strong> today’s information security infrastructures. In<br />

order to detect intrusion activities, many machine<br />

learning (ML) algorithms, such as Neural Network [2],<br />

Support Vector Machine [3], Genetic Algorithm [4],<br />

Fuzzy Logic [5], and Data Mining [6], etc have been<br />

widely used to the huge volume <strong>of</strong> complex and dynamic<br />

dataset to detect known and unknown intrusions. It is<br />

very important for IDSs to generate rules to distinguish<br />

normal behaviors from abnormal behavior by observing<br />

dataset, which is the record <strong>of</strong> activities generated by the<br />

operating system that are logged to a file in<br />

chronologically sorted order. IDSs using ML algorithms<br />

aim to solve the problems <strong>of</strong> analyzing huge volumes <strong>of</strong><br />

dataset and realizing performance optimization <strong>of</strong><br />

detection rules. IDSs detect attacks on computer systems<br />

and signal an alert to the Computer Emergency Response<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.23-31<br />

Team (CERT). The network intrusion detection area is<br />

the arrival <strong>of</strong> new, previously unseen attacks, because<br />

hackers are very inventive and they use newer ways to<br />

disrupt the normal operation <strong>of</strong> servers and users.<br />

Anomaly detection detects new attacks which has not<br />

presented in the dataset by observing system activities<br />

and classifying it as either normal or anomalous. An<br />

important research challenge today is to develop adaptive<br />

IDSs to improve classification rates, and reduce false<br />

positives.<br />

The Bayesian algorithm (BA) provides a probabilistic<br />

approach for classification [7], [8], which provides an<br />

optimal way to predict the class <strong>of</strong> an unknown example.<br />

It is widely used in many fields <strong>of</strong> data mining, image<br />

processing, bio-informatics, and information retrieval etc.<br />

It calculates conditional probabilities from a given dataset<br />

and used these conditional probabilities to find out the<br />

probabilities <strong>of</strong> belongingness to different classes. The<br />

unseen example is then categorized to that class, which<br />

assumes the maximum value. In this paper, based on a<br />

comprehensive analysis for the current research<br />

challenges we propose a new algorithm to address the<br />

problem <strong>of</strong> classification rates and false positives using<br />

improved self adaptive Bayesian Algorithm. This<br />

algorithm correctly classifies different types <strong>of</strong> attacks <strong>of</strong><br />

KDD99 dataset with high detection accuracy in short<br />

response time, and also maximizes the detection rate<br />

(DR) and minimizes the false positives (FP). In our<br />

experiments proposed algorithm reduced the number <strong>of</strong><br />

false positives by up to 90% with acceptable<br />

misclassification rates.<br />

The remainder <strong>of</strong> this paper is organized as follows.<br />

Section II provides a review <strong>of</strong> IDSs and section III<br />

provides IDSs using machine learning algorithms.<br />

Section IV presents our proposed new algorithm.<br />

Experimental results are presented in section V. Finally,<br />

section VI makes some concluding remarks along with<br />

suggestions for further improvement.<br />

II. REVIEW OF INTRUSION DETECTION SYSTEMS<br />

A. History <strong>of</strong> IDSs<br />

In 1980, the concept <strong>of</strong> IDSs began with Anderson’s<br />

seminal paper, introduced the notion that audit trails


24 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

contained vital information that could be valuable in<br />

tracking misuse and understanding user behavior. His<br />

work was the start <strong>of</strong> host-based IDSs (HBIDSs). In<br />

1986, Dr. Dorothy Denning published a model which<br />

revealed the necessary information for commercial IDSs<br />

development [9]. In 1988, multics intrusion detection and<br />

alerting system (MIDAS), an expert system using P-<br />

BEST and LISP was developed [10]. Haystack was also<br />

developed in this year using statistics to reduce audit<br />

trails [11]. In 1989, wisdom & sense (W&S) was a<br />

statistics-based anomaly detector developed, that created<br />

rules based on statistical analysis, and then used those<br />

rules for anomaly detection [12]. In 1990, Heberlein first<br />

introduced the idea <strong>of</strong> network IDSs, development <strong>of</strong><br />

Network Security Monitor (NSM), and hybrid IDSs [13]<br />

and Lunt proposed SRI named intrusion detection expert<br />

system (IDES), a dual approach <strong>of</strong> a rule-based expert<br />

system and a statistical anomaly detection, which ran on<br />

Sun Workstations and could consider both user and<br />

network level data [14]. Also in the early 1990s the<br />

commercial development <strong>of</strong> IDSs were started and the<br />

Time-based inductive machine (TIM) did anomaly<br />

detection using inductive learning <strong>of</strong> sequential user<br />

patterns in Common LISP on a VAX 3500 computer<br />

[15]. In 1991, distributed IDSs (DIDS), an expert system<br />

created by the researchers <strong>of</strong> University <strong>of</strong> California<br />

[16], and the network anomaly detection and intrusion<br />

reporter (NADIR) a statistic based anomaly detector and<br />

also an expert system developed by Los Alamos National<br />

Laboratory’s Integrated Computing Network (ICN) [17].<br />

In 1993, Lunt proposed the Next-generation Intrusion<br />

Detection Expert System by developing SRI followed<br />

IDES using artificial neural network [18]. The Lawrence<br />

Berkeley National Laboratory introduced rule language<br />

called Bro for packet analysis from libpcap dataset in<br />

1998 [19]. The audit data analysis and mining IDSs used<br />

tcpdump to build pr<strong>of</strong>iles <strong>of</strong> rules for classifications in<br />

2001 [20].<br />

B. Types <strong>of</strong> IDSs<br />

Intrusion is a set <strong>of</strong> actions that attempt to compromise<br />

the confidentiality, integrity or availability <strong>of</strong> computer<br />

resources. IDSs collect information from a variety <strong>of</strong><br />

systems and analyze the information for signs <strong>of</strong><br />

intrusions. In general, IDS categorize into five types,<br />

which are described below:<br />

1) Network IDSs (NIDSs) responsible for detecting<br />

attacks related to the network [21], [22]. NIDSs<br />

investigate incoming and outgoing network traffic by<br />

connecting with network devices to find suspicious<br />

patterns. If a NIDS has no additional information about<br />

the protected host, the malicious attacker can easily avoid<br />

detection by taking advantage <strong>of</strong> different handling by<br />

overlapping IP/TCP fragments by IDS and a target host<br />

[23].<br />

2) Host-based IDSs (HBIDSs) usually are located<br />

in servers to examine the internal interfaces [24]. HBIDSs<br />

can either use standard auditing tools [25], or specially<br />

instrumented operating system [26], or application<br />

platforms [27]. It detects intrusions by analyzing system<br />

© 2010 ACADEMY PUBLISHER<br />

calls, application logs, file-system modifications, and<br />

other host activities related to the machine.<br />

3) Protocol-based IDSs (PIDSs) monitor the<br />

dynamic behavior and state <strong>of</strong> the protocol used the web<br />

server. PIDSs sit at the front end <strong>of</strong> a web server,<br />

monitoring and analyzing the HTTP protocol stream. It<br />

understands the HTTP protocol to protect web server by<br />

filtering IP address or port number.<br />

4) Application protocol-based IDSs (APIDSs)<br />

monitor and analysis on a specific application protocol or<br />

protocols between a process, and group <strong>of</strong> servers that is<br />

used by the computer system. APIDSs can be sitting<br />

between a web server and the database management<br />

system that monitoring the SQL protocol specific to the<br />

business logic. Generally, APIDSs look for the correct<br />

use <strong>of</strong> the protocol.<br />

5) Hybrid IDSs (HIDSs) combines two or more<br />

intrusion detection approaches. HIDS provide alert<br />

notification from both network and host-based intrusion<br />

detection devices.<br />

C. Detection Models <strong>of</strong> IDSs<br />

Detection rate (DR) is defined as the number <strong>of</strong><br />

intrusion instances detected by the system divided by the<br />

total number <strong>of</strong> intrusion instances present in the dataset,<br />

and false positives (FP) is an alarm, which rose for<br />

something that is not really an attack. There are two types<br />

<strong>of</strong> detection models for IDSs, which are described below:<br />

1) Misuse or signature-based IDSs are also known<br />

as pattern-based IDSs. It performs simple pattern<br />

matching to match a pattern corresponding to a known<br />

attack type in the database. DR <strong>of</strong> these IDSs is relatively<br />

low, because attacker will try to modify the basic attack<br />

signature in such a way that will not match the known<br />

signatures <strong>of</strong> that attack and it cannot detect a new attack<br />

for which a signature is not yet installed in the database.<br />

2) Anomaly-based IDSs tries to identify new<br />

attacks by analyzing strange behavior from normal<br />

behaviors. It has a relatively high detection rate for new<br />

types <strong>of</strong> intrusion. The disadvantage is that in many cases<br />

there is no signal “normal pr<strong>of</strong>ile” and anomaly-based<br />

systems tend to produce many false positives.<br />

D. Functions <strong>of</strong> IDSs<br />

IDSs are automated systems detecting and alarming <strong>of</strong><br />

any situation where an intrusion has taken or is about to<br />

take place. According to the Common Intrusion Detection<br />

Framework (CIDF), generally IDSs consists <strong>of</strong> four<br />

components, like: sensors, analyzers, database, and<br />

response units. Most modern IDSs use multiple intrusion<br />

sensors, which obtain alerts from the large computational<br />

environment to maximize their trustworthiness.<br />

Analyzers use the input <strong>of</strong> the sensors, analyze the<br />

information gathered by these sensors, and return a<br />

synthesis or summary <strong>of</strong> the input. Today, machine<br />

learning algorithms have become an indispensable tool in<br />

the analyzers <strong>of</strong> IDSs. Database stores all alerts and<br />

support the analysis process. The response units carry out<br />

prescriptions controlled by the analyzers. The functions<br />

<strong>of</strong> IDSs are follows as [28]:<br />

� Monitoring user’s activity.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 25<br />

� Monitoring systems activity.<br />

� Auditing system configuration.<br />

� Assessing the data files.<br />

� Recognizing known attack.<br />

� Identifying abnormal activity.<br />

� Managing audit data.<br />

� Highlighting normal activity.<br />

� Correcting system configuration errors.<br />

� Stores information about intruders.<br />

III. IDS USING MACHINE LEARNING<br />

A. Bayes Rule<br />

The Bayes rule provides a way to calculate the<br />

probability <strong>of</strong> a hypothesis based on its prior probability<br />

[7],[8]. The best hypothesis is the most probable<br />

hypothesis, given the observed data D plus any initial<br />

knowledge about the prior probabilities <strong>of</strong> the various<br />

hypotheses h (h is a hypothesis space containing possible<br />

target function). Bayes rule is defined in equation “(1)”.<br />

Bayes Rule:<br />

P�D|<br />

h�<br />

P h|<br />

D)<br />

P�D�<br />

P(<br />

h)<br />

( � (1)<br />

Here P(h|D) is called the posterior probability, while<br />

P(h) is the prior probability associated with hypothesis h.<br />

P(D) is the probability <strong>of</strong> the occurrence <strong>of</strong> data D and<br />

P(D|h) is the conditional probability. In many learning<br />

scenarios, the learner considers some set <strong>of</strong> candidate<br />

hypothesis, H and is interested in finding the most<br />

probable hypothesis h € H given the data D. Any such<br />

maximally probable hypothesis is called maximum<br />

posterior (MAP) hypothesis. The MAP hypothesis use<br />

Bayes rule to calculate the posterior probability <strong>of</strong> each<br />

candidate hypothesis. More exactly, hMAP is a MAP<br />

hypothesis provided:<br />

hMAP � argmaxh �H<br />

P�h|<br />

D�<br />

=<br />

P�h|<br />

D�P(<br />

h)<br />

argmaxh �H<br />

P�D�<br />

= argmax P�D|<br />

h�<br />

P(<br />

h)<br />

(2)<br />

h� H<br />

Finally, dropped the term P(D) because it is a constant<br />

dependent <strong>of</strong> h. P(D|h) is also called likelihood <strong>of</strong> the<br />

data D given h any hypothesis that maximizes P(D|h) is<br />

called a Maximum Likelihood (ML) hypothesis, hML:<br />

hML � maxh<br />

H P�D|<br />

h�<br />

arg � (3)<br />

B. Naïve Bayesian Classifier<br />

Naïve Bayesian (NB) classifier is a simple<br />

probabilistic classifier based on probability models that<br />

incorporate strong independence assumptions which <strong>of</strong>ten<br />

have no bearing in reality. The probability model can be<br />

derived using Bayes rule. Depending on the precise<br />

nature <strong>of</strong> the probability model, NB classifier can be<br />

trained very efficiently in a supervised learning. In many<br />

practical applications, parameter estimation for naïve<br />

Bayesian models uses the method <strong>of</strong> maximum<br />

© 2010 ACADEMY PUBLISHER<br />

likelihood. In spite <strong>of</strong> naïve design and apparently oversimplified<br />

assumptions, naïve Bayesian classifiers <strong>of</strong>ten<br />

work much better in many complex real-world situations.<br />

The NB classifier is given as input a set <strong>of</strong> training<br />

examples each <strong>of</strong> which is described by attributes A1<br />

through Ak and an associated class, C. The objective is to<br />

classify an unseen example whose class value is unknown<br />

but values for attributes A1 through Ak are known and<br />

they are a1, a2,.…, ak respectively. The optimal prediction<br />

<strong>of</strong> the unseen example is the class value c such that<br />

P(C=ci|A1=a1,…Ak=ak) is maximum. By Bayes rule this<br />

probability equals to<br />

argmax<br />

ci<br />

�C<br />

P<br />

�A�a1,... Ak<br />

�ak<br />

| C�c<br />

i�<br />

P�A�a,....<br />

A �a<br />

�<br />

�C�c� 1<br />

P i<br />

(4)<br />

1 1 k k<br />

Where P(C=ci) is the prior probability <strong>of</strong> class ci,<br />

P(A1=a1,…Ak=ak) is the probability <strong>of</strong> occurrence <strong>of</strong> the<br />

description <strong>of</strong> a particular example, and<br />

P(A1=a1,…Ak=ak|C=ci) is the class conditional<br />

probability <strong>of</strong> the description <strong>of</strong> a particular example ci <strong>of</strong><br />

class C. The prior probability <strong>of</strong> a class can be estimated<br />

from training data. The probability <strong>of</strong> occurrence <strong>of</strong> the<br />

description <strong>of</strong> particular examples is irrelevant for<br />

decision making since it is the same for each class value<br />

c. Learning is therefore reduced to the problem <strong>of</strong><br />

estimating the class conditional probability <strong>of</strong> all possible<br />

description <strong>of</strong> examples from training data. The class<br />

conditional probability can be written in expanded from<br />

as follows:<br />

P(A1=a1,…Ak=ak|C=ci)<br />

= P(A1=a1| A2=a2 ^…Ak=ak ^ C=ci)<br />

* P(A2=a2| A3=a3 ^…Ak=ak ^ C=ci)<br />

* P(A3=a3| A4=a4 ^…Ak=ak ^ C=ci)<br />

* P(A4=a4 ^…Ak=ak ^ C=ci) (5)<br />

In NB, it is assumed that outcome <strong>of</strong> attribute Ai is<br />

independent <strong>of</strong> the outcome <strong>of</strong> all other attributes Aj,<br />

given c. Thus class conditional probabilities become:<br />

P(A1=a1,…Ak=ak|C=ci) =� P(<br />

Ai<br />

� ai<br />

| C � ci<br />

) If the<br />

i � 1<br />

above value is inserted in equation “(4)” it becomes:<br />

� arg maxci<br />

� C P(C=c)� P(<br />

Ai<br />

� ai<br />

| C � ci<br />

) (6)<br />

i � 1<br />

In Naïve Bayesian learning, the probability values <strong>of</strong><br />

equation “(6)” are estimated from the given training data.<br />

These estimated values are then used to classify unknown<br />

examples.<br />

C. Decision Tree Algorithms<br />

The ID3 technique builds decision tree using<br />

information theory [29]. The basic strategy used by ID3<br />

is to choose splitting attributes from a data set with the<br />

highest information gain. The amount <strong>of</strong> information<br />

associated with an attribute value is related to the<br />

probability <strong>of</strong> occurrence. The concept used to quantify<br />

k<br />

k


26 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

information is called entropy, which is used to measure<br />

the amount <strong>of</strong> randomness from a data set. When all data<br />

in a set belong to a single class, there is no uncertainty<br />

then the entropy is zero. The objective <strong>of</strong> decision tree<br />

classification is to iteratively partition the given data set<br />

into subsets where all elements in each final subset<br />

belong to the same class. The entropy calculation is<br />

shown in equation “(7)”. The value for entropy is<br />

between 0 and 1 and reaches a maximum when the<br />

probabilities are all the same. Given probabilities p1,<br />

p2,..,ps where �i=1 pi=1,<br />

Entropy: H(p1,p2,…ps) = ��<br />

s<br />

i 1<br />

(pi log(1/pi)) (7)<br />

Given a data set, D, H(D) finds the amount <strong>of</strong> subset <strong>of</strong><br />

data set. When that subset is split into s new subsets S =<br />

{D1, D2,…,Ds}, we can again look at the entropy <strong>of</strong> those<br />

subsets, A subset <strong>of</strong> data set is completely ordered if all<br />

examples in it are the same class. ID3 chooses the<br />

splitting attribute with the highest gain. The ID3<br />

algorithm calculates the gain by the equation “(8)”.<br />

Gain (D,S) = H(D)- ��<br />

s<br />

i 1<br />

p(Di)H(Di) (8)<br />

The C4.5 algorithm improves ID3 through GainRatio<br />

[30]. For splitting purpose, C4.5 uses the largest<br />

GainRatio that ensures a larger than average information<br />

gain.<br />

GainRatio(D,S) =<br />

Gain.(<br />

D,<br />

S)<br />

�|<br />

D1<br />

| | Ds<br />

| �<br />

H��<br />

,..., ��<br />

� | D|<br />

| D|<br />

�<br />

The C5.0 algorithm improves the performance <strong>of</strong><br />

building trees using boosting, which is an approach to<br />

combining different classifiers. But boosting does not<br />

always help when the training data contains a lot <strong>of</strong> noise.<br />

When C5.0 performs a classification, each classifier is<br />

assigned a vote, voting is performed, and the example <strong>of</strong><br />

data set is assigned to the class with the most number <strong>of</strong><br />

votes. CART (classification and regression trees) is a<br />

process <strong>of</strong> generating a binary tree for decision making<br />

[31]. CART handles missing data and contains a pruning<br />

strategy. The SPRINT (Scalable Parallelizable Induction<br />

<strong>of</strong> Decision Trees) algorithm uses an impurity function<br />

called gini index to find the best split [32]. “Equation<br />

(10), defines the gini for a data set, D”.<br />

(9)<br />

gini (D) = 1-� pj 2 (10)<br />

Where, pj is the frequency <strong>of</strong> class Cj in D. The<br />

goodness <strong>of</strong> a split <strong>of</strong> D into subsets D1 and D2 is defined<br />

by<br />

ginisplit(D) = n1/n(gini(D1))+ n2/n(gini(D2)) (11)<br />

The split with the best gini value is chosen. A number<br />

<strong>of</strong> research projects for optimal feature selection and<br />

classification have been done, which adopt hybrid<br />

strategy involving evolutionary algorithm and inductive<br />

decision tree learning [33], [34], [35], [36].<br />

© 2010 ACADEMY PUBLISHER<br />

D. K-Nearest Neighbors<br />

The K nearest neighbors (KNN) is a classification<br />

algorithm based on the use <strong>of</strong> distance measures [37]. It<br />

finds k examples in training data that are closest to the<br />

test example and assigns the most frequent label among<br />

these examples to the new example. When a classification<br />

is to be made for a new example, its distance to each<br />

attribute in the training data must be determined. Only the<br />

K closest examples in the training data are considered<br />

further. The new example is then placed in the class that<br />

contains the most examples from this set <strong>of</strong> K closest<br />

examples. KNN can be considered decision making<br />

technique as equivalent to Bayesian classifier in which<br />

the number <strong>of</strong> neighbors <strong>of</strong> each example is used as an<br />

estimate <strong>of</strong> the relative posterior probabilities <strong>of</strong> class<br />

membership in the neighborhood <strong>of</strong> a sample to be<br />

classified.<br />

IV. IMPROVED SELF ADAPTIVE BAYESIAN ALGORITHM<br />

A. Adaptive Bayesian Algorithm<br />

Adaptive Bayesian algorithm creates a function from<br />

KDD99 benchmark intrusion detection training data [38],<br />

which first estimate the class conditional probabilities for<br />

each attribute value based on their frequencies over the<br />

weights with match <strong>of</strong> same class in the training data. In a<br />

given training data, D = {A1, A2,…,An} <strong>of</strong> attributes,<br />

where each attribute Ai = {Ai1, Ai2,…,Aik} contains<br />

attribute values and a set <strong>of</strong> classes C = {C1, C2,…,Cn},<br />

where each class Cj = {Cj1, Cj2,…,Cjk} has some values.<br />

Each example in the training data contains weight, W =<br />

{W1, W2…, Wn}. Initially, all the weights for each<br />

example <strong>of</strong> training data have equal unit value that set to<br />

Wi = 1.0. Then calculate the sum <strong>of</strong> weights for each<br />

class from the training data by counting how <strong>of</strong>ten each<br />

class occurs in the training data and the sum <strong>of</strong> weights<br />

for each attribute value with respect to same class in the<br />

training data. Next calculate the class conditional<br />

probabilities for each attribute value using equation<br />

“(12)” from the training data.<br />

P(Aij|Cji) =<br />

�<br />

�<br />

W Aij<br />

(12)<br />

Here P(Aij|Cji) is the class conditional probability, WA<br />

is the sum <strong>of</strong> weights for each attribute value, and WC is<br />

the sum <strong>of</strong> weights for each class. After calculating the<br />

class conditional probabilities for each attribute value<br />

from the training data, the algorithm classify the each test<br />

example using equation “(13)”.<br />

W<br />

Cji<br />

TargetClass = � Ci P(Aij|Cji) (13)<br />

If any test example is misclassified, the algorithm<br />

updates the weights <strong>of</strong> training data. The algorithm<br />

compare each <strong>of</strong> test examples with every training<br />

example and compute the similarity between them, and<br />

then weights <strong>of</strong> training data are increased by a fixed


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 27<br />

small value multiplied by the corresponding similarity<br />

measure.<br />

Wi = Wi + (S*0.01); (14)<br />

Here S is the similarity between test and training<br />

examples. If the test example is correctly classified, then<br />

the weights <strong>of</strong> training data will remain unchanged. After<br />

weights adjustment, the class conditional probabilities for<br />

attribute values are recalculated from the modified<br />

weights in training data. If the new set <strong>of</strong> probabilities<br />

correctly classifies all the test examples, the algorithm<br />

terminates. Otherwise, the iteration continues until all the<br />

test examples are correctly classified or the target<br />

accuracy is achieved. At this stage the algorithm<br />

terminates, the class conditional probabilities are<br />

preserved for future classification <strong>of</strong> seen or unseen<br />

examples.<br />

B. Improved Self Adaptive Bayesian Algorithm<br />

Improved self adaptive Bayesian algorithm (ISABA) is<br />

the modification <strong>of</strong> adaptive Bayesian algorithm. Given a<br />

training data ISABA initializes the weights <strong>of</strong> each<br />

example Wi set to 1.0 and estimates the prior probability<br />

P(Cj) for each class by summing the weights how <strong>of</strong>ten<br />

each class occurs in the training data. For each attribute in<br />

training data, Ai the number <strong>of</strong> occurrences <strong>of</strong> each<br />

attribute value Aij can be counted by summing the<br />

weights to determine the probability P(Aij). Similarly, the<br />

probability P(Aij | Cj) can be estimate by summing the<br />

weights how <strong>of</strong>ten each attribute value occurs in the class<br />

in the training data. An example in the training data may<br />

have many different attributes A = {A1, A2,…,An}, and<br />

each attribute have many values Ai = {Ai1, Ai2,…,Aik}. The<br />

conditional probability P(Aij | Cj) estimate for all values<br />

<strong>of</strong> attributes. Then the algorithm uses these conditional<br />

probabilities to classify all the training examples. When<br />

classifying a training example, the conditional and prior<br />

probabilities generated from the training data are used to<br />

make the prediction. This is done by multiplying the<br />

probabilities <strong>of</strong> the different attribute values from the<br />

example. Suppose the training example ei has p<br />

independent attribute values {Ai1, Ai2,…,Aip}, the<br />

algorithm has P(Aik | Cj), for each class Cj and attribute<br />

Aik, and then estimate probability P(ei | Cj) by using<br />

equation “(15)”.<br />

P(ei | Cj) = P(Cj) �k=1�p P(Aij | Cj) (15)<br />

To calculate the probability P(ei), the algorithm<br />

estimate the likelihood that ei is in each class. The<br />

probability that ei is in a class is the product <strong>of</strong> the<br />

conditional probabilities for each attribute values. The<br />

posterior probability P(Cj | ei) is then found for each<br />

class. The class with the highest probability is the one<br />

chosen for the example in training data. Now the<br />

algorithm updates the weights for each example in the<br />

training data with the highest value <strong>of</strong> posterior<br />

probability P(Cj | ei) for that example and also changes<br />

the class value associate with highest posterior<br />

probability. If any example in the training data is<br />

© 2010 ACADEMY PUBLISHER<br />

misclassified then the algorithm again calculates the prior<br />

probability P(Cj) and conditional probability P(Aij | Cj)<br />

from the training examples using the updated weights,<br />

and again classify the training examples and updates the<br />

weights <strong>of</strong> training examples. This iteration will continue<br />

until all the training examples are correctly classified or<br />

the target accuracy is achieved.<br />

After classifying the training examples, the algorithm<br />

classify the test examples using the conditional<br />

probabilities P(Aij | Cj). If any test example is<br />

misclassified, the algorithm again updates the weights <strong>of</strong><br />

training examples. The algorithm compares each <strong>of</strong> test<br />

example with every training examples and compute the<br />

similarity between them (out <strong>of</strong> four attributes two<br />

attribute values are same then similarity becomes 0.5 or<br />

one attribute value is same then similarity is 0.25 and so<br />

on), and then weights <strong>of</strong> training examples are increased<br />

by a fixed small value multiplied by the corresponding<br />

similarity measure. If the test examples are correctly<br />

classified, then the weights <strong>of</strong> training examples will<br />

remain unchanged. After weights adjustment, the<br />

conditional probabilities P(Aij | Cj) for attribute values are<br />

recalculated from the modified weights <strong>of</strong> training<br />

examples. If the new set <strong>of</strong> probabilities correctly<br />

classifies all the test examples, the algorithm stores the<br />

conditional probabilities and builds a decision tree by<br />

information gain using last updated weights. Otherwise,<br />

the iteration continues until all the test examples are<br />

correctly classified or the target accuracy is achieved. At<br />

this stage the algorithm correctly classifies all the test<br />

examples, the conditional probabilities P(Aij | Cj) are<br />

preserved for future classification <strong>of</strong> seen or unseen<br />

intrusions, and builds a decision tree by information gain<br />

using the last updated weights <strong>of</strong> training examples,<br />

which is also used for classification <strong>of</strong> seen or unseen<br />

intrusions. The main procedure <strong>of</strong> ISABA algorithm is<br />

described as follows.<br />

Algorithm ISABA<br />

Input: training data D, testing data<br />

Output: intrusion detection model<br />

Procedure:<br />

1. Initialize all the weights in D, Wi=1.0.<br />

2. Calculate the prior probabilities P(Cj) for each<br />

class Cj from D.<br />

�W<br />

i<br />

P(Cj) =<br />

Ci<br />

n<br />

�<br />

i�1<br />

3. Calculate the probabilities P(Aij) for each<br />

attribute value Aij from D.<br />

W<br />

P(Aij) =<br />

�� Wi<br />

Aij<br />

Cj<br />

4. Calculate the conditional probabilities P(Aij | Cj)<br />

for each attribute values from D.<br />

i


28 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

P(Aij | Cj) = P ( Aij)<br />

W<br />

5. Classify each example in D.<br />

�<br />

Ci<br />

P(ei | Cj) = P(Cj) � P(Aij | Cj)<br />

6. Initialize all the weights in D with Maximum<br />

Likelihood (ML) <strong>of</strong> posterior probability P(Cj|ei)<br />

and change the class value associated with<br />

highest posterior probability.<br />

Wi= PML(Cj|ei)<br />

Cj = Ci� PML(Cj|ei)<br />

7. If any example in D is misclassified, then go to<br />

step 2, else go to step 8.<br />

8. Classify all test examples with the conditional<br />

probabilities P(Aij | Cj).<br />

9. If any test example is misclassified then update<br />

the weights <strong>of</strong> D using similarity S.<br />

Wi = Wi + (S+0.01)<br />

10. If weight update, then recalculate the<br />

probabilities P(Aij) and P(Aij | Cj) using updated<br />

weights <strong>of</strong> D and go to step 8.<br />

11. If all test examples are correctly classified then<br />

the algorithm stores conditional probabilities for<br />

future classification <strong>of</strong> seen or unseen intrusions.<br />

12. The algorithm builds decision tree by<br />

information gain using final updated weights <strong>of</strong><br />

training examples.<br />

V. EXPERIMENTAL RESULTS<br />

A. Experimental Data<br />

The KDD99 dataset is a common benchmark for<br />

evaluation <strong>of</strong> intrusion detection techniques [39]. In the<br />

1998 DARPA intrusion detection evaluation program, a<br />

simulated environment was set up to acquire raw TCP/IP<br />

dump data for a local-area network (LAN) by the MIT<br />

Lincoln Lab to compare the performance <strong>of</strong> various<br />

intrusion detection methods. The DARPA98 was<br />

operated like a real environment, but being blasted with<br />

multiple intrusion attacks and received much attention in<br />

the research community <strong>of</strong> adaptive intrusion detection.<br />

In 1999, based on the DARPA98 data the Third<br />

International Knowledge Discovery and Data Mining<br />

Tools Competition established the KDD99 benchmark<br />

dataset for intrusion detection based on data mining. In<br />

the KDD99 data set, each data example represents<br />

attribute values <strong>of</strong> a class in the network data flow, and<br />

each class is labeled either as normal or as an attack with<br />

exactly one specific attack type. The KDD99 data records<br />

are all labeled with one <strong>of</strong> the following five types:<br />

1) Normal connections are generated by simulated<br />

daily user behavior such as downloading files, visiting<br />

web pages, etc.<br />

2) Denial <strong>of</strong> Service (DoS) attack causes the<br />

computing power or memory <strong>of</strong> a victim machine too<br />

© 2010 ACADEMY PUBLISHER<br />

i<br />

busy or too full to handle legitimate requests. DoS attacks<br />

are classified based on the services that an attacker<br />

renders unavailable to legitimate users. Example <strong>of</strong> DoS<br />

attacks are Apache2, Land, Mail bomb, Back, etc.<br />

3) User to Root (U2R) is a class <strong>of</strong> attacks that an<br />

intruder/hacker begins with the access <strong>of</strong> a normal user<br />

account and then becomes a super-user by exploiting<br />

various vulnerabilities <strong>of</strong> the system. Most common<br />

exploits <strong>of</strong> U2R attacks are regular buffer overflows,<br />

Loadmodule, Fdformat, and Ffbconfig.<br />

4) Remote to User (R2L) is a class <strong>of</strong> attacks that a<br />

remote user gains access <strong>of</strong> a local account by sending<br />

packets to a machine over a network communication,<br />

which include Sendmail, and Xlock.<br />

5) Probing (Probe) is an attack scans a network to<br />

gather information or find known vulnerabilities. An<br />

intruder with a map <strong>of</strong> machines and services that are<br />

available on a network can use the information to look for<br />

exploits.<br />

B. Eeperimental Analysis<br />

Correct classification <strong>of</strong> known and unknown<br />

intrusions is one <strong>of</strong> the central problems for networkbased<br />

intrusion detection. Many supervised and<br />

unsupervised learning algorithms already applied to<br />

classifying intrusions but their performance were not very<br />

satisfactory due to the challenging problem <strong>of</strong> detection<br />

novel attacks with low false alarms. In order to evaluate<br />

the performance <strong>of</strong> improved self adaptive Bayesian<br />

algorithm (ISABA) for intrusion detection, we performed<br />

5-class classification using KDD99 benchmark dataset.<br />

The training and testing data are taken randomly from the<br />

KDD99 dataset with different ratios <strong>of</strong> positive versus<br />

negative instance. The training data are used to train the<br />

algorithms, and the test data are used to evaluate the<br />

performance <strong>of</strong> the algorithms. Table I shows the number<br />

<strong>of</strong> examples in 10% training data and 10% testing data <strong>of</strong><br />

KDD99 dataset. There are some new attack examples in<br />

testing data, which is no present in the training dataset.<br />

TABLE I.<br />

NUMBER OF EXAMPLES IN TRAINING AND TESTING DATA<br />

Attack Types<br />

Training<br />

Examples<br />

Testing<br />

Examples<br />

Normal 97277 60592<br />

Probing 4107 4166<br />

Denial <strong>of</strong> Service 391458 237594<br />

User to Root 52 70<br />

Remote to User 1126 8606<br />

Total Examples 494020 311028<br />

In the experiments, first we performed the<br />

classification on KDD99 testing data using naïve<br />

Bayesian classifier (NB), adaptive Bayesian algorithm<br />

(ABA), and improved self adaptive Bayesian algorithm<br />

(ISABA) and compare their results shown in Table II. It<br />

is clear that the proposed new algorithm is approximately<br />

2 times faster in training and testing than conventional<br />

algorithms.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 29<br />

TABLE II.<br />

TRAINING AND TESTING TIME COMPARISON<br />

Naïve Bayesian<br />

Classifier<br />

Adaptive Bayesian<br />

Algorithm<br />

Improved Self Adaptive<br />

Bayesian Algorithm<br />

Training Time (s) Testing Time (s)<br />

42.9 18.4<br />

24.6 9.6<br />

28.4 7.5<br />

The performance comparison between NB and ISABA<br />

on KDD99 (using 41 attributes) testing data is listed in<br />

Table III, which shows that the ISABA performs<br />

balanced and high classification rates on 5 attack classes<br />

<strong>of</strong> KDD99 data and minimize the false positives.<br />

TABLE III.<br />

PERFORMANCE COMPARISON BETWEEN NB AND ISABA<br />

Normal Probe DoS U2R R2L<br />

Naïve Bayesian<br />

Classifier (DR %)<br />

99.25 99.13 99.69 64 99.11<br />

Naïve Bayesian<br />

Classifier (FP %)<br />

Improved Self Adaptive<br />

0.08 0.45 0.04 0.14 8.02<br />

Bayesian Algorithm<br />

(DR %)<br />

Improved Self Adaptive<br />

99.62 99.22 99.49 99.17 99.15<br />

Bayesian Algorithm<br />

(FP %)<br />

0.05 0.36 0.03 0.10 6.91<br />

We tested our proposed algorithm using the reduced<br />

dataset <strong>of</strong> 12 attributes and 17 attributes in KDD99<br />

dataset, which increase the classification rate for intrusion<br />

classes that are summarized in Table IV.<br />

TABLE IV.<br />

PERFORMANCE OF ISABA USING REDUCED DATASETS<br />

12 Attributes 17 Attributes<br />

Normal 99.97 99.96<br />

Probe 99.91 99.95<br />

DoS 99.99 99.98<br />

U2R 99,36 99.46<br />

R2L 99.53 99.69<br />

We also compare the detection performance among<br />

Support Vector Machines (SVM), Neural Network (NN),<br />

Genetic Algorithm (GA), Naïve Bayesian Classifier<br />

(NB), and improved self adaptive Bayesian algorithm<br />

(ISABA) on KDD99 dataset [40],[41],[42]. In total, 40<br />

attributes <strong>of</strong> KDD99 dataset have been used. Each<br />

connection can be categorized into five main classes (one<br />

normal class and four main intrusion classes: probe, DoS,<br />

U2R, and R2L). The experimental setting uses 494020<br />

data samples for training and 311028 data samples for<br />

testing. The comparative results are summarized in Table<br />

V.<br />

TABLE V.<br />

COMPARISON OF SEVERAL ALGORITHMS<br />

SVM NN GA NB ISABA<br />

Normal 99.4 99.6 99.3 99.55 99.82<br />

Probe 89.2 92.7 98.46 99.43 99.72<br />

DoS 94.7 97.5 99.57 99.69 99.49<br />

U2R 71.4 48 99.22 64 99.47<br />

R2L 87.2 98 98.54 99.11 99.35<br />

© 2010 ACADEMY PUBLISHER<br />

Detection Rate<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

0 0.1 0.2 0.3 0.4 0.5 0.6<br />

False Positives<br />

Figure 1. ROC curves for alert classification systems.<br />

The ROC (relative operating characteristic) curve<br />

shows the relationship between detection rate and false<br />

positives on 10% KDD99 testing data in figure 1.<br />

VI. CONCLUSION AND FUTURE WORKS<br />

The main advantage <strong>of</strong> this proposed algorithm is to<br />

generate a minimal rule set for network intrusion<br />

detection, which can detect network intrusions based on<br />

previous activities. Proposed algorithm analyzes the<br />

large volume <strong>of</strong> network data and considers the complex<br />

properties <strong>of</strong> attack behaviors to improve the performance<br />

<strong>of</strong> detection speed and detection accuracy. This paper<br />

presents a new intrusion detection algorithm based on<br />

intelligent machine learning algorithms. In this paper we<br />

have concentrated on the development <strong>of</strong> the performance<br />

<strong>of</strong> naïve Bayesian classifier, which adjusts the weights <strong>of</strong><br />

training examples until either all the test examples are<br />

correctly classified or the target accuracy on test<br />

examples is achieved. The experimental results marked<br />

that this algorithm minimized false positives, as well as<br />

maximize balance detection (classification rates) on the 5<br />

classes <strong>of</strong> KDD99 data. The future research issues will be<br />

applying domain knowledge <strong>of</strong> security to improve the<br />

detection accuracy, and visualizing the procedure <strong>of</strong><br />

intrusion detection in real world problem domains.<br />

ACKNOWLEDGMENT<br />

Support for this research received from Ministry <strong>of</strong><br />

Science and Information & Communication Technology,<br />

Government <strong>of</strong> Bangladesh. We would like to thank Pr<strong>of</strong>.<br />

Dr. Chowdhury M<strong>of</strong>izur Rahman, United International<br />

University, Bangladesh for fruitful discussions and<br />

valuable help in the implementation <strong>of</strong> this algorithm.<br />

REFERENCES<br />

ISABA<br />

NB<br />

GA<br />

NN<br />

SVM<br />

[1] James P. Anderson, “Computer security threat monitoring<br />

and surveillance,” Technical report, James P. Anderson<br />

Co., Fort Washington, Pennsylvania, April 1980.<br />

[2] Cannady J., “Artificial neural networks for misuse<br />

detection,” Proceedings <strong>of</strong> the ’98 National Information<br />

System Security Conference (NISSC’98), Arlington:<br />

Virginia Press, 1998, pp. 443-456.


30 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

[3] Shon T, Seo J, and Moon J, “SVM approach with a genetic<br />

algorithm for network intrusion detection,” Proceedings <strong>of</strong><br />

the 20 th International Symposium on Computer and<br />

Information Sciences (ISCIS 05), Berlin: Springer Verlag,<br />

2005, pp. 224-233.<br />

[4] Yu Y, and Huang Hao, “An ensemble approach to<br />

intrusion detection based on improved multi-objective<br />

genetic algorithm,” <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, Vol.18, No.6,<br />

June 2007, pp.1369-1378.<br />

[5] J. Luo, and S. M. Bridges, “Mining fuzzy association rules<br />

and fuzzy frequency episodes for intrusion detection,”<br />

International <strong>Journal</strong> <strong>of</strong> Intelligent Systems, 2000, pp. 687-<br />

703.<br />

[6] W.K. Lee, and S. J. Stolfo, “A data mining framework for<br />

building intrusion detection model,” Proceedings <strong>of</strong> the<br />

IEEE Symposium on Security and Privacy, Oakland, CA:<br />

IEEE Computer Society Press, 1999, pp. 120-132.<br />

[7] Kononenko I, “Comparison <strong>of</strong> inductive and naïve<br />

Bayesian learning approaches to automatic knowledge<br />

acquistion,” in Wieling, B. (Ed), Current trend in<br />

knowledge acquistion, Amsterdam, IOS press, 1990.<br />

[8] Langely, P., Iba, W., Thomas, and K., “An analysis <strong>of</strong><br />

Bayesian classifier,” in Proceedings <strong>of</strong> the 10 th national<br />

Conference on Artificial Intelligence (San Matro, CA:<br />

AAAI press) 1992, pp. 223-228.<br />

[9] Denning, and Dorothy E., “An Intrusion Detection Model,”<br />

Proceedings <strong>of</strong> the Seventh IEEE Symposium on Security<br />

and Privacy, May 1986, pp. 119-131.<br />

[10] Sebring, Michael M., Whitehurst, and R. Alan., “Expert<br />

Systems in Intrusion Detection: A Case Study,” The 11 th<br />

National Computer Security Conference, October, 1988.<br />

[11] Smaha, and Stephen E., “Haystack: An Intrusion Detection<br />

System,” The 4 th Aerospace Computer Security<br />

Applications Conference, Orlando, FL, December, 1988.<br />

[12] Vaccaro, H.S., and Liepins, G.E., “Detection <strong>of</strong> Anomalus<br />

Computer Session Activity,” The 1989 IEEE Symposium<br />

on Security and Privacy, May, 1989.<br />

[13] Heberlein, and Let al., “A Network Secutiry Mnitor,”<br />

Proceedings <strong>of</strong> the IEEE Computer Society Symposium,<br />

Research in Security and Privacy, May 1990, pp. 296-303.<br />

[14] Lunt, and Teresa F., “IDES: An Intelligent System for<br />

Detecting Intruders,” Proceedings <strong>of</strong> the Symposium on<br />

Computer Security; Threats, and Countermeasures; Rome,<br />

Italy, November 22-23, 1090, pp.110-121.<br />

[15] Teng, Henry S., Chen, Kaihu, Lu, and Stephen C-Y,<br />

“Adaptive Real-time Anomaly Detection using Inductively<br />

Generated Sequential Patterns,” 1990 IEEE Symposium on<br />

Recearch in Security and Privacy, Oakland, CA, pp. 296-<br />

304.<br />

[16] Snapp, Steven R, and Ho., “DIDS (Distributed Intrusion<br />

Detection System) – Motivation, Architecture, and An<br />

Early Prototype,” The 14 th National Computer Security<br />

Conference, October, 1991, pp.167-176.<br />

[17] Jackson, Kathleen, DuBois, David H., Stallings, and Cathy<br />

A., “A Phased Approach to Network Intrusion Detection,”<br />

14 th National Computing Security Conference, 1991.<br />

[18] Lunt, and Teresa F., “Detecting Intrusion in Computer<br />

Systems,” 1993 Conference on Auditing and Computer<br />

Technology, SRI International.<br />

[19] Paxson, and Vern, “Bro: A System for Detecting Network<br />

Intruders in Real-Time,” Proceedings <strong>of</strong> The 7 th USENIX<br />

Security Symposium, San Antonio, TX, 1998.<br />

[20] Barbara, Daniel, Couto, Julia, Jajodia, Sushil, Popyack,<br />

Leonard, Wu, and Ningning, “ADAM: Detecting Intrusion<br />

by Data Mining,” Proceedings <strong>of</strong> the IEEE Workshop on<br />

Information Assurance and Security, West Point, New<br />

York June 5-6, 2001.<br />

© 2010 ACADEMY PUBLISHER<br />

[21] Jackson, T., Levine, J., Grizzard, J., Owen, and H., “An<br />

investigation <strong>of</strong> a compromised host on a honeynet being<br />

used to increase the security <strong>of</strong> a large enterprise network,”<br />

Proceedings <strong>of</strong> the 2004 IEEE Workshop on Information<br />

Assurance and Security, IEEE, 2004.<br />

[22] Krasser, S., Grizzard, J., Owen, H., and Levine. J., “The<br />

use <strong>of</strong> honeynets to increase computer network security<br />

and user awareness,” <strong>Journal</strong> <strong>of</strong> Security Education,<br />

Volume 1, pp. 23-37, 2005.<br />

[23] Thomas H. Ptacek, and Timothy N. Newsham, “Insertion,<br />

evasion and denial <strong>of</strong> service: Eluding network intrusion<br />

detection,” Technical report, Secure Networks Inc., 1998.<br />

[24] D.Y. Yeung, and Y.X. Ding, “Host-based intrusion<br />

detection using dynamic and static behavioral model”,<br />

Pattern Recognition, 36, pp. 229-243, 2003.<br />

[25] SunS<strong>of</strong>t. SunSHIELD Basic Security Model. SunS<strong>of</strong>t.<br />

1995.<br />

[26] Diego Zamboni. “Using Internal Sensors for Computer<br />

Intrusion Detection,” PhD thesis, Purdue University, 2001.<br />

[27] Tadeusz Pietraszek, and Chris Vanden Berghe. “Defending<br />

against injection attacks through context-sensitive string<br />

evaluation”, In Recent Advances in Intrusion Detection<br />

(RAID2005), volume 3858 <strong>of</strong> Lecture Notes in Computer<br />

Science, pp. 124-145, Seattle, WA, 2005. Springer-Verlag.<br />

[28] Sebastiaan Tesink, “Improving Intrusion Detection System<br />

throung Machine Learning,” Technical Report Series no.<br />

07-02, ILK Research Group, Tilburg University, March<br />

2007.<br />

[29] J. R. Quinlan, “Induction <strong>of</strong> Decision Tree,” Machine<br />

Learning Vol. 1, pp. 81-106, 1986.<br />

[30] J. R. Quinlan, “C4.5: Programs for Machine Learning,”<br />

Morgan Kaufmann <strong>Publisher</strong>s, San Mateo, CA, 1993.<br />

[31] L. Breiman, J. H. Friedman, R. A. Olshen and C.J. Stone,<br />

“Classification and Regression Trees,” Statistics<br />

probability series, Wadsworth, Belmont, 1984.<br />

[32] John Shafer, Rakesh Agarwal, and Manish Mehta,<br />

“SPRINT: A Scalable Parallel Classifier for Data<br />

Maining,” in Proceedings <strong>of</strong> the VLDB Conference,<br />

Bombay, India, September 1996.<br />

[33] D. Turney, “Cost-Sensitive Classification: Empirical<br />

Evaluation <strong>of</strong> a Hybrid Genetic Decision Tree Induction<br />

Algorithm,” <strong>Journal</strong> <strong>of</strong> Artificial Intelligence Research, pp.<br />

369-409, 1995.<br />

[34] J. Bala, K. De Jong, J. Haung, H. Vafaie and H. Wechsler,<br />

“Hybrid Learning using Genetic Algorithms and Decision<br />

Trees for Pattern Classification,” in Proceedings <strong>of</strong> 14 th<br />

International Conference on Artificial Intelligence, 1995.<br />

[35] C. Guerra-Salcedo, S. Chen, D. Whitley, and Stephen<br />

Smith, “Fast and Accurate Feature Selection using Hybrid<br />

Genetic Strategies,” in Proceedings <strong>of</strong> the Genetic and<br />

Evolutionary Computation Conference, 1999.<br />

[36] S. R. Safavian and D. Landgrebe, “A Survey <strong>of</strong> Decision<br />

Tree Classifier Methodology, ” IEEE Transactions on<br />

Systems, Man and Cybernetics 21(3), pp. 660-674, 1991.<br />

[37] Duda, R., P.E. Hart, and D.G. Stork, “Pattern<br />

classification,” Second edn. John Wiley & Sons, 2001.<br />

[38] Dewan Md. Farid, and Mohammad Zahidur Rahman,<br />

“Learning Intrusion Detection Based on Adaptive Bayesian<br />

Algorithm,” Proceedings <strong>of</strong> 11 th International Conference<br />

on Computer and Information Technology (ICCIT 2008),<br />

Khulna, Bangladesh, 25-27 December, 2008, pp.652-656.<br />

[39] The KDD Archive. KDD99 cup dataset. 1999.<br />

http://archive.ics.uci.edu/ml/datasets/KDD+Cup+1999+Da<br />

ta<br />

[40] Mukkamala S, Sung AH, and Abraham A, “Intrusion<br />

dection using an ensemble <strong>of</strong> intelligent paradigms,”


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 31<br />

Proceedings <strong>of</strong> <strong>Journal</strong> <strong>of</strong> Network and Computer<br />

Applications, 2005, 2(8): pp. 167-182.<br />

[41] Chebrolu S, Abraham A, and Thomas JP, “Feature<br />

deduction and ensemble design <strong>of</strong> intrusion detection<br />

systems.” Computer & Security, 2004, 24(4), pp. 295-307.<br />

[42] Lee WK, Stolfo SJ, and Mok KW, “A data mining<br />

framework for building intrusion detection models,”<br />

Proceedings <strong>of</strong> the ’99 IEEE Symp. On Security and<br />

Privacy, Oakland: IEEE Computer Society. 1999, pp. 120-<br />

132.<br />

Dewan Md. Farid was born in 1979. He received the B.Sc.<br />

Engineering in Computer Science and Engineering from Asian<br />

University <strong>of</strong> Bangladesh in 2003 and Master <strong>of</strong> Science in<br />

Computer Science and Engineering from United International<br />

University, Bangladesh in 2004. He is continuing Ph.D. at<br />

Department <strong>of</strong> Computer Science and Engineering,<br />

Jahangirnagar University, Bangladesh. His major field <strong>of</strong> study<br />

is artificial intelligence, machine leaning, and data mining.<br />

He is a faculty member at Department <strong>of</strong> Computer Science<br />

and Engineering, United International University, Bangladesh.<br />

He has published two conference papers, which include<br />

Learning Intrusion Detection Based on Adaptive Bayesian<br />

Algorithm, etc.<br />

Mr. Farid is a member <strong>of</strong> Bangladesh Computer Society and<br />

Research Scholar Association, Jahangirnagar University. In<br />

2008, he received the Fellowship <strong>of</strong> National Science and<br />

Information & Communication Technology (NSICT) from<br />

Ministry <strong>of</strong> Science and Information & Communication<br />

Technology, Government <strong>of</strong> Bangladesh.<br />

© 2010 ACADEMY PUBLISHER<br />

Mohammad Zahidur Rahma is currently a Pr<strong>of</strong>essor at<br />

Department <strong>of</strong> Computer Science and Engineering,<br />

Jahangirnager University, Banglasesh. He obtained his B.Sc.<br />

Engineering in Electrical and Electronics from Bangladesh<br />

University <strong>of</strong> Engineering and Technology in 1986 and his<br />

M.Sc. Engineering in Computer Science and Engineering from<br />

the same institute in 1989. He obtained his Ph.D. degree in<br />

Computer Science and Information Technology from University<br />

<strong>of</strong> Malaya in 2001. He is a co-author <strong>of</strong> a book on E-commerce<br />

published from Malaysia. His current research includes the<br />

development <strong>of</strong> a secure distributed computing environment and<br />

e-commerce.


32 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Performance Evaluation for<br />

Question Classification by Tree Kernels using<br />

Support Vector Machines<br />

Abstract — Question answering systems use information<br />

retrieval (IR) and information extraction (IE) methods to<br />

retrieve documents containing a valid answer. Question<br />

classification plays an important role in the question answer<br />

frame to reduce the gap between question and answer. This<br />

paper presents our research work on automatic question<br />

classification through machine learning approaches. We<br />

have experimented with machine learning algorithms<br />

Support Vector Machines (SVM) using kernel methods. An<br />

effective way to integrate syntactic structures for question<br />

classification in machine learning algorithms is the use <strong>of</strong><br />

tree kernel (TK) functions. Here we use SubTree kernel,<br />

SubSet Tree kernel with Bag <strong>of</strong> words and Partial Tree<br />

kernels. Trade-<strong>of</strong>f between training error and margin, Costfactor<br />

and the decay factor has significant impact when we<br />

use SVM for the above mentioned kernel types. The<br />

experiments determined the individual impact for Trade-<strong>of</strong>f<br />

between training error and margin, Cost-factor and the<br />

decay factor and later the combined effect for Trade-<strong>of</strong>f<br />

between training error and margin, Cost-factor. For each<br />

kernel types depending on these result we also figure out<br />

some hyper planes which can maximize the performance.<br />

Based on some standard data set outcomes <strong>of</strong> our<br />

experiment for question classification is promising.<br />

Index Terms — Precision, Recall, kernel, SubSet Tree,<br />

SubTree, Partial Tree, SVM, Question Classification,<br />

Question Answering.<br />

I. INTRODUCTION<br />

The World Wide Web continues to grow at an<br />

amazing speed. So, there are also a quickly growing<br />

number <strong>of</strong> text and hypertext documents. Due to the huge<br />

size, high dynamics, and large diversity <strong>of</strong> the web, it has<br />

become a very challenging task to find the truly relevant<br />

content for some user or purpose. The open-domain<br />

question answering system (QA) has been attached great<br />

attention for its capacity <strong>of</strong> providing compact and<br />

precise results for users.<br />

The study <strong>of</strong> question classification (QC), as a new<br />

field, corresponds with the research <strong>of</strong> QA. At present the<br />

studies on QC are mainly based on the text classification.<br />

Though QC is similar to text classification in some<br />

aspects, they are clearly distinct in that: Question is<br />

usually shorter, and contains less lexicon-based<br />

information than text, which brings great trouble to QC.<br />

Therefore to obtain higher classifying accuracy, QC has<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.32-39<br />

Muhammad Arifur Rahman<br />

Department <strong>of</strong> Physics, Jahangirnagar University<br />

Dhaka-1342, Bangladesh<br />

arifmail@gmail.com<br />

to make further analysis <strong>of</strong> sentences, namely QC has to<br />

extend interrogative sentence with syntactic and semantic<br />

knowledge, replacing or extending the vocabulary <strong>of</strong> the<br />

question with the semantic meaning <strong>of</strong> every word.<br />

In QC, many systems apply machine-learning<br />

approaches [1-3]. The classification is made according to<br />

the lexical, syntactic features and parts <strong>of</strong> speech.<br />

Machine learning approach is <strong>of</strong> great adaptability, and<br />

90.0% <strong>of</strong> classifying accuracy is obtained with SVM<br />

method and tree kernel as features. However, there is still<br />

the problem that the classifying result is affected by the<br />

accuracy <strong>of</strong> syntactic analyzer, which need manually to<br />

determine the weights <strong>of</strong> different classifying features.<br />

Some other systems adopting manual-rule [4].<br />

This paper presents our approaches at question<br />

classification to improve the f1-measure [6]. <strong>of</strong> question<br />

categorization. Our experiment tried to determine the<br />

optimum value for trade-<strong>of</strong>f between training error and<br />

margin, cost-factor by which training errors on positive<br />

examples outweighs errors on negative examples. It is<br />

used to adjust the rate between precision and recall on the<br />

development set [5-6]. and the decay factor which has the<br />

role to penalize larger tree structures by giving them less<br />

weight in the overall summation [7]. To represent<br />

questions, the paper uses the standard Li and Roth [8]<br />

question classification dataset.<br />

After this overview, question classifying method, a<br />

brief description about the used algorithm and the kernel<br />

methods are introduced, and then impact <strong>of</strong> different<br />

parameters and parameters combination methods has<br />

been investigated. The comparisons are testified in<br />

experiments based on precision, recall and f1-measure.<br />

The last part <strong>of</strong> the paper is about the conclusion <strong>of</strong> the<br />

present research and about the introduction <strong>of</strong> the further<br />

work could be done on this issue.<br />

II. QUESTION CLASSIFICATION<br />

Question classification means putting the questions<br />

into several semantic categories. Approaches to question<br />

classification can be divided in two broad classes, namely,<br />

rule-based and machine learning methods. Most recent<br />

studies have been based on machine learning approaches.<br />

Li and Roth proposed 6 coarse classes and 50 fine classes<br />

for TREC factoid question answering. The UIUC QC


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 33<br />

dataset, which they developed, contains 5,500 training<br />

questions and 500 test questions, and it is now the<br />

standard dataset for question classification [8-9]. We used<br />

this dataset for our training and testing purpose.<br />

In Table I each coarse grained category contains a<br />

non-overlapping set <strong>of</strong> fine grained categories. Most<br />

question answering systems use a coarse grained category<br />

definition. Usually the number <strong>of</strong> question categories is<br />

less than 20. However, it is obvious that a fine grained<br />

category definition is more beneficial in locating and<br />

verifying the plausible answers.<br />

TABLE I: THE COARSE AND FINE GRAINED QUESTION<br />

CATEGORIES.<br />

Coarse Fine<br />

ABBR Abbreviation, expansion<br />

DESC description, definition, manner, reason<br />

ENTY body, color, event, food, creation, currency,<br />

animal, disease/medical, instrument, language,<br />

letter, other, plant, product, religion, sport,<br />

substance, symbol, technique, term, vehicle,<br />

word<br />

HUM description, group, individual, title<br />

LOC city, country, mountain, other, state<br />

NUM code, count, date, distance, money, order,<br />

other, percent, period, speed, temperature, size,<br />

weight<br />

III. SUPPORT VECTOR MACHINE (SVM)<br />

Support vector machine are based on the structural<br />

risk minimization principle from statistical learning<br />

theory [10]. The idea <strong>of</strong> structural risk minimization is to<br />

find a hypothesis for which we can guarantee the lowest<br />

true error. The bounds are connected on the true error<br />

with the margin <strong>of</strong> separating hyper planes. In their basic<br />

form support vector machines find the hyper plane that<br />

separates the training data with maximum margin. Since<br />

we will be dealing with very unbalanced numbers <strong>of</strong><br />

positive and negative examples in the following, we use<br />

cost factors C+ and C- to be able to adjust the cost <strong>of</strong> false<br />

positives vs. false negatives as [11]. Finding this hyper<br />

plane can be translated into the following optimization<br />

problem:<br />

1 2<br />

Minimize: � � � i � � � j<br />

2<br />

i:<br />

yi<br />

�1<br />

i:<br />

y j ��1<br />

C<br />

C w �<br />

�<br />

�<br />

� �<br />

Subjected to: �k : yk<br />

�w. xk<br />

� b � 1�<br />

�k<br />

�<br />

Here xi is the feature vector <strong>of</strong> example i. yi equals +1 or -<br />

1, if example i is in class ‘+’ or ‘-’ respectively.<br />

Using support vector machine we tried to determine<br />

the optimal value <strong>of</strong> trade-<strong>of</strong>f between training error and<br />

margin (c), cost-factor (j) by which training errors on<br />

positive examples outweighs errors on negative examples.<br />

It is used to adjust the rate between precision and recall<br />

on the development set [11]. Here lambda (�) the decay<br />

factor which has the role to penalize larger tree structures<br />

by giving them less weight in the overall summation.<br />

© 2010 ACADEMY PUBLISHER<br />

IV. KERNEL METHODS<br />

One <strong>of</strong> the most difficult tasks on applying machine<br />

learning for question classification is the feature design.<br />

Feature should represent data in a way that allows<br />

learning algorithm to separate positive from negative<br />

examples. In SVMs, features are used to build the vector<br />

representation <strong>of</strong> data examples and the scalar product<br />

between example pairs quantifiers how much they are<br />

similar. Instead <strong>of</strong> encoding data in the features vectors,<br />

kernel functions can be designed that provide such<br />

similarity between example pairs without using an<br />

explicit feature representation [6].<br />

The kernels we considered in this paper represent<br />

trees in terms <strong>of</strong> their substructure. Such fragments define<br />

the feature space which, in turn, is mapped into a vector<br />

space. The kernel function measures the similarity<br />

between trees by counting the number <strong>of</strong> common<br />

fragments. These functions have to recognize if a<br />

common tree subpart belongs to the feature space that we<br />

intended to generate. Here we considered three important<br />

characterization: SubTrees (STs), SubSet Trees (SSTs)<br />

and a new tree class Partial Trees (PTs) described as in<br />

[6].<br />

In case <strong>of</strong> syntactic parse trees each node with its<br />

children is associated with a grammar production rule,<br />

where the symbol at left hand side corresponds to the<br />

parent and the symbol at right hand side are associated<br />

with the children. The terminal symbols <strong>of</strong> the grammar<br />

are always associated with the leaves <strong>of</strong> the tree. For<br />

example, Fig 1. illustrate the syntactic parse <strong>of</strong> the<br />

sentence-<br />

“Adib brought a cat to the school”.<br />

N<br />

The root<br />

a leaf<br />

a subtree<br />

S<br />

VP<br />

Adib V NP<br />

brought D N<br />

Figure. 1. A syntactic parse tree.<br />

a cat<br />

S<br />

S<br />

N VP<br />

Adib V NP<br />

brought D N<br />

a cat<br />

VP<br />

VP<br />

V NP<br />

N VP<br />

brought D N<br />

a cat<br />

V NP PP<br />

PP<br />

PP<br />

IN N<br />

N<br />

to school<br />

Figure. 2. A syntactic parse tree with its SubTrees (STs).<br />

A SubTree (ST) can be defined as any node <strong>of</strong> a tree<br />

along with all its descendants. For example, in the Fig. 1.<br />

circle the SubTree rooted in the NP node. A SubSet Tree<br />

(SST) is a more general structure which necessarily not<br />

NP<br />

D N<br />

a cat<br />

IN N<br />

school<br />

V<br />

brought<br />

D<br />

a<br />

N<br />

cat<br />

N<br />

Adib


34 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

includes all the descendants. The only restriction is that<br />

an SST must be generated by applying the same<br />

grammatical rule set which generated the original tree, as<br />

pointed out in [12]. Thus, the difference with the SubTree<br />

is that the SST’s leaves can be associated with nonterminal<br />

symbols. For example, [S [N VP]] is an SST <strong>of</strong><br />

the tree in the Fig. 1. and it has the two non terminal<br />

symbols N and VP as leaves.<br />

Figure. 3. A tree with some <strong>of</strong> its SubSet Trees (SSTs).<br />

VP<br />

V NP<br />

VP<br />

V NP<br />

brought D N<br />

brought D N<br />

a cat<br />

a cat<br />

VP<br />

V NP<br />

VP<br />

V NP<br />

D N<br />

a cat<br />

D N<br />

a cat<br />

Figure. 4. A tree with some <strong>of</strong> its Partial Trees (PTs).<br />

If we relax the constraints over the SST’s, we obtain a<br />

more general form <strong>of</strong> substructure that we defined as<br />

Partial Trees (PTs). These can be generated by the<br />

application <strong>of</strong> partial production rules <strong>of</strong> the original<br />

grammar. For example, [S [N VP]], [S [N]] and [S<br />

[VP]] are valid PTs <strong>of</strong> the tree in the Fig. 1. Here Fig. 2.<br />

shows the parse tree <strong>of</strong> the sentence “Adib brought<br />

a cat” together with its 6 STs. The number <strong>of</strong> SSTs is<br />

always higher. For example, Fig. 3. shows 10 SSTs (out<br />

<strong>of</strong> all 17) <strong>of</strong> the SubTree <strong>of</strong> the Fig. 2. rooted in VP. Fig.<br />

4. shows that the number <strong>of</strong> PTs derived from the same<br />

tree is still higher (i.e. 30 PTs). These different<br />

substructure numbers provide an intuitive quantification<br />

<strong>of</strong> the different information level among the tree based<br />

representations [6].<br />

The main idea <strong>of</strong> the tree kernel is to compute the<br />

number <strong>of</strong> the common substructures between two trees<br />

T1 and T2 without explicitly considering the whole<br />

fragment space. From [6]. given a tree fragment space {f1,<br />

f2,….} = F, here we denote the indicator function Ii(n)<br />

which is equal 1 if the target f1 is rooted at the node n and<br />

0 otherwise. It followed that-<br />

K�T1 , T2<br />

��� ���n1,<br />

n2<br />

�…<br />

(1)<br />

n1�N<br />

T n2<br />

�N<br />

1 T2<br />

where N T and N<br />

1<br />

T are the sets <strong>of</strong> the T1’s and T2’s<br />

2<br />

F<br />

nodes, respectively and ��n1,<br />

n2<br />

���Ii�n1�Ii�n2�. i�1<br />

This letter is equal to the number <strong>of</strong> common<br />

fragments rooted at the n1 and n2 nodes. We can compute<br />

� as follows-<br />

© 2010 ACADEMY PUBLISHER<br />

VP<br />

NP<br />

D N<br />

a cat<br />

VP<br />

V NP<br />

D N<br />

NP<br />

D N D<br />

a<br />

VP<br />

NP<br />

D N D N D N<br />

D N a cat a<br />

NP D N<br />

a<br />

VP<br />

NP<br />

NP<br />

VP VP<br />

NP NP<br />

D<br />

NP<br />

V<br />

a cat brought<br />

D N D<br />

NP<br />

cat<br />

VP<br />

NP<br />

N<br />

NP NP<br />

N<br />

1. if the production at n1 and n2 are different<br />

the �� n ��0 n 1,<br />

2 ;<br />

2. if the production at n1 and n2 are the same, and<br />

n1 and n2 have only leaf children (pre-terminal<br />

symbols) then �� n ��1 n 1,<br />

2 ;<br />

3. if the production at n1 and n2 are the same, and<br />

n1 and n2 are not pre-terminals then<br />

nc�n1�<br />

j j<br />

� , �� � � ��<br />

, ��<br />

c<br />

n<br />

� 1 2 � n1 n2<br />

j �1<br />

c<br />

n � … (2)<br />

where � ��0,<br />

1�,<br />

nc �n1� is the number <strong>of</strong> the children<br />

<strong>of</strong> n1 and j<br />

cn is the j-th child <strong>of</strong> the node n. As the<br />

production is same nc(n1)= nc(n2).<br />

When � =0, � �n1,n2� is equal 1 only if<br />

j j<br />

� ��<br />

, �� 1<br />

n n c c j , i.e. all the productions associated<br />

1 2<br />

with the children are identical. By recursively applying<br />

the property, it follows the SubTrees in n1 and n2 are<br />

identical. Thus Eq. 1 evaluate the SubSet Tree<br />

kernel .When � =1, � 1 2 � ,n n � evaluates the number <strong>of</strong><br />

SSTs common to n1 and n2 as proved in [12].<br />

To include the leaves as fragments it is enough to add,<br />

to the recursive rule set for the � evaluation, the<br />

condition is- if n1 and n2 are leaves and their associated<br />

symbols are equal then ��n 1,<br />

n2<br />

��1. By [6]. such<br />

extended kernel can be referred as SST+bow (bag-<strong>of</strong>words).<br />

Here the decay factor (�) is defined as<br />

��n x, nz<br />

���and nc�nx�<br />

j j<br />

��nxnz����<br />

� ��c��<br />

n c<br />

1 n2<br />

j�1<br />

,<br />

, � �<br />

.<br />

To evaluate all possible substructures common to two<br />

trees, we can (1) select a child from the both trees, (2)<br />

extract the portion <strong>of</strong> the syntactic rule that contains such<br />

subset, (3) apply Eq. 2 to the extracted partial productions<br />

and sum the contributions <strong>of</strong> all the children subsets.<br />

Such subsets corresponds to all possible common (non<br />

continuous) node subsequence and computed efficiently<br />

by means <strong>of</strong> sequence kernel [13]. Let<br />

�<br />

�<br />

J1 � �J11, .., J1r<br />

� and J2 � �J21, .., J2r<br />

� be the<br />

index sequence associated with the order child sequence<br />

<strong>of</strong> n1 and n2 respectively. Then the number <strong>of</strong> PTs is<br />

evaluated by the following � function:<br />

�<br />

l�J1�<br />

�<br />

��<br />

���<br />

� � ��<br />

� J1<br />

n1<br />

, n2<br />

1<br />

c ,<br />

� � � � � n1<br />

J , J , l J �l J i�1<br />

where �J� 1<br />

2<br />

� � � �<br />

1<br />

2<br />

�<br />

i J 2i<br />

cn2<br />

l 1<br />

� indicates the length <strong>of</strong> the target child<br />

� �<br />

and J2 i are the i th children in the<br />

sequence, whereas J1i two sequences.<br />

�<br />

�<br />


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 35<br />

V. RESULTS AND ANALYSIS<br />

We evaluate the performance <strong>of</strong> Question<br />

Classification using SVM with SubTree kernel, SubSet<br />

Tree kernel with Bag <strong>of</strong> words (SST+BOW) and Partial<br />

Tree kernel. For SubSet Tree kernel with bag <strong>of</strong> words<br />

first we investigate the optimum value <strong>of</strong> trade-<strong>of</strong>f<br />

between training error and margin (c) keeping cost-factor<br />

(j) and the decay factor (�) constant. Then we investigate<br />

the impact <strong>of</strong> cost factor (j) for constant trade-<strong>of</strong>f between<br />

training error and margin (c) and decay factor (�).<br />

F1-Measure<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

For Cost Factor (j)=0.5<br />

0 1 2 3 4<br />

Training error and margin Trade-<strong>of</strong>f (c)<br />

ABBR<br />

DESC<br />

ENTY<br />

HUM<br />

LOC<br />

NUM<br />

Figure. 5 (a). Training error and Margin Vs F1 Measure<br />

for j = 0.5 and SST+BOW<br />

F1-Measure<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

For Cost Factor (j)=1.5<br />

0 1 2 3 4<br />

Training error and margin Trade-<strong>of</strong>f (c)<br />

ABBR<br />

DESC<br />

ENTY<br />

HUM<br />

LOC<br />

NUM<br />

Figure. 5 (b). Training error and Margin Vs F1 Measure<br />

for j = 1.5 and SST+BOW<br />

F1-Measure<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

For Cost Factor (j)=3.5<br />

0 1 2 3 4<br />

Training error and margin Trade-<strong>of</strong>f (c)<br />

ABBR<br />

DESC<br />

ENTY<br />

HUM<br />

LOC<br />

NUM<br />

Figure. 5 (c). Training error and Margin Vs F1 Measure<br />

for j = 3.5 and SST+BOW<br />

© 2010 ACADEMY PUBLISHER<br />

Then for constant factor (�) we determine the hyper plane<br />

for trade-<strong>of</strong>f between training error and margin (c) and<br />

cost-factor (j) which have the maximum f1-measure.<br />

Finally we determined the impact <strong>of</strong> decay factor (�) for a<br />

constant trade-<strong>of</strong>f between training error and margin (c)<br />

and cost-factor (j). The similar process was repeated for<br />

SubTree kernel and partial tree kernel.<br />

Fig. 5 (a-c). shows the trade-<strong>of</strong>f between training error<br />

and margin (c) versus performance (measured by f1measure)<br />

curve for different types <strong>of</strong> QC data set using<br />

different Cost Factor (j) and fixed decay factor (�=0.01).<br />

F1-Measure<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

For Trade-<strong>of</strong>f between Training Error & Margin C=0.5<br />

0 2 4 6 8<br />

Cost Factor (j)<br />

ABBR<br />

DESC<br />

ENTY<br />

HUM<br />

LOC<br />

NUM<br />

Figure. 6. (a) Cost factor Vs F1 measure for C=0.5 and<br />

SST+BOW.<br />

F1-Measure<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

For Trade-<strong>of</strong>f between Training Error & Margin C=1<br />

0 2 4 6 8<br />

Cost Factor (j)<br />

Figure. 6 (b). Cost factor Vs F1 measure for C=1 and<br />

SST+BOW.<br />

F1-Measure<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

For Trade-<strong>of</strong>f between Training Error & Margin C=1.5<br />

0 2 4 6 8<br />

Cost Factor (j)<br />

ABBR<br />

DESC<br />

ENTY<br />

HUM<br />

LOC<br />

NUM<br />

ABBR<br />

DESC<br />

ENTY<br />

HUM<br />

LOC<br />

NUM<br />

Figure. 6 (c). Cost factor Vs F1 measure for C=1.5 and<br />

SST+BOW.


36 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Here it is notable for same set <strong>of</strong> parameters different<br />

data types have different performance level. For different<br />

cost factor highest f1-measure can be achieved by setting<br />

the trade-<strong>of</strong>f between training error and margin (c)<br />

around 2, Afterwards its performance becomes almost<br />

constant.<br />

Fig. 6. (a-c) shows the cost factor (j) versus<br />

performance (measured by f1-measure) curve for<br />

different types <strong>of</strong> question classification data set using<br />

different <strong>of</strong> Trade <strong>of</strong> between training error and margin<br />

(c) and fixed decay factor (�=0.01). For a constant trade<strong>of</strong>f<br />

between training error and margin different types <strong>of</strong><br />

questions have highest f1-measure.<br />

For different value <strong>of</strong> c highest f1-measure can be<br />

achieved by setting the cost factor (j) less than 2. Even<br />

for some cases if the value <strong>of</strong> cost factor is increased then<br />

the f1-measue is decreased a certain amount and after a<br />

stage it becomes almost constant.<br />

Fig. 7. shows the decay factor (�) versus f1-measure<br />

curve for a constant values <strong>of</strong> trade-<strong>of</strong>f between training<br />

error and margin (c=1.5) and cost factor (j=1.5). To get a<br />

very high f1 measure decay factor should have very small.<br />

Starting after 0, up to 0.5 its performance is almost steady<br />

but if we increase the decay factor more the performance<br />

decreased drastically.<br />

F1-Measure<br />

F1-Measure<br />

100<br />

90<br />

85<br />

80<br />

75<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

70<br />

4<br />

For fixed Cost Factor (j=1.5) and Trade-<strong>of</strong>f (c=1.5)<br />

0 0.5 1 1.5 2<br />

Decay Factor (lambda)<br />

Figure. 7. Impact <strong>of</strong> Decay Factor and SST+BOW.<br />

3<br />

2<br />

Trade-<strong>of</strong>f (c)<br />

1<br />

ABBR<br />

0<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

Cost FActor (j)<br />

ABBR<br />

DESC<br />

ENTY<br />

HUM<br />

LOC<br />

NUM<br />

Figure. 8(a). Hyper plane for ABBR data type and SST+BOW.<br />

© 2010 ACADEMY PUBLISHER<br />

6<br />

Fig. 8(a-f). show the hyper plane by which maximum<br />

f1-measure can be achieved. For a constant decay factor<br />

(�) a set <strong>of</strong> values <strong>of</strong> trade-<strong>of</strong>f between training error and<br />

margin (c) and cost factor (j) can provide the highest f1measure.<br />

Among the six type <strong>of</strong> data set ‘LOC’ type <strong>of</strong><br />

question have to classified by some fixed combination <strong>of</strong><br />

trade-<strong>of</strong>f between training error and margin (c) and cost<br />

factor (j) because there is no hyper plane but some peaks.<br />

F1-Measure<br />

94<br />

92<br />

90<br />

88<br />

86<br />

84<br />

82<br />

4<br />

3<br />

2<br />

Trade-<strong>of</strong>f (c)<br />

1<br />

0<br />

HUM<br />

0<br />

2<br />

4<br />

Cost FActor (j)<br />

Figure. 8(b). Hyper plane for HUM data type and SST+BOW.<br />

F1-Measure<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

4<br />

3<br />

2<br />

Trade-<strong>of</strong>f (c)<br />

1<br />

DESC<br />

0<br />

0<br />

2<br />

4<br />

Cost FActor (j)<br />

Figure. 8(c). Hyper plane for DESC data type and SST+BOW.<br />

F1-Measure<br />

90<br />

80<br />

70<br />

60<br />

0<br />

1<br />

2<br />

Trade-<strong>of</strong>f (c)<br />

3<br />

4<br />

6<br />

5<br />

LOC<br />

4<br />

3<br />

2<br />

Cost FActor (j)<br />

Figure. 8(d). Hyper plane for LOC data type and SST+BOW.<br />

1<br />

0<br />

6<br />

6


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 37<br />

F1-Measure<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

4<br />

3<br />

2<br />

Trade-<strong>of</strong>f (c)<br />

1<br />

0<br />

ENTY<br />

0<br />

2<br />

4<br />

Cost FActor (j)<br />

Figure. 8(e). Hyper plane for ENTY data type and SST+BOW.<br />

F1-Measure<br />

95<br />

90<br />

85<br />

80<br />

75<br />

70<br />

65<br />

60<br />

4<br />

3<br />

2<br />

Trade-<strong>of</strong>f (c)<br />

1<br />

0<br />

NUM<br />

0<br />

2<br />

4<br />

Cost FActor (j)<br />

Figure. 8(f). Hyper plane for NUM data type and SST+BOW.<br />

Figure. 9. Training error and Margin Vs F1 Measure<br />

for j = 0.5 and PT<br />

Fig. 9. shows the training error and margin versus F1-<br />

measure curve for a constant cost factor (j = 0.5) using<br />

partial tree. Like SST+BOW the performance is very low<br />

when the training error and margin is very low. After a<br />

certain level (here it is 2) <strong>of</strong> training error and margin the<br />

performance tends to become almost constant.<br />

© 2010 ACADEMY PUBLISHER<br />

6<br />

6<br />

Figure. 10. Cost factor Vs F1 measure for C=0.5 and PT.<br />

Figure. 11. Impact <strong>of</strong> Decay Factor for PT.<br />

Figure. 12. Hyper plane for NUM data type and PT.<br />

Fig. 10. shows the Cost factor versus F1 measure<br />

curve for a constant training error and margin (C=0.5).<br />

While Fig. 11. shows the impact <strong>of</strong> decay Factor. It is<br />

clear that at the lower range it doesn’t have much impact<br />

on performance like SST+BOW. Fig. 12 and Fig.13.<br />

respectively shows the hyper plane for NUM and ENTY<br />

data type.


38 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Fig. 13. Hyper plane for ENTY data type and PT.<br />

TABLE II: MAXIMUM F1- MEASURE OBTAINED USING<br />

SUBSET TREE KERNEL WITH BAG OF WORDS (SST+BOW) FOR<br />

�=0.01.<br />

Coarse F1 P(%) R(%) A(%) j c<br />

ABBR 88.89 99.6 88.89 88.89 6 1<br />

DESC 96.77 98.2 95.74 97.83 1 2.5<br />

ENTY 82.87 93.8 86.21 79.79 6 2<br />

HUM 95.24 98.8 98.36 92.31 4 3.5<br />

LOC 87.8 96 86.75 88.89 5.5 0.5<br />

NUM 94.01 97.4 98.08 90.27 5 1<br />

TABLE III: MAXIMUM F1- MEASURE OBTAINED USING<br />

SUBSET TREE KERNEL FOR �=0.01.<br />

Coarse F1 P(%) R(%) A(%) j c<br />

ABBR 88.89 99.6 88.89 88.89 3.5 2.5<br />

DESC 97.12 98.4 96.43 97.83 1 3.5<br />

ENTY 79.78 92.8 84.52 75.53 6.5 3<br />

HUM 93.75 98.4 95.24 92.31 2 2.5<br />

LOC 88.48 96.2 86.9 90.12 5.5 1<br />

NUM 94.01 97.4 98.08 90.27 5 1.5<br />

TABLE IV: MAXIMUM F1- MEASURE OBTAINED USING<br />

PARTIAL TREE KERNEL FOR �=0.01.<br />

Coarse F1 P(%) R(%) A(%) j c<br />

ABBR 87.5 99.6 100 77.78 3 0.5<br />

DESC 96.06 97.8 95.04 97.1 1 3.5<br />

ENTY 85.56 94.6 86.02 85.11 4 3.5<br />

HUM 81.33 94.4 71.76 93.85 5.5 0.5<br />

LOC 88.48 96.2 86.9 90.12 5.5 1.5<br />

NUM 94.44 97.6 99.03 90.27 4.5 3<br />

Table II shows the maximum F1- measure (F1)<br />

obtained using SubSet tree Kernel-Bag <strong>of</strong> words<br />

(SST+BOW) for �=0.01 and the corresponding precision<br />

(P), recall (R), accuracy (A) for specific cost factor (j)<br />

and trade-<strong>of</strong>f between training error and margin (c). Table<br />

© 2010 ACADEMY PUBLISHER<br />

III and Table IV shows the performance for SubTree<br />

kernel and Partial Tree kernel respectively.<br />

VI. CONCLUSION<br />

Question classification is one importance role in the<br />

Question Answering frame to reduce the gap between<br />

question and answer. It can conduct answer choosing and<br />

selection. Our question classification method based on<br />

the use <strong>of</strong> linguistic knowledge and machine learning<br />

approaches and it exploit different classification features<br />

and combination method, also. Though among all the<br />

experiments one or two data set did not provide<br />

distinguishable hyper plane in every cases thereafter the<br />

outcome <strong>of</strong> experiments done using the tool SVM_light<br />

on Li and Roth question classification data sets<br />

demonstrate some optimal set <strong>of</strong> values which can<br />

maximize the performance. In the future we aim to<br />

investigate the impact <strong>of</strong> different parameters on<br />

constituent trees using different types <strong>of</strong> kernel as well as<br />

other different classifiers.<br />

REFERENCES<br />

[1]. Hovy, E., Hermjakob, U., Lin, C.-Y. and Ravichandran,<br />

D. "Using Knowledge to Facilitate Factoid Answer<br />

Pinpointing", Proceedings <strong>of</strong> the 19th International<br />

Conference on Computational Linguistics (COLING),<br />

Taipei, Taiwan, 2002.<br />

[2]. Ittycheriah, A., Franz, M., Zhu, W.-J. and Ratnaparkhi,<br />

A. "IBM’s Statistical Question Answering System",<br />

Proceedings <strong>of</strong> the TREC-9 Conference, Gaithersburg,<br />

MD: NIST, 2000, p. 229.<br />

[3]. Zhang, D. and Lee, W. S. 2003. "Question<br />

Classification using Support Vector Machines",<br />

Proceedings <strong>of</strong> ACMSIGIR Conference on Research<br />

and Development in Information Retrieval (SIGIR),<br />

Toronto, Canada, 2003.<br />

[4]. LI Xin, HUANG Xuan-Jing, WU Li-de, “Question<br />

Classification by Ensemble Learning”, IJCSNS<br />

International <strong>Journal</strong> <strong>of</strong> Computer Science and Network<br />

Security, VOL.6 No3, March 2006.<br />

[5]. Alessandro Moschitti, Silvia Quarteroni, Roberto Basili<br />

and Suresh Manandhar, “Exploiting Syntactic and<br />

Shallow Semantic Kernels for Question/Answer<br />

Classification”, Proceedings <strong>of</strong> the 45th Conference <strong>of</strong><br />

the Association for Computational Linguistics (ACL),<br />

Prague, June 2007.<br />

[6]. Roberto Basili, Alessandro Moschitti, “Automatic Text<br />

Categorization From information Retrival to Support<br />

Vector Learning”, ARACNE editrice, November 2005.<br />

[7]. Stephan Bloehdorn and Alessandro Moschitti,<br />

“Exploiting Structure and Semantics for Expressive<br />

Text Kernels”, Proceeding <strong>of</strong> the Conference on<br />

Information Knowledge and Management, Lisbon,<br />

Portugal, 2007.<br />

[8]. Li, X., Roth, D, “Learning question classifiers”,<br />

Proceedings <strong>of</strong> the 19th International Conference on<br />

Computational Linguistics, Taipei, Taiwan, 2002.<br />

[9]. M.-Y. Day, C.-H. Lu, C.-S. Ong, S.-H. Wu, and W.-L.<br />

Hsu, "Integrating Genetic Algorithms with Conditional<br />

Random Fields to Enhance Question Informer<br />

Prediction", Proceedings <strong>of</strong> the IEEE International<br />

Conference on Information Reuse and Integration,<br />

Waikoloa, Hawaii, USA, 2006, pp. 414-419.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 39<br />

[10]. V. Vapnik, “Statistical Learning Theory”, Wiley, New<br />

York, USA 1998.<br />

[11]. K. Morik, P. Brockhausen, and T. Joachims,<br />

“Combining statistical learning with a knowledge-based<br />

approach – A case study in intensive care monitoring”,<br />

International Conference on Machine Learning (ICML),<br />

Bled, Slovenia, 1999.<br />

[12]. M. Collins, N. Duffy, “New Ranking algorithm for<br />

parsing and Tagging: Kernels over Distance structure,<br />

and the Voted Perception”, Association for<br />

Computational Linguistics (ACL), Philadelphia, USA,<br />

2002.<br />

[13]. Huma Lodhi, Craig Saunders, John Shawe-Taylor,<br />

Nello Cristianini, Christopher Watkins, “Text<br />

Classification using string kernels”, in NIPS, pp 563-<br />

569, 2000.<br />

© 2010 ACADEMY PUBLISHER<br />

Muhammad Arifur Rahman has<br />

completed his Masters degree in Human<br />

Language Technology and Interfaces<br />

(HLTI) under the Department <strong>of</strong><br />

Information Engineering and Computer<br />

Science at University <strong>of</strong> Trento, Italy. He<br />

received his B.Sc. (Honors) degree from the<br />

Department <strong>of</strong> Computer Science and Engineering,<br />

Jahangirnagar University, Bangladesh at 2001. His major areas<br />

<strong>of</strong> interest include Natural Language Processing, Data<br />

Communication, and Digital Signal Processing.<br />

He has authored a book titled “Fundamentals <strong>of</strong><br />

Communication” and more than 10 international journal and<br />

conference papers. At present he is serving as a Lecturer in the<br />

Department <strong>of</strong> Physics, Jahangirnagar University, Dhaka,<br />

Bangladesh.


40 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Recurrent Neural Network Classifier for Three<br />

Layer Conceptual Network and Performance<br />

Evaluation<br />

Md. Khalilur Rhaman<br />

Department <strong>of</strong> Computer Science and Engineering, BRAC University, 66 Mohakhali, Dhaka-1212,<br />

Bangladesh.<br />

Email: khalilur@bracu.ac.bd<br />

Tsutomu Endo<br />

Kyushu Institute <strong>of</strong> Technology, 680-4 Kawazu, Iizuka, Fukuoka, 820-8502, Japan.<br />

Email: endo@pluto.ai.kyutech.ac.jp<br />

Abstract— Natural language has traditionally been handled<br />

using symbolic computation and recursive processes. Classification<br />

<strong>of</strong> natural language by using neural network is<br />

a hard problem. Past few years several recurrent neural<br />

network (RNN) architectures have emerged which have<br />

been used for several smaller natural language problems.<br />

In this paper, we adopt Elman RNN classifier for disease<br />

classification for a doctor patient-dialog system. We find that<br />

the Elman RNN is able to find a representation for natural<br />

language. Contextual analysis in dialog is also a major<br />

problem. A three layers memory structure was adopted to<br />

address the challenge which we referred to as ”Three Layer<br />

Conceptual Network” (TLCN). This highly efficient network<br />

simulates the human brain by discourse information. An<br />

extended case structure framework is used to represent<br />

the knowledge. We used the same case frame structure to<br />

train and examine the RNN classifier. This system prototype<br />

is based on doctor-patients dialogs. The over all system<br />

performance achieved 84% accuracy. Disease identification<br />

accuracy depends on number <strong>of</strong> disease and number <strong>of</strong><br />

utterances. The performance evaluation is also discussed in<br />

this paper.<br />

Index Terms— Three Layer Conceptual Network, Knowledge<br />

Representation, Recurrent Neural Network.<br />

I. INTRODUCTION<br />

In this paper we present a Neural Network Classifier<br />

to classify the diseases for our system prototype. EL-<br />

MAN [1] [2] POLLACK [3] and LAWRENCE [4] are<br />

considered to apply in this application. In this initiative<br />

we introduced Neural Network in Three Layer Conceptual<br />

Network (TLCN). To implement this novelty a number <strong>of</strong><br />

researches was studied [5] [6] [7] [8] [9] [10] [11] [12]<br />

[13] [14] [15] which integrated RNN with NLP. TLCN<br />

architecture was developed by RHAMAN [16] from the<br />

memory model idea <strong>of</strong> NOMURA [17]. NOMURA’s<br />

model was a framework for a memory management but<br />

RHAMAN developed architecture to address a real time<br />

dialog system. A discourse algorithm was introduced to<br />

represent discourse information which was related to [18],<br />

[19], [20]. It was a model which could simulate the<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.40-48<br />

human brain memory. Human brain consist three types<br />

<strong>of</strong> memories Long-term, short-term and mid-term which<br />

was studied in [21], [22] and [23]. In our system episodic<br />

memory module simulates short-term memory, discourse<br />

memory module simulates mid-term memory and ground<br />

memory module simulates long-term memory. But in case<br />

<strong>of</strong> disease identification the system performance was not<br />

satisfactory. So, We use RNN Classifier and get better<br />

result. We used the traditional modules for input and<br />

response generation but developed an extended case frame<br />

model <strong>of</strong> BRUCE [24] and SHIMAZU & NOMURA [25]<br />

for handling the knowledge database. Case frame network<br />

is very useful for unstructured and ambiguous languages<br />

like Japanese. However, most systems deal with rather<br />

simple sentences, in which the analysis is a relatively easy<br />

task. Our extension <strong>of</strong> case frame architecture reduced the<br />

complexity using formalism. We use the same structure<br />

for RNN classifier.<br />

II. MOTIVATION<br />

Patient come back to the doctor repeatedly with the<br />

same symptoms and expects the doctor to fix it. In<br />

another case most <strong>of</strong> patients come to the doctor with<br />

same symptoms. In the decade <strong>of</strong> 1980 and 1990, a<br />

number <strong>of</strong> medical expert systems were designed using<br />

medical knowledge to diagnose the diseases. Medical<br />

expert systems have evolved to provide physicians with<br />

both structured questions and structured responses within<br />

medical domains <strong>of</strong> specialized knowledge or experience.<br />

Most <strong>of</strong> these systems [26], [27], [15] and [28] were<br />

based on doctor. Only medical experts could enter the<br />

predefined data set to find the solution. Our proposed<br />

system is very different in this point. Our system is<br />

designed to communicate with patient directly. Patients<br />

can communicate our system by their natural language.<br />

Natural language has traditionally been handled using<br />

symbolic computation and recursive process. The most<br />

successful stochastic models have been based on finitestate<br />

descriptions models. However finite-state model can


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 41<br />

not represent hierarchical structures found in natural language.<br />

In past few decades most <strong>of</strong> the NLP systems [29],<br />

[30], [31] [32], [33], [34], [35]and [36] were developed<br />

based on syntactic phrase structure. These systems are<br />

good for structured language but not good for encoding<br />

linguistic information <strong>of</strong> unstructured language like<br />

Japanese. So, our motivation was to implement a system<br />

that can communicate directly with patients and also can<br />

handle the process <strong>of</strong> sequential sentences and complex<br />

sentence.<br />

III. OVERVIEW OF TLCN<br />

Three Layer Conceptual Network model is a framework<br />

to use the knowledge that simulates human brain.<br />

Discourse information is playing the vital role for this<br />

kind <strong>of</strong> simulation. It consists <strong>of</strong> three layered memory<br />

modules: 1) Ground Memory Module (GMM), 2) Discourse<br />

Memory Module (DMM) and 3) Episodic Memory<br />

Module (EMM). In our proposed model, the knowledge<br />

and their relationships accommodate into the GMM.<br />

DMM represents the most basic, useful and recently used<br />

discourse knowledge. EMM is a User interface. It contains<br />

linguistic and non-linguistic knowledge for understanding<br />

input dialogs and generates response dialogs. However,<br />

memory modules are not simply an accumulation <strong>of</strong> the<br />

contents <strong>of</strong> other memories. It is a structured memory<br />

coherently organized by merging old and new knowledge.<br />

The process relates to what is called knowledge learning.<br />

Each memory module consists <strong>of</strong> a knowledge database<br />

and its manager. Fig. 1 depicts the simple process flow<br />

<strong>of</strong> TLCN.<br />

A. Architecture<br />

Figure 1. Processing <strong>of</strong> TLCN<br />

The TLCN-Dialog Processor (DP) architecture is illustrated<br />

in Fig. 2. This architecture provides an efficient<br />

integration <strong>of</strong> component modules. Text input utterances<br />

are sent to dialog understanding unit <strong>of</strong> EMM. To understand<br />

the input dialog, the entire linguistic knowledge<br />

is assimilated to episodic memory from ground memory<br />

in advance. After normalizing the input text, it generates<br />

case frames that are sent to classifier unit. Here, input<br />

© 2010 ACADEMY PUBLISHER<br />

case frames are classified into some predefined classes.<br />

DMM manager receive these classified case frames from<br />

EMM manager and searches in the discourse memory to<br />

match some diseases. DM will be acknowledged whether<br />

any disease is identified or not. If the information does<br />

not match enough in discourse memory, DM sends the<br />

input case frames to GMM manager. GMM manager<br />

does the same task as DMM manager have done and<br />

assimilates the diseases to discourse memory. If the input<br />

case frames do not match with any <strong>of</strong> the diseases,<br />

DM generates a ”not identified response”. If it could<br />

match with some diseases but not enough to satisfy<br />

the identification condition, it generates case structures<br />

<strong>of</strong> question response for the dialog generator. Dialog<br />

generator then asks a natural language question to the<br />

patient. If the matching result satisfies the identification<br />

condition, it generates identification response including<br />

advice case frames, carefulness case frames and treatment<br />

case frames. Then, the dialog generator generates natural<br />

language text dialog from the case frames.<br />

Figure 2. TLCN Dialog Processing System<br />

B. Ground Memory Module (GMM)<br />

The ground memory <strong>of</strong> GMM contains all kinds <strong>of</strong><br />

knowledge. This is the main data source <strong>of</strong> the system. It<br />

stores information related to linguistic knowledge such as<br />

dictionary, grammar, and non-linguistic knowledge which<br />

includes disease, symptom, cause, treatment, effect etc.<br />

Procedural knowledge which relates inferring a fact from<br />

a collection <strong>of</strong> facts also described here. We considered<br />

[37], [38], [39], [40], [41] to implement ground<br />

memory. It also includes discourse information like most<br />

common diseases, seasonal diseases, previous record <strong>of</strong><br />

a patient and recently processed disease information. In<br />

ground memory, knowledge is represented by a case frame<br />

structure form. Fig. 3 is showing the hierarchy <strong>of</strong> case<br />

frame representation where the nodes represent the case<br />

structures and the edges represent their relationships. In<br />

this figure, X and Y axis represent the case frames and<br />

Z axis denotes level <strong>of</strong> their relationships. More than one<br />

case frame <strong>of</strong> a previous level can be connected with one<br />

or more case frames <strong>of</strong> the next level and vice-verse. In<br />

the following sub-section we will discuss the details <strong>of</strong><br />

knowledge representation in ground memory.


42 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Figure 3. Case structure and their relationship<br />

The knowledge is classified in some predefined classes.<br />

For this system prototype the nodes are classified in<br />

diseases. A class can be a property <strong>of</strong> other class. The<br />

GMM manager is an algorithm that searches the disease<br />

information in ground memory when requested by the<br />

Dialog Manager and also finds the discourse knowledge<br />

requested by discourse memory module. Ground memory<br />

always updates itself after every conversation and never<br />

deletes anything.<br />

1) Case frame Model: The extended case frame model<br />

we used is an understanding model consists <strong>of</strong> predicates,<br />

semantic case relations (roles), modalities, and<br />

conjunctive relations that were previously proposed by<br />

SHIMAZU [25]. BRUCH [24] model also studied to<br />

design our extended model.<br />

sentence = simple sentence|sentence +<br />

conjunctive relation + sentence<br />

simple sentence = predicate + case relations +<br />

modalities<br />

case relations = object|method|direction|timeand<br />

space|supplement|modification<br />

modalities = tense|aspect|manner|intention|guess<br />

|attitude|negation|ability|necessity| . . .<br />

conjunctive relation = time|cause|reason|result|<br />

contrast|goal|assumption|<br />

1) Case Relations: one characteristic <strong>of</strong> this model is<br />

the relatively large collection <strong>of</strong> case relations. The<br />

collection includes: 1) basic cases like Fillmore’s<br />

case system, 2) case relations such as extent, manner,<br />

and degree, which appear as adverbial phrases,<br />

and 3) additional cases represented by the inflection<br />

<strong>of</strong> a certain verb.<br />

2) Modalities: semantic structures must include information<br />

on modality such as tense, aspect, intention,<br />

manner, attitude and assumption. Real sentences<br />

convey much <strong>of</strong> this type <strong>of</strong> information. Unfortunately,<br />

however, most understanding systems and<br />

linguistic theories have not dealt sufficiently with<br />

modalities.<br />

3) Conjunctive Relations: A sentence generally consists<br />

<strong>of</strong> several sub-sentences, each <strong>of</strong> which represents<br />

a unit event. In the model, event relations<br />

© 2010 ACADEMY PUBLISHER<br />

are expressed by conjunctive relations such as time,<br />

cause, reason, result, goal, assumption, contrast and<br />

circumstance. These are essential for understanding<br />

a sentence, and must be organized into semantic<br />

structures.<br />

2) Extended Case Frame Representation: An extension<br />

<strong>of</strong> case structure model is proposed as a linguistic<br />

model for representing the text meaning structure. Thus<br />

the case frames act as a representation scheme for ground<br />

memory. The traditional case structure is a structure for a<br />

unit sentence which consists mainly in relations between<br />

noun and verb. This is not sufficient to represent structures<br />

<strong>of</strong> real sentences which sometimes have complex noun<br />

phrase and compound sentences. Also our proposed case<br />

structure has to have facilities for representing other<br />

structures involving relations between two nouns by verb<br />

and preposition. It has been designed to integrate those<br />

structures into one linguistic model. Its nature is hierarchical<br />

with respect to the way constituents are connected;<br />

iterative with respect to conjunction, and recursive with<br />

respect to embedding. Using this formalism, the syntactic<br />

and semantic structures <strong>of</strong> sentences can be represented<br />

uniformly.<br />

In our proposed structure, every noun has six properties:<br />

adjective, delimiter, preposition, auxiliary verb,<br />

adverb and verb. Noun can be related by either verb<br />

or preposition. This case frame representation makes<br />

the matching algorithm simple and efficient because the<br />

same structure can represent both case frames and their<br />

relationships. The basic structure <strong>of</strong> case frame is depicted<br />

in Fig. 4.<br />

Figure 4. Case frame structure<br />

Fig. 5 shows the representation <strong>of</strong> case frame. One case<br />

structure node can have more than one connection node<br />

and one connection node can have more than one case<br />

structure node. There is no restriction about consequence<br />

case structure and connection node to represent a complex<br />

or compound knowledge.<br />

Figure 5. shows the relation <strong>of</strong> case structures<br />

Fig. 6. shows an example <strong>of</strong> knowledge representation


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 43<br />

in ground memory where the disease is considered as a<br />

head class and others are considered as daughter classes.<br />

This also explains the representation <strong>of</strong> knowledge in<br />

a real database. Here the example disease is cholera.<br />

Symptom, cause and others are sub-nodes <strong>of</strong> cholera.<br />

The sub-nodes <strong>of</strong> symptom and cause represent the case<br />

frames for the natural language texts written in the box<br />

located at the right bottom <strong>of</strong> the figure.<br />

Figure 6. Knowledge representation<br />

3) Training to the Ground Memory: The TLCN-DP<br />

system is based on doctor-patient dialog conversation.<br />

First the system was trained under the supervision <strong>of</strong> a<br />

pr<strong>of</strong>essional doctor. At the time <strong>of</strong> training, the trainer<br />

carefully considered the discourse information and the<br />

level <strong>of</strong> nouns. The statistics <strong>of</strong> training corpus are given<br />

in Table I. The information about these diseases was<br />

collected from medical web links [42], [43] and [44]. The<br />

corpus <strong>of</strong> RHAMAN [45] is also considered to train the<br />

system.<br />

TABLE I.<br />

TRAINING CORPUS STATISTICS<br />

Number<br />

Diseases 30<br />

Sentences for each disease 95<br />

Normalized Sentences for each disease 220<br />

Vocabulary Size 2500<br />

C. Discourse Memory Module (DMM)<br />

Discourse memory contains discourse information that<br />

provides situational and contextual information for an<br />

utterance environment. It contains nodes with different<br />

frequency. The frequency is calculated depending on the<br />

uses <strong>of</strong> knowledge. In our proposed system we used three<br />

frequencies: medium, high and very high. We standardize<br />

the frequency three after examining with other frequencies.<br />

We found better response using the frequency three.<br />

The very high frequency is determined by the most used<br />

case frames, recently used classes and seasonal disease<br />

case frames. The high frequency nodes are determined<br />

by the basic information <strong>of</strong> the patient and his past<br />

© 2010 ACADEMY PUBLISHER<br />

medical record. Medium frequency nodes are determined<br />

by the medium uses <strong>of</strong> case frames. The knowledge and<br />

their frequencies <strong>of</strong> discourse memory are different for<br />

different patients.<br />

1) Discourse Information: Some discourse information<br />

is pre-defined and some discourse information depends<br />

on real time information. After getting the basic<br />

information <strong>of</strong> patient and environment, the system decides<br />

the discourse knowledge considering the following<br />

criteria. The discourse frequency is always predefined by<br />

the trainer <strong>of</strong> the system.<br />

1) Most common diseases: In every area or age there<br />

are some common diseases. This information is predefined<br />

by the trainer.<br />

2) Seasonal disease Information: There are some common<br />

diseases for each season. This discourse information<br />

is identified by current date and the predefined<br />

seasonal information.<br />

3) Recently treated disease information: The diseases<br />

and case frames are mostly handled by the current<br />

system in recent time. Its discourse frequency is<br />

determined by the frequency <strong>of</strong> handled disease.<br />

4) Previous record <strong>of</strong> current patient: If the patient’s<br />

basic information repeats, then case frames <strong>of</strong> entire<br />

previous records are considered as discourse. All<br />

previous dialog conversations are uploaded with<br />

very high discourse frequency.<br />

If any disease matches with one <strong>of</strong> above criteria, the<br />

frequency will be medium. If it matches with two criteria,<br />

frequency will be high. If match with three criteria the<br />

discourse frequency will be very high.<br />

2) Dialog Matching: First the DMM manager compares<br />

the patients symptoms and causes with all the<br />

symptoms and causes <strong>of</strong> discourse memory. If the symptom<br />

does not match it searches in ground memory with<br />

the help <strong>of</strong> GMM manager. It selects all <strong>of</strong> them as<br />

a candidate disease and sends all these case frames to<br />

dialog manager. DM calculates the highest probability<br />

between these diseases with a probability function. This<br />

function will be discussed in DM section. Depending on<br />

the probabilities, DM requests the responses from DMM.<br />

3) Response Generator: In our TLCN-DP architecture,<br />

we have incorporated a response module to help patients<br />

to find the goal disease. The dialog manager analyzes<br />

the result and selects the type <strong>of</strong> system response. DMM<br />

manager provides case frames for responses to the language<br />

generator. The system responses are divided in<br />

three types: 1) response before disease identification, 2)<br />

after disease identification and 3) failed to identify.<br />

1) Response before disease identification: in this type<br />

<strong>of</strong> response, first it considers the symptom and<br />

the causes <strong>of</strong> two diseases which have the highest<br />

probability between selected diseases. Find the dissimilarities<br />

<strong>of</strong> symptoms and causes between them.<br />

Response module then generates case frames for<br />

these. After 10 conversations it select case frames<br />

for pharmaceutical tests (if any test exists in the<br />

selected diseases).


44 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

2) After Disease Identification: once the disease has<br />

been identified, the dialog manager provides case<br />

frames for treatment including medicines, effects,<br />

and preventions for the specific disease to the<br />

language generator. It can also provide more case<br />

frames for details <strong>of</strong> this disease according to the<br />

patient request.<br />

3) Failed to identify: if the dialog manager does not<br />

obtain any information about any diseases within 3<br />

conversations and does not match more than 75%<br />

<strong>of</strong> the important symptoms and causes, it generates<br />

a failure notification.<br />

D. Episodic Memory Module (EMM)<br />

EMM receives input from the user and provides output<br />

to the user. The input processor receives the input text<br />

dialog and understands meaning. Episodic memory stores<br />

the meaning <strong>of</strong> the ongoing segment <strong>of</strong> utterances. As<br />

understanding proceeds, the essence <strong>of</strong> episodic memory<br />

assimilated into discourse memory and the essence <strong>of</strong><br />

discourse memory assimilated into ground memory. The<br />

same way the output processor receives case frames from<br />

DMM manager and generates the appropriate natural<br />

language text for user. To understand the dialog the<br />

input processor uses some modules like text normalization<br />

unit, converter for case structure and semantic classifier.<br />

Episodic memory contains all the linguistic information<br />

and the recent conversation with the current user. EMM<br />

manager includes the entire previous dialog and responses<br />

with the case structure <strong>of</strong> the new dialog and classifies<br />

it in the pre-defined classes. It sends these classified<br />

case structures to the discourse memory module. Episodic<br />

memory is a temporary memory. It updates only for the<br />

ongoing process requirement. After every conversation<br />

with a user, it refreshes the episodic memory.<br />

1) Components: EMM consists <strong>of</strong> language understanding<br />

module and the language generation module. The<br />

understanding module normalizes the input text and converts<br />

them to a language-neutral meaning representation –<br />

a case frame. Finlay it classifies the case frames and send<br />

them to DMM. After getting the response from DMM, the<br />

language generation module produces the response in text<br />

form. In this section we will discuss four components:<br />

1) text normalization, 2) case frame representation, 3)<br />

classifier and 4) Language generator.<br />

1) Text normalization: this is an essential step for<br />

minimizing ”noise” variations among words and<br />

utterances. The text normalization component is essentially<br />

based on using synonyms and other forms<br />

<strong>of</strong> syntactic normalization. The main normalization<br />

factors include stemming using a synonyms dictionary,<br />

removal <strong>of</strong> confusions, non-alphanumeric and<br />

non-white space characters.<br />

2) Case frame representation: it generate the case<br />

frames using the same case frame model discussed<br />

in GMM section.<br />

3) Classifier: in TLCN-DP the nodes are classified in 9<br />

properties: 1) Disease, 2) Symptom, 3) Environment<br />

© 2010 ACADEMY PUBLISHER<br />

Cause, 4) Physical Cause, 5) Other Cause, 6) Tests,<br />

7) Treatment & Medicine, 8) Future Effect and 9)<br />

Prevention.<br />

Disease is the head node. All the other nodes are<br />

related disease. Fig. 7 explains symptom and cause<br />

used to find the goal disease. Then pharmaceutical<br />

Figure 7. Relationship <strong>of</strong> knowledge<br />

tests confirm the disease (if any tests exist). After<br />

that, the TLCN-DP will be able to provide detailed<br />

information to the patient including treatment,<br />

medicine, effect, carefulness and prevention.<br />

If any utterance from patient’s dialog contains any<br />

data related to the body then it will be classified<br />

as symptom class. If any utterance contains any<br />

data about treatment or medicine then it will be<br />

classified as treatment class. If any utterance contains<br />

any data about test then it will be classified as<br />

test class. Otherwise it will be classified as cause<br />

oriented. Classifier sends the classified utterances to<br />

the DMM manager.<br />

4) Language Generator: It organizes the sentences by<br />

using the parts <strong>of</strong> speech and following grammatical<br />

rules from the response case frames, and generates<br />

the natural language output text to the user.<br />

IV. NEURAL NETWORK<br />

Natural language has traditionally been handled using<br />

symbolic computation and recursive processes. The most<br />

successful stochastic language models have been based<br />

on finite-state descriptions such as n-grams or hidden<br />

Markov models. However, finite-state models cannot represent<br />

hierarchical structures as found in natural language.<br />

In the past few years several RNN architectures have<br />

emerged which have been used for grammatical inference.<br />

RNNs have been used for several smaller natural language<br />

problems. Neural network models have been shown to be<br />

able to account for a variety <strong>of</strong> phenomena in phonology,<br />

morphology and role assignment. It has been shown<br />

that RNNs have the representational power required for<br />

hierarchical solutions, and that they are Turing equivalent.<br />

The Elman RNNs investigated in this paper to classify<br />

diseases.<br />

A. Recurrent Neural Network<br />

Recurrent Neural Network is a class <strong>of</strong> neural network<br />

where connections between units form a directed cycle.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 45<br />

This creates an internal state <strong>of</strong> the network which allows<br />

it to exhibit dynamic temporal behavior. RNN have<br />

feedback connections and address the temporal relationship<br />

<strong>of</strong> inputs by maintaining internal states that have<br />

memory. RNN are networks with one or more feedback<br />

connection. A feedback connection is used to pass output<br />

<strong>of</strong> a neuron in a certain layer to the previous layer(s).<br />

The different between NLP and RNN is RNN have feedforward<br />

connection for all neurons (fully connection).<br />

Therefore, the connections allow the network show the<br />

dynamic behavior.<br />

B. Elman Recurrent Neural Network<br />

Elman Recurrent Neural Network: A recurrent network<br />

with feedback from each hidden node to all hidden nodes.<br />

When training the Elman network back propagationthrough-time<br />

is used rather than the truncated version used<br />

by Elman, i.e. in this paper Elman network refers to the<br />

architecture used by Elman but not the training algorithm.<br />

Back-propagation-through-time has been used to train the<br />

recurrent networks.<br />

V. CLASSIFIER<br />

Recurrent Neural Network Classifier is used to identify<br />

the probability <strong>of</strong> each disease. The inputs <strong>of</strong> this<br />

classifier are the indexes <strong>of</strong> classified case structures. As<br />

we mentioned before, each disease is a combination <strong>of</strong><br />

some specific classes (symptom, cause etc.), each class is<br />

a combination <strong>of</strong> some case frames and each case frame<br />

is a combination <strong>of</strong> some case structures. All <strong>of</strong> these<br />

elements are indexed in advance.<br />

A. Architecture<br />

In our proposal we used an Extended Elman RNN<br />

for classification. According to the experiment <strong>of</strong> Pollack<br />

[3] and Lawrence-Giles-Fongs [4], Elman RNN classifier<br />

provides better performance for Natural Language Processing.<br />

Our classifier is using four word inputs, 7 hidden<br />

nodes. We did experiment with varying the number <strong>of</strong><br />

hidden nodes and found optimal performance for 7 hidden<br />

nodes considering time and accuracy. The quadratic cost<br />

function, the learning rate schedules are shown below. An<br />

initial learning rate <strong>of</strong> 0.2 and we use the random weight<br />

initialization strategy. The Recurrent Network we used for<br />

this application is depicted in Fig. 8. Where S indicates<br />

Symptom, EC indicates Environment Cause, PC indicates<br />

Physical Cause, OC indicates Other Cause, T indicates<br />

Tests, H indicates Hidden node, D indicates Disease and<br />

NI indicates Not Identified.<br />

1) Target Output: Target outputs were 0.1 and 0.9<br />

using the logistic activation function. This helps<br />

avoid saturating the sigmoid function.<br />

2) Weight Initialization: Random weights are initialized<br />

with the goal <strong>of</strong> ensuring that the sigmoid do<br />

not start out in saturation but are not very small<br />

(corresponding to a flat part <strong>of</strong> the error surface).<br />

In addition, several (20) sets <strong>of</strong> random weights<br />

© 2010 ACADEMY PUBLISHER<br />

Figure 8. Disease Classifier<br />

are tested and the set which provides the best<br />

performance on the training data is chosen. In our<br />

experiments on the current problem, it was found<br />

that these techniques do not make a significant<br />

difference.<br />

3) Learning rate schedule:We used the learning rate<br />

scheduled by LAWRENCE [4] that was first proposed<br />

by Darken and Moody [46].<br />

4) Activation Function: Symmetric sigmoid functions<br />

<strong>of</strong>ten improve convergence over the standard logistic<br />

function. For our particular problem we found<br />

that the difference was minor and that the logistic<br />

function resulted in better performance.<br />

5) Cost Function: The relative entropy cost function<br />

has received particular attention and has a natural<br />

interpretation in terms <strong>of</strong> learning probabilities.<br />

We investigated using both quadratic and relative<br />

entropy cost functions.<br />

E = 1<br />

2<br />

�<br />

(yk − dk) 2<br />

k<br />

(1)<br />

E = �<br />

[<br />

k<br />

1 1 + yk<br />

(1+yk)log +<br />

2 1 + dk<br />

1 1 − yk<br />

(1−yk)log ]<br />

2 1 − dk<br />

(2)<br />

Where y and d correspond to the actual and desired<br />

output values, k ranges over the outputs. We found<br />

the quadratic cost function to provide better performance.<br />

A possible reason for this is that the use<br />

<strong>of</strong> the entropy cost function leads to an increased<br />

variance <strong>of</strong> weight updates and therefore decreased<br />

robustness in parameter updating.<br />

6) Sectioning <strong>of</strong> the Training Data: We investigated<br />

dividing the training data into subsets. Initially, only<br />

one <strong>of</strong> these subsets was used for training. After<br />

100% correct classification was obtained or a prespecified<br />

time limit expired, an additional subset<br />

was added to the working set. This continued until<br />

the working set contained the entire training set.<br />

The data was ordered in terms <strong>of</strong> sentence length<br />

with the shortest sentences first. This enabled the


46 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

networks to focus on the simpler data first. Elman<br />

suggests that the initial training constrains later<br />

training in a useful way.<br />

B. Training and evaluation <strong>of</strong> RNN<br />

For each disease, we used different RNN. Each <strong>of</strong><br />

these networks is trained by positive and same number<br />

<strong>of</strong> random negative set <strong>of</strong> index. Positive set <strong>of</strong> index<br />

denotes its own disease case frames where negative set<br />

<strong>of</strong> indexes denote all other case frames that are not the<br />

member <strong>of</strong> this disease. These case frames are already<br />

discussed in ground memory module section. We were<br />

able to train an RNN up to 100% correct classification<br />

on the training data. Generalization on disease identification<br />

resulted in 89% correct classification on average.<br />

This is better than the performance obtained form other<br />

researches. A possible reason for this is that there are<br />

similarities between input dialog and trained dialog that<br />

means the set <strong>of</strong> index <strong>of</strong> input dialogs and the set <strong>of</strong><br />

index <strong>of</strong> disease information. The output range <strong>of</strong> this<br />

classifier is from 0.9 to 0.1.<br />

C. Simulation Details<br />

The network contained three layers including the input<br />

layer. The hidden layer contained 7 nodes. Each hidden<br />

layer node had a recurrent connection to all other hidden<br />

layer nodes. All inputs and outputs were within the range<br />

zero to one. Bias inputs were used. The best <strong>of</strong> 50 random<br />

weight sets was chosen based on training set performance.<br />

Targets outputs were 0.1 and 0.9 using the logistic output<br />

activation function. The quadratic cost function was used.<br />

The search then converge learning rate schedule used was<br />

Equ.(3)<br />

Where<br />

η =<br />

n<br />

N/2 +<br />

η0<br />

c1 �<br />

max(0,c<br />

max 1,(c1− 1 (n−c2N)) (1−c2 )<br />

η = learningrate<br />

η0 = initiallearningrate = 0.2<br />

N = totaltreaningepochs<br />

n = currenttrainingepoch<br />

Cl = 50, c2 = 0.65<br />

The training set consisted <strong>of</strong> 220 normalized sentences<br />

for each disease. The number <strong>of</strong> disease were 30.<br />

D. Dialog Manager<br />

Dialog manager is a controller for this system. It<br />

maintains the data flow between memory modules. Also it<br />

calculates the RNN classifier. After classification it selects<br />

the disease and system response.<br />

Pseudo code for Disease Selection:<br />

1.Select diseases for: Patients symptoms<br />

or causes = Disease(n)s symptoms<br />

© 2010 ACADEMY PUBLISHER<br />

�<br />

(3)<br />

or causes.<br />

if not found then Goto GMM Manager.<br />

Select diseases for: Patients symptoms<br />

or causes=Disease(n)s<br />

symptoms or causes.<br />

if found then upload the disease &<br />

goto DMM.<br />

Else Generate "Not found" response.<br />

2.if number <strong>of</strong> request dialog < 15<br />

then<br />

if (MAX(f(input dialog)/f(n))


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 47<br />

A. PERFORMANCE EVALUATION<br />

Evaluation <strong>of</strong> dialog system performance is a complex<br />

task and depends on the purpose <strong>of</strong> the desired dialog<br />

metric. We have trained our system with mostly common<br />

30 diseases from [42], [43], [44] where 11 are mainly<br />

related with age, 10 are related with season and the other<br />

<strong>of</strong> 9 diseases are related with food, accident, habitual,<br />

health condition and location. The real doctor-patient<br />

dialog conversation is collected for this evaluation. The<br />

dialogues have been collected from various books on<br />

medical interviews and some frequently asked questionsanswering<br />

medical web links. The entire information and<br />

output was verified by a pr<strong>of</strong>essional doctor. 85 patients<br />

dialogs were simulated with this system prototype where<br />

10 patients were tested 3 times and 15 patients 2 times<br />

and 25 patients only once. Table II presents the existing<br />

disease identification accuracy with the number <strong>of</strong> dialog<br />

conversation. According to the result analysis table; we<br />

found that the system achieved a very satisfactory result<br />

for 10 to 20 diseases. For 15 diseases we found 79% accuracy<br />

<strong>of</strong> disease identification. For less than 10 diseases the<br />

system can identify with very few dialog conversations.<br />

82% accuracy achieved only for 7 utterances. Before<br />

utilizing RNN we implemented another system where we<br />

used a comparatively simple probability function. More<br />

than 10% overall accuracy gained from that system. The<br />

result <strong>of</strong> previous system is depicted in table III. We did<br />

not verify more than 20 diseases because the performance<br />

was already not satisfactory for 20 diseases.<br />

TABLE II.<br />

DISEASE IDENTIFICATION EVALUATION<br />

Utterances<br />

Diseases 5 7 9 11 13 15<br />

10 57% 82% 83% 83% 84% 84%<br />

15 35% 60% 78% 78% 79% 79%<br />

20 19% 41% 59% 66% 67% 68%<br />

25 14% 37% 51% 53% 55% 56%<br />

30 10% 23% 33% 42% 48% 48%<br />

TABLE III.<br />

PREVIOUS SYSTEM EVALUATION<br />

Utterances<br />

Diseases 7 9 11 13 15<br />

10 56% 59% 62% 64% 66%<br />

15 49% 55% 58% 60% 63%<br />

20 46% 50% 53% 57% 61%<br />

VII. CONCLUSION<br />

The main underlying strategy is to adopt Elman RNN<br />

with Three Layer Conceptual Network. Uses <strong>of</strong> extended<br />

case frame, dialog matching algorithm, disease identification<br />

algorithm and response generation criteria are also<br />

presented. In addition <strong>of</strong> these fundamental strategies,<br />

we discussed the characteristic <strong>of</strong> Elman RNN with our<br />

system. Finally we presented a comparative study with<br />

our previous system.<br />

© 2010 ACADEMY PUBLISHER<br />

Still, there are lots <strong>of</strong> scopes to improve in neural<br />

network application. We are looking for some scope to<br />

implement TLCN using efficient neural network. Adopting<br />

some module, it might be possible to train this system<br />

by the real time conversation <strong>of</strong> a doctor and patient. And<br />

in future we plan to use voice dialog rather then text<br />

dialog.<br />

This is only the beginning <strong>of</strong> Neural Network with<br />

Three Layer Conceptual Network. Our goal is to make<br />

human-computer successful interaction. We strongly believe<br />

this research is a new breed <strong>of</strong> handshaking between<br />

TLCN and neural network.<br />

ACKNOWLEDGMENT<br />

We thank Hirosato Nomura for numerous discussions<br />

concerning this work, Teigo Nakamura and Manuel Medina<br />

González for their assistance and the reviewers for<br />

their detailed comments.<br />

REFERENCES<br />

[1] J. L. Elman, “Distributed representations, simple recurrent<br />

networks, and grammatical structure,” Machine Learning,<br />

no. 7, pp. 195–226, 1991.<br />

[2] ——, “Finding structure time,” Cognitive Science, vol. 14,<br />

pp. 179–211, 1990.<br />

[3] J. B. Pollack, “Recursive distributed representations,” Artificial<br />

Intelligence, vol. 46, pp. 77–105, 1990.<br />

[4] S. Lawrence, C. L. Giles, and S. Fong, “Natural language<br />

grammatical inference with recurrent neural networks,”<br />

IEEE Transactions on Knowledge and Data Engineering,<br />

vol. 12, pp. 126–140, 2000.<br />

[5] M. Towsey, J. Diederich, I. Schellhammer, S. Chalup, and<br />

C. Brugman, “Natural language learning by recurrent neural<br />

networks: a comparison with probabilistic approaches,”<br />

pp. 3–10, 1998.<br />

[6] A. Graves, N. Beringer, and J. Schmidhuber, “A comparison<br />

between spiking and differentiable recurrent neural<br />

networks on spoken digit recognition.”<br />

[7] D. Chen, G. Z. Sun, H. H. Chen, and Y. C. Lee, “Extracting<br />

and learning an unknown grammar with recurrent neural<br />

networks,” Advance in neural Information Processing Syatem,<br />

1992.<br />

[8] R. J. Williams and J. Peng, “An efficient gradient–based<br />

algorithm for on–line training <strong>of</strong> recurrent network trajectories,”<br />

Neural Computation, vol. 2, no. 4, pp. 490–501,<br />

1990.<br />

[9] G. Scheler and T. Munchen, “With raised eyebrows or the<br />

eyebrows raised? a neural network approach to grammar<br />

checking for definiteness,” pp. 160–170, 1996.<br />

[10] C. Fabrizio, F. Paolo, L. Vincenzo, and S. Giovanni,<br />

“Towards incremental parsing <strong>of</strong> natural language using<br />

recursive neural networks,” Towards Incremental Parsing<br />

<strong>of</strong> Natural Language using Recursive Neural Networks, p.<br />

Paginated, 2002.<br />

[11] Y. Li and J. G. Harris, “A spiking recurrent neural network,”<br />

VLSI, IEEE Computer Society Annual Symposium<br />

on, p. 321, 2004.<br />

[12] S. C. Kwasny, S. Johnson, and B. L. Kalman, “Recurrent<br />

natural language parsing 1.”<br />

[13] R. Miikkulainen, “Natural language processing with subsymbolic<br />

neural networks,” pp. 120–139, 1997.<br />

[14] M. H. Christiansen and N. Chater, “Natural language<br />

recursion and recurrent neural networks,” 1994.


48 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

[15] S. Wermter and V. Weber, “Screen: Learning a flat syntactic<br />

and semantic spoken language analysis using artificial<br />

neural networks,” <strong>Journal</strong> <strong>of</strong> Artificial Intelligence<br />

Research, vol. 6, pp. 35–85, 1997.<br />

[16] R. M. Khalilur and E. Tsutomu, “Three Layer Conceptual<br />

Network Dialog Processor,” in The Twelfth IASTED International<br />

Conference on AI and S<strong>of</strong>t Computing, 2008, pp.<br />

92–97.<br />

[17] H. Nomura, “Modeling and representative framework for<br />

linguistic and non-linguistic knowledge in natural language<br />

understanding,” in Germany-Japan Science Seminar, 1986,<br />

pp. 1–10.<br />

[18] M. A. Walker, “Evaluating discourse processing algorithms,”<br />

in Proceedings <strong>of</strong> the ACL, 1989.<br />

[19] H. Nomura, “Experimental machine translation systems<br />

lute,” in Second Joint European-Japanese Workshop on<br />

Machine Translation, 1985, pp. 1–2.<br />

[20] D. Marcu and A. Echihabi, “An unsupervised approach<br />

to recognizing discourse relations,” in The 40th Annual<br />

Meeting <strong>of</strong> the Association for Computational Linguistics,<br />

July 2002, pp. 368–375.<br />

[21] E. Tulving and F. I. M. Craik, “The oxford handbook <strong>of</strong><br />

memory.”<br />

[22] T. K. Landauer, “How much do people remember? some<br />

estimates <strong>of</strong> the quantity <strong>of</strong> learned information in longterm<br />

memory.” Cognitive Science, vol. 10, pp. 477–493,<br />

1986.<br />

[23] R. L. Buckner, “Beyond hera: Contributions <strong>of</strong> specific<br />

prefrontal brain areas to long-term memory retrieval.”<br />

Psychonomic Bulletin and Review, vol. 3, pp. 149–158,<br />

1996.<br />

[24] B. Bruce, “Case systems for natural language,” Artificial<br />

Intelligence, vol. 6, no. 4, pp. 327–360, 1975.<br />

[25] A. Shimazu, S. Naito, and H. Nomura, “Japanese language<br />

semantic analyzer based on an extended case frame<br />

model,” in International Joint Conference on Artificial<br />

Intelligence, 1983, pp. 717–720.<br />

[26] S. Tsumoto, “Automated extraction <strong>of</strong> medical expert<br />

system rules from clinical databases based on rough set<br />

theory.” Information Sciences, p. 112, 1998.<br />

[27] J. H. Frenster, “Expert systems and open systems in<br />

medical artificial intelligence.” Am Assoc Medical Systems<br />

and Informatics, vol. 7, pp. 118–120, 1989.<br />

[28] F. Shahbaz, F. Maqbool, S. Razzaq, K. Irfan, and T. Zia,<br />

“The role <strong>of</strong> medical expert systems in pakistan.” World<br />

academy <strong>of</strong> science engineering and technology, vol. 27,<br />

2008.<br />

[29] Y.-S. Lee, D. J. Sinder, and C. J. Weinstein, “Interlinguabased<br />

english-korean two-way speech translation <strong>of</strong><br />

doctor-patient dialogues with cclinc,” Machine Translation,<br />

vol. 17, pp. 213–243, 2002.<br />

[30] J. F. Allen, D. K. Byron, M. Dzikovska, G. Ferguson,<br />

L. Galescu, and A. Stent, “Conversational humancomputer<br />

interaction,” in IASTED International Conference<br />

on AI and S<strong>of</strong>t Computing, vol. 12, Sept. 2001, pp.<br />

628–802.<br />

[31] M. Kipp, J. Alexandersson, R. Engel, and N. Reithinger,<br />

“Dialog processing,” W. Wahlster (ed.) Verbmobil: Foundations<br />

<strong>of</strong> Speech-to-Speech Translation, pp. 452–465, 2000.<br />

[32] E. Tsutomu and K. Tsuneo, “Cooperative understanding<br />

<strong>of</strong> utterances and gestures in a dialogue-based problem<br />

solving system.” Computational Intelligence, pp. 152–169,<br />

1999.<br />

[33] K. Shimada, Y. Uchida, S. Sato, S. Minewaki, and T. Endo,<br />

“Speech understanding using confidence measures and<br />

dependency relations,” Proc. <strong>of</strong> PACLING2005, pp. 278–<br />

283, 2005.<br />

[34] N. Okada and T. Endo, “Story generation based on dynamics<br />

<strong>of</strong> the mind.” Computational Intelligence, pp. 123–160,<br />

1992.<br />

© 2010 ACADEMY PUBLISHER<br />

[35] K. Shimada, K. Iwashita, and T. Endo, “A case study <strong>of</strong><br />

comparison <strong>of</strong> several methods for corpus-based speech intention<br />

identification,” Proceedings <strong>of</strong> the 10th Conference<br />

<strong>of</strong> the Pacific Association for Computational Linguistics<br />

(PACLING2007), pp. 255–262, 2007.<br />

[36] S. Minewaki, K. Shimada, and T. Endo, “Interpretation <strong>of</strong><br />

utterances based on relevance theory: Toward the formalization<br />

<strong>of</strong> implicature with the maximum relevance,” Proc.<br />

<strong>of</strong> PACLING2005, pp. 214–222, 2005.<br />

[37] A. Graves, N. Beringer, and J. Schmidhuber, “Grammar<br />

learning for spoken language understanding,” Automatic<br />

Speech Recognition and Understanding, pp. 292–295,<br />

2001.<br />

[38] R. E. Schapire and Y. Singer, “Boostexter: A boostingbased<br />

systemfor text categorization,” Machine Learning,<br />

2000.<br />

[39] C. Noam, “Three models for the description <strong>of</strong> language,”<br />

IRE Transactions on Information Theory, p. 113124, 1956.<br />

[40] ——, “On certain formal properties <strong>of</strong> grammars,” Information<br />

and Control, p. 1959, 137-167.<br />

[41] C. Noam, Schtzenberger, and M. P., “The algebraic theory<br />

<strong>of</strong> context free languages,” Computer Programming and<br />

Formal Languages. Amsterdam: North Holland, pp. 118–<br />

161, 1963.<br />

[42] “http://www.netdoctor.co.uk/,” Weblink, Online Medical<br />

Solution.<br />

[43] “http://www.doctoronline.nhs.uk/ver02/index.asp,”<br />

Weblink, Online Doctor.<br />

[44] “http://www.nzdoctor.co.nz/default.aspx,” Weblink, online<br />

Medical Solution.<br />

[45] R. M. Khalilur and E. Tsutomu, “Recurrent neural network<br />

classifier for three layer conceptual network and performance<br />

evaluation,” in 11th International Conference on<br />

Computer and Information Technology, 2008, pp. 747–<br />

752.<br />

[46] D. C. and M. J., “Note on learning rate schedules for<br />

stochastic optimization,” In Neural Information Processing<br />

Systems, vol. 3, pp. 832–838, 1991.<br />

Md. Khalilur Rhaman received his Dr.Eng. degree from<br />

Kyushu Institute <strong>of</strong> Technology in 2009, Japan and B.Sc.<br />

and M.Sc. degrees from Institute <strong>of</strong> Science and Technology,<br />

National University, Bangladesh, in 1997 and 1998, respectively.<br />

Currently he is an Assistant Pr<strong>of</strong>essor <strong>of</strong> Department <strong>of</strong> Computer<br />

Science and Engineering, BRAC University, Bangladesh.<br />

In 2002, he joined Uttara University,Bangladesh, where he held<br />

the position <strong>of</strong> Lecturer <strong>of</strong> Department <strong>of</strong> Computer Science<br />

and Engineering. His research interests include Natural Language<br />

Processing, Neural Network, Image Processing and Data<br />

Mining.<br />

Tsutomu Endo received the B.Eng., M.Eng., and Dr.Eng.<br />

degrees from Kyushu University in 1972, 1974, and 1979<br />

respectively.<br />

Currently, he is a Pr<strong>of</strong>essor <strong>of</strong> the Department <strong>of</strong> Artificial<br />

Intelligence, Kyushu Institute <strong>of</strong> Technology. His research interests<br />

include natural language understanding, computer vision<br />

and multimodal interface. He is a member <strong>of</strong> the IPSJ, JSAI,<br />

JSSST, RSJ and ANLP.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 49<br />

An Enhanced Short Text Compression Scheme<br />

for Smart Devices<br />

Md. Rafiqul Islam<br />

Computer Science and Engineering Discipline, Khulna University, Khulna, Bangladesh.<br />

Email: dmri1978@yahoo.com<br />

S. A. Ahsan Rajon<br />

Computer Science and Engineering Discipline, Khulna University, Khulna, Bangladesh.<br />

Email: ahsan.rajon@gmail.com<br />

Abstract — Short Text Compression is a great concern<br />

for data engineering and management. The rapid use <strong>of</strong><br />

small devices especially, mobile phones and wireless sensors<br />

have turned short text compression into a demand-<strong>of</strong>-thetime.<br />

In this paper, we propose an approach <strong>of</strong> compressing<br />

short English text for smart devices. The prime objective <strong>of</strong><br />

this proposed technique is to establish a low-complexity<br />

lossless compression scheme suitable for smart devices like<br />

cellular phones and PDAs (Personal Digital Assistants)<br />

having small memory and relatively low processing speed.<br />

The main target is to compress short messages up to an<br />

optimal level, which requires optimal space, consumes less<br />

time and low overhead. Here a new static-statistical context<br />

model has been proposed to obtain the compression. We use<br />

character masking with space integration, syllable based<br />

dictionary matching and static coding in hierarchical steps<br />

to achieve low complexity lossless compression <strong>of</strong> short<br />

English text for low-powered electronic devices. We also<br />

propose an efficient probabilistic distribution based<br />

content-ranking scheme for training the statistical model.<br />

We analyze the performance <strong>of</strong> the proposed scheme as well<br />

as the other similar existing schemes with respect to<br />

compression ratio, computational complexity and<br />

compression-decompression time. The analysis shows that,<br />

the required number <strong>of</strong> operations for the proposed scheme<br />

is less than that <strong>of</strong> other existing systems. The experimental<br />

results <strong>of</strong> the implemented model give better compression<br />

for small text files using optimum resources. The obtained<br />

compression ratio indicates a satisfactory performance in<br />

terms <strong>of</strong> compression parameters including better<br />

compression ratio, lower compression and decompression<br />

time with reduced memory requirements and lower<br />

complexity. The compression time is also lower because <strong>of</strong><br />

computational simplicity. In overall analysis, the simplicity<br />

<strong>of</strong> computational requirement encompasses the compression<br />

effective and efficient.<br />

Index Terms — Short Text Compression, Syllable,<br />

Statistical Model, Text-ranking, Static Coding, Smart<br />

Devices.<br />

I. INTRODUCTION<br />

Twenty-First century is the age <strong>of</strong> information and<br />

communication technology. Science through its<br />

Contact Author: S. A. Ahsan Rajon<br />

E-Mail: ahsan.rajon@gmail.com<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.49-58<br />

marvelous achievements has converted this world into<br />

information and communication based global village.<br />

The prime aspect <strong>of</strong> present technology is to ensure a<br />

better way <strong>of</strong> communication throughout the world in a<br />

more convenient, easy and cost-effective way. With the<br />

aspects <strong>of</strong> cost, facility and reliability a new trend <strong>of</strong><br />

introducing small sized devices with some sorts <strong>of</strong><br />

computing and communicating power have established<br />

its place in the arena <strong>of</strong> research. With the voyage <strong>of</strong><br />

introducing smart devices, the challenge <strong>of</strong> adorning<br />

them with greater and effective use has come into<br />

question. It is now a great concern to embed maximum<br />

applications within these smart devices where it is an<br />

extreme problem to provide a low-complex and lowmemory<br />

consuming version for smart devices <strong>of</strong> some<br />

prime necessary applications like data compression,<br />

which generally requires large memory and greater<br />

processing speed. Mobile communication that is a great<br />

gift <strong>of</strong> modern technology introducing the era <strong>of</strong> digital<br />

communication also suffers from the same limitation.<br />

Though crossing the boundary <strong>of</strong> voice communication,<br />

short messages communication has established its robust<br />

place in the arena <strong>of</strong> digital communication, Short<br />

Message Service (SMS) providers (usually<br />

Telecommunication Companies) have a constraint that<br />

each message should be not more than <strong>of</strong> 160 characters.<br />

This constraint is really a great limitation for frequent<br />

communication using SMS. In order to overcome this<br />

limitation, compression <strong>of</strong> the short message is a well<br />

policy. That is why; our aim is to make “short” messages<br />

“shorter”, expressing “larger” feelings in “smaller”<br />

expenses.<br />

Here we introduce a scheme <strong>of</strong> compressing short<br />

English text for smart devices like cellular phones and<br />

wireless sensors having small memory and relatively low<br />

processing speed communicating with lower bandwidth<br />

i.e. channel capacity. We have employed a new statistical<br />

model with a novel approach <strong>of</strong> integrating text ranking<br />

or component categorization scheme for building the<br />

model. Modified syllable based dictionary matching and<br />

static coding is used to obtain the compression.<br />

Moreover, we have employed a new theoretical concept


50 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

<strong>of</strong> choosing the multi-grams, which has facilitated us to<br />

obtain mentionable compression ratio using a small<br />

number <strong>of</strong> knowledgebase entries than other methods,<br />

consuming less resource. Besides <strong>of</strong> experimental results<br />

we have provided a comprehensive theoretical analysis<br />

<strong>of</strong> compression ratio <strong>of</strong> proposed scheme with similar<br />

existing scheme.<br />

II. RELATED LITERATURE<br />

Though a number <strong>of</strong> researches have been performed<br />

regarding large-scale data compression, in the specific<br />

field <strong>of</strong> short text compression, the number <strong>of</strong> available<br />

research work is small. Business issue <strong>of</strong> mobile phone<br />

service providers may be indicated as a reason behind the<br />

unavailability <strong>of</strong> research material. The following<br />

sections give a glimpse <strong>of</strong> the most recent research<br />

developments on short text compression issues for small<br />

devices.<br />

A. Compression <strong>of</strong> Short Text on Embedded Systems<br />

The recent literature regarding short text compression<br />

titled “Compression <strong>of</strong> Short Text on Embedded<br />

Systems” by Rein et al. [1] proposes a low-complexity<br />

version <strong>of</strong> PPM (Prediction by Partial Matching). A hash<br />

table technique with one-at-a-time hash function is<br />

employed in this method to design the data structure for<br />

data and context model. They use statistical models with<br />

hash table lengths <strong>of</strong> 16384, 32768, 65536 and 131072<br />

elements requiring two bytes for each element, which<br />

result an allocation <strong>of</strong> 32, 64, 128 and 256 Kbytes <strong>of</strong><br />

RAM respectively. If this memory requirement may be<br />

substantially decreased, we may achieve more efficient<br />

compression and hence may make the scheme usable to<br />

even very low-quality cellular phones. Another<br />

concerned approach by Rein et al. is “Low Complexity<br />

Compression <strong>of</strong> Short Message” [2] with Low Complex<br />

and Power Efficient Text Compressor for Cellular and<br />

Sensor Networks [3] are variations <strong>of</strong> [1].<br />

B. Compression <strong>of</strong> Small Text Files Using Syllables<br />

“Compression <strong>of</strong> Small Text Files Using Syllables”<br />

proposed by Lansky et al. [4, 5] concerns on<br />

compressing small text files using syllables. To<br />

implement their concept they created database <strong>of</strong><br />

frequent syllables. Here, condition for adding syllable to<br />

database is that, its frequency is greater than 1:65000. In<br />

this scheme, the primary knowledge-base size is more<br />

than 4000 entries initially. For low memory devices, it is<br />

obviously difficult to afford this amount <strong>of</strong> storage as<br />

well as to facilitate a well suited mechanism <strong>of</strong> searching;<br />

which leads our proposed scheme to redefine the<br />

knowledge-base span as short as possible and hence to<br />

reduce the scope <strong>of</strong> loosely choosing the syllables or ngrams.<br />

Moreover, in formation <strong>of</strong> the syllables, space is<br />

not considered with any special concern. But, as in any<br />

text document, it is a common assumption that, at least<br />

20% <strong>of</strong> the total characters may be spaces, it may be a<br />

© 2010 ACADEMY PUBLISHER<br />

good idea to have specific consideration <strong>of</strong> syllable<br />

involving spaces. In [4, 5], all the training syllable entries<br />

are stored without any categorization. This <strong>of</strong>ten results<br />

for coding redundancy, which can be handled by<br />

integrating text ranking or component categorization<br />

scheme with syllable selection.<br />

C. Modified Greedy Sequential Grammar Transform<br />

based Lossless data Compression<br />

The model proposed by M. R. Islam et al. [6] uses the<br />

advantages <strong>of</strong> greedy sequential grammar transform with<br />

block sorting to compress data. However, this scheme is<br />

highly expensive in terms <strong>of</strong> memory consumption and<br />

thus not suitable for low memory devices.<br />

D. Two-Level Directory Based Compression<br />

Dictionary based text compression techniques are an<br />

important and mostly adapted data compression schemes.<br />

A dictionary based text preprocessing scheme titled<br />

TWRT (Two-level Word Replacing Transformation) has<br />

been proposed by P. Skibinski [7]. They use several<br />

dictionaries and divide files into various kinds, which<br />

improve the compression performance.<br />

TWRT can use up to two dictionaries, which are<br />

dynamically selected before the actual preprocessing<br />

starts. For some types <strong>of</strong> data like programming<br />

languages, references etc. first level dictionaries (small<br />

dictionaries) are specified whereas second level<br />

dictionaries (large dictionaries) are specific for natural<br />

languages (e.g., English, Russian, French). While<br />

concerned with any source text, if no appropriate first<br />

level dictionary is found, then it is not used. Selection <strong>of</strong><br />

the second level dictionary is analogous. When TWRT<br />

has selected only the one (the first or the second level)<br />

dictionary, it works like WRT (Word Replacing<br />

Transformation) [7]. If TWRT has selected both the<br />

first and the second level dictionaries, then the<br />

second level dictionary is appended after the first<br />

level dictionary. That is, the dictionaries are<br />

automatically merged. If the same word exists in the first<br />

and the second level dictionaries, then the second<br />

appearance <strong>of</strong> word is ignored to minimize length <strong>of</strong><br />

code-words. Only the names <strong>of</strong> the dictionaries are<br />

written in the output file, so the decoder can use<br />

the same combination <strong>of</strong> the dictionaries.<br />

TWRT preprocesses the input file step by step with all<br />

dictionaries and finally to choose the smallest output file.<br />

Nevertheless, this idea is very slow. They propose to<br />

read only the first f (e.g., 250) words from each <strong>of</strong> n<br />

dictionaries (small and large) and create one joined<br />

dictionary which is completely impossible to afford for<br />

low-memory devices. If there are same words in different<br />

dictionaries, then all occurrences <strong>of</strong> this words are<br />

skipped which is too an extremely infeasible technique<br />

for smart device platform-aware compression. The main<br />

problem for TWRT is selection <strong>of</strong> the dictionaries before<br />

preprocessing, which hampers the processing time for<br />

concerned devices [3]. Moreover the dictionary length is


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 51<br />

too huge to be used for small memory devices. For small<br />

text compression it is also not feasible and to some extent<br />

efficient to have field-specific dictionary. Above all,<br />

being the code words are determined on the fly, it is great<br />

doubt to cope with the memory and energy constraints as<br />

well as time consumptions <strong>of</strong> the low-memory devices.<br />

E. Other Schemes<br />

H. Kruse and A. Mukherjee [8, 9] proposed a<br />

dictionary based compression scheme named star<br />

encoding. According to this scheme, words are replaced<br />

with sequence <strong>of</strong> * symbol accompanied with reference<br />

to an external dictionary. The dictionary is arranged<br />

according to the length <strong>of</strong> words and is known to both<br />

sender and receiver. Proper sub-dictionary is selected by<br />

the length <strong>of</strong> the sequence <strong>of</strong> * symbols. Length Index<br />

Preserving Transformation (LIPT) is a variation <strong>of</strong> the<br />

star encoding by the same authors. This algorithm<br />

improves the PPM, BWCA and LZ based compression<br />

schemes [9]. Another related literature known StarNT<br />

works with ternary search tree and is faster than the<br />

previous. The first 312 words <strong>of</strong> the dictionary are the<br />

most frequently used words <strong>of</strong> the English language. The<br />

remaining part <strong>of</strong> the dictionary is filled up by words<br />

sorted by their lengths first and then by their frequencies.<br />

This scheme also does not take the use <strong>of</strong> substring<br />

weighting approach. Moreover, the scheme requires that,<br />

the dictionary should be transmitted first in order to set<br />

up the knowledge-base. It is completely in-feasible to be<br />

used for compressing small texts for low-powered and<br />

small memory devices.<br />

Prediction by partial matching (PPM) is a major<br />

lossless data compression scheme, where each symbol is<br />

coded by taking account <strong>of</strong> the previous symbols [9]. A<br />

context model is employed that gives statistical<br />

information about the symbol with its context. In order to<br />

signal the decoder on the context, specific symbols are<br />

used by the encoder. The model order in PPM is a vital<br />

parameter <strong>of</strong> compression performance. However, PPM<br />

is computationally more complex and the overhead too is<br />

greater [1, 9, 12].<br />

In [1] the compression starts for text sequences larger<br />

than 75 Bytes, and in [10] the starting point is 50 Bytes.<br />

If it is possible to make the lower threshold value into<br />

less than ten characters, the compression may really be a<br />

“very small text file” supported one that may place a new<br />

milestone in very small text file compression ensuring<br />

“short text gets shortest”. Our prime aim is to design<br />

such an effective and efficient “very short text<br />

compression” scheme.<br />

III. SHORT TEXT COMPRESSION FOR SMART DEVICES<br />

The prime concern <strong>of</strong> this paper is to implement a<br />

lossless compression <strong>of</strong> short English text for smart<br />

devices in a low complexity scheme. The idea behind this<br />

is to make it possible to communicate more efficiently by<br />

© 2010 ACADEMY PUBLISHER<br />

making utilization <strong>of</strong> minimum required bandwidth <strong>of</strong><br />

wireless and sensor networks for small and embedded<br />

devices. More precisely saying, the main concern is to<br />

develop a low-complexity compression technique<br />

suitable for low-power consuming smart devices with<br />

small-memory; especially for wireless sensors and<br />

mobile phones. The proposed scheme is concerned with<br />

two parts. The first one consists <strong>of</strong> training the statistical<br />

model and the second provides a compressiondecompression<br />

technique. Specifically, in analyzing step<br />

we count the frequency <strong>of</strong> represent-able ASCII<br />

characters. Then, the proposed scheme proceeds by<br />

identifying the syllables <strong>of</strong> length two, three, four and<br />

five. We consider as a distinct vowel and<br />

include this while counting the frequency <strong>of</strong> syllables,<br />

that is, searches for either at the beginning or<br />

ending <strong>of</strong> syllable. In the step <strong>of</strong> boosting the statistical<br />

model, the substrings (which were not grabbed in the<br />

phase concerning syllables) with length two to five are<br />

considered and the frequency <strong>of</strong> each are counted. In the<br />

second step, we employ the provided text-ranking<br />

scheme for each entry and calculate the entry index. For<br />

entries with same index, we simply sort them. In the<br />

phase <strong>of</strong> choosing entries, emphasis is give on<br />

probability distribution based text ranking, which is<br />

computed with the help <strong>of</strong> its neighbor characteristics.<br />

As in most cases, it is unusual to have frequent match<br />

<strong>of</strong> substrings with length more than four characters,<br />

maximum <strong>of</strong> five (extra one for ) levels has been<br />

considered to train the statistical model. In each level,<br />

multiple entries with same weightage are simply sorted<br />

over. Resultant entries are assigned with non-conflicting<br />

binary stream. When we are to compress any text, the<br />

input text is successively compared with the statistical<br />

model and for any match, the binary stream is returned as<br />

output and for mismatch in any level, the level below it is<br />

forwarded.<br />

The compression and decompression are expected to<br />

be performed in the following manner.<br />

A. Compression Process<br />

In the first step, we plan to employ Modified Multigrams<br />

or syllable matching proposed by Lansky et al. [4,<br />

5]. A static dictionary based compression scheme uses<br />

approximately the same concept as that <strong>of</strong> character<br />

masking. It reads input data and searches for symbols or<br />

groups <strong>of</strong> symbols that are previously coded or indexed<br />

in the dictionary. If a match is found, a pointer or index<br />

into the dictionary can be output instead <strong>of</strong> the code for<br />

the symbol. Compression occurs if the pointers or index<br />

requires lower space (in terms <strong>of</strong> memory usage) than the<br />

corresponding fragments [1, 12, 15]. Though it is the<br />

basic idea behind multi-grams, we use it in a slightly<br />

modified fashion. The Knowledgebase for the multigrams<br />

is constructed with the help <strong>of</strong> the statistics<br />

obtained by analyzing the corpuses.


52 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

In the second step <strong>of</strong> compression process, static<br />

coding has been used. However, here the modification is<br />

made in such a way that, in spite <strong>of</strong> calculating on-stage<br />

codes predefined codes are employed in order to reduce<br />

the space and time complexity. The codes for dictionary<br />

entries are also predefined. The total message is encoded<br />

by a comparatively small number <strong>of</strong> bits and hence, we<br />

get a compressed outcome. The prime fact <strong>of</strong> static<br />

coding is that, in case <strong>of</strong> dynamic coding we are to<br />

calculate the frequencies in an elegant manner.<br />

Moreover, as the dynamic codes are determined and the<br />

lengths are varied through the frequencies <strong>of</strong> the symbols<br />

it is a must to submit the codes along with the<br />

compressed data. This is a limitation <strong>of</strong> dynamic coding<br />

if the total arena <strong>of</strong> compression is low spanned and the<br />

total number <strong>of</strong> symbols is not huge. Compression <strong>of</strong><br />

short message also suffers in this context while using<br />

other similar semi-dynamic coding. Consequently, it<br />

motives to move towards static coding scheme to obtain<br />

compression <strong>of</strong> short messages. For this concerned study,<br />

we have analyzed the corpora- Bib, Book1, Book2,<br />

News, Paper1, Paper2, Paper4 and Paper5 from Calgary<br />

Corpus and Canterbury Corpus [16]. We have also<br />

analyzed 124 collections <strong>of</strong> small text for the same. A<br />

detail overview <strong>of</strong> the texts is presented in [10, 15].<br />

B. Decompression Process<br />

The decompression process is performed through the<br />

following steps:<br />

Step 1: Grab the bit representation <strong>of</strong> the message,<br />

Step 2: Identify the character representation,<br />

Step 3: Display the decoded message.<br />

As all the symbols are to be coded in such a fashion that,<br />

by looking ahead several symbols (Typically the<br />

maximum length <strong>of</strong> the code) we can distinguish each<br />

character (with the attribute <strong>of</strong> Static Coding). In step 1,<br />

the bit representation <strong>of</strong> the modified message is<br />

performed. It is simply analyzing the bitmaps. The<br />

second step involves recognition <strong>of</strong> each separate bitpatterns<br />

and indication <strong>of</strong> the characters or symbols<br />

indicated by each bit pattern. This recognition is<br />

performed on the basis <strong>of</strong> the information from fixed<br />

encoding table used at the time <strong>of</strong> encoding. The final<br />

step involves simply representing i.e. display <strong>of</strong> the<br />

characters recognized through decoding the received<br />

encoded message.<br />

IV. THEORETICAL ASPECT OF TRAINING THE PROPOSED<br />

STATISTICAL MODEL<br />

The proposed scheme achieves better compression<br />

ratio with relatively low complexity by means <strong>of</strong><br />

computational simplicity and effective expert model,<br />

which is used to train the statistical context. Firstly, the<br />

prime modification is performed in the syllable selection<br />

section <strong>of</strong> [4, 5] proposed by Lansky et al. In their<br />

papers, only syllables were considered by defining<br />

maximal subsequence <strong>of</strong> vowels including pseudo-vowel<br />

© 2010 ACADEMY PUBLISHER<br />

‘y’. Here our proposal is to consider as a<br />

Prime Syllable. Using as a prime syllable may<br />

dramatically reduce the total number <strong>of</strong> characters<br />

needed to represent the message through sophisticated<br />

encoding. Secondly, the paper [4, 5] does not clearly<br />

express the criteria <strong>of</strong> choosing the training syllables for<br />

the model. The term used in [4, 5] to define the criteria <strong>of</strong><br />

choosing syllables was simply “frequentness”. However,<br />

we employ a new theoretical perspective on “Text<br />

Ranking or Component Ranking” method to choose the<br />

syllables for training our proposed model. We, in the first<br />

step count the frequency <strong>of</strong> each vowel from the standard<br />

Text Calgary Corpora. In the second step, we count the<br />

number <strong>of</strong> vowels having space either at (i - 1) or (i +<br />

1) position with itself at position (i). The reason <strong>of</strong><br />

adding the with-space vowels is simply to increase the<br />

weightage <strong>of</strong> the corresponding vowels. These entries<br />

having vowels are also inserted in the knowledgebase as<br />

separate entity. In this step, we also count the statistics <strong>of</strong><br />

consonants in order to build the dictionary or multigrams<br />

entries. In the step <strong>of</strong> extending primary<br />

knowledgebase, proposed in papers [4, 5] the criteria was<br />

that, the frequency would be 1:65000, which results a<br />

knowledgebase size <strong>of</strong> more than 4000 entries initially.<br />

For low memory devices, it is obviously difficult to<br />

afford this amount <strong>of</strong> storage as well as to facilitate a<br />

well suited mechanism <strong>of</strong> searching, which leads our<br />

proposed scheme to redefine the knowledge base span as<br />

short as possible and hence to reduce the scope <strong>of</strong> loosely<br />

choosing the multi-grams. In the phase <strong>of</strong> choosing<br />

multi-grams, we give emphasis on Probability<br />

Distribution, which is computed with the help <strong>of</strong> its<br />

neighbor characteristics.<br />

A new text weighting or component ranking scheme<br />

has been employed to select the multi-grams that<br />

facilitates us to efficiently construct the knowledgebase<br />

[11, 15]. This developed novel text weighting scheme is<br />

employed with an aim to get the knowledgebase. The<br />

proposed text weighting or component ranking is<br />

obtained through the following equation:<br />

Suppose we choose a multi-grams D consisting <strong>of</strong><br />

characters C1 C2 C3… Cn <strong>of</strong> length n. Thus,<br />

∂(D<br />

) =<br />

C ,C ,C ,......... ,C ,<br />

1 2 3 n<br />

n<br />

∑ ( ∂(D<br />

) -1)<br />

-∂<br />

(D<br />

) + λ<br />

C C ,C ,C ,......... ,C , C ,C ,C ,......... ,C<br />

i = 1<br />

i 1 2 3 n−1<br />

1 2 3 n<br />

for i > 1 and,<br />

∂ ( DC<br />

) = λ(Ci ) for i = 1, where λ(Ci ) is the frequency<br />

i<br />

<strong>of</strong> the character Ci with assumption that each character <strong>of</strong><br />

the alphabet must exist in the training data. And the value<br />

<strong>of</strong> ∂(Dφ) indicates the multi-grams index <strong>of</strong> character<br />

Dφ.. Here, we refer the multi-gram index obtained from<br />

∂ (D C ,C ,C ,......... ,C , ) as the resultant text-weightage<br />

1 2 3<br />

n<br />

for the text C1 C2 C3… Cn .


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 53<br />

For example, we want to have the probability distribution<br />

<strong>of</strong> multi-grams “and”.<br />

The steps will be:<br />

Let ∂ ( a ) = x1 ,<br />

∂ ( n ) = x2 ,<br />

∂( d ) = x3 ,<br />

∂( an ) = x4 and,<br />

λ(C and ) = Frequency <strong>of</strong> ‘and’ in the training document = x5.<br />

Therefore, ∂(and) = ( ∂( a ) -1) + ( ∂( n ) -1) + ( ∂ (d ) -1)<br />

— ∂ (an) + λ (C and ) = x 1+ x 2 + x 3 — x 4 + x 5<br />

Static coding is defined as a set S = {B1, B2, B3 ….., Bn-1 ,<br />

Bn } <strong>of</strong> binary streams, where each element <strong>of</strong> the set B1,<br />

B2, B3 ….., Bn-1 , Bn are uniquely identifiable providing that,<br />

B1, B2, B3 ….., Bn-1 ,Bn are not necessarily to be <strong>of</strong> equal bit<br />

lengths. As all the elements <strong>of</strong> the sets supports our three<br />

basic points <strong>of</strong> concern- identifiability, uniqueness and<br />

variability <strong>of</strong> any encoding scheme, we are interested to<br />

use static coding. This theoretical aspect let us do not<br />

consider updating the model throughout the compression,<br />

because, firstly, updating a larger knowledgebase using a<br />

very short data is not computationally affordable and<br />

effective, secondly, a larger portion <strong>of</strong> the source code<br />

may be saved if the update is avoided resulting faster<br />

execution [1, 3, 11] and finally, if the training statistical<br />

data are not permitted to be updated as well as to be<br />

expanded, a constant and consistent memory<br />

optimization for the overall compression process may<br />

ensured. That is, there is no possibility to expand the<br />

knowledgebase arbitrarily and thus there is no risk <strong>of</strong><br />

arising the overloaded memory problem or out-<strong>of</strong>memory<br />

problem. As the knowledgebase is not updated,<br />

the use <strong>of</strong> static coding is also perfect for the same.<br />

V. PERFORMANCE ANALYSIS<br />

Though it is a general idea that compression and<br />

decompression time should have an inter-relation, the<br />

proposed scheme demonstrated a little exception. The<br />

points behind that may be summarized through the<br />

following discussions.<br />

A. Performance Analysis <strong>of</strong> Compression Process<br />

Let the total number <strong>of</strong> training entries for the<br />

statistical model be Ng , where Ng is a non-negative<br />

integer and the maximum level for statistical modeling is<br />

L. The first level <strong>of</strong> the statistical model must contain the<br />

single characters, where the total number <strong>of</strong> distinct<br />

character is l1. For levels 1, 2, 3, …., n-1, n the total<br />

number <strong>of</strong> distinct multi-gram entries are l1, l2, l3, ……,<br />

ln-1, ln respectively.<br />

When any text is to be compressed, it is hierarchically<br />

compared with each level <strong>of</strong> statistical model starting<br />

from the highest order. If there is any match, the<br />

corresponding static coding for multi-gram entry is<br />

assigned for the text. If the multi-gram entry is not found<br />

throughout the level, it is forwarded to the next level.<br />

This assignment uses efficient searching procedures. Let<br />

the code m is found at the i-th level with <strong>of</strong>fset k<br />

© 2010 ACADEMY PUBLISHER<br />

resulting a search cost <strong>of</strong> Sm ( l j ) + km , where km < li<br />

and, j=L, L-1,……, i-1 with respect to search space.<br />

Here j limits from L to (i-1) instead <strong>of</strong> i because, as we<br />

find the code in somewhere <strong>of</strong> i-th level not requiring to<br />

search the whole element-space <strong>of</strong> the i-th level, rather<br />

searching through an <strong>of</strong>fset value k for i-th level, the<br />

overall search-space is L to (i-1). That is why, for the<br />

above consequences, the total searching appears: search<br />

overhead for (i-1) number <strong>of</strong> levels with additional<br />

search overhead <strong>of</strong> k elements. Here the term “search<br />

overhead” stands for the search space complexity as well<br />

as other related computational requirements like time and<br />

power consumptions. When the code matches, it is<br />

placed in output stream as character representation. This<br />

step requires padding the bit-stream and then conversion<br />

into character stream. Assume that, the process <strong>of</strong> overall<br />

conversion for each successful entry occurs with the<br />

overhead B. That is, for any multi-gram matching, the<br />

required overhead is,<br />

C<br />

∑ −<br />

1 =<br />

i 1<br />

(S 1(<br />

l<br />

j = L<br />

j )) + k 1 + B 1<br />

Similarly,<br />

C n<br />

=<br />

∑ −<br />

C 2 =<br />

i 1<br />

(S 2 ( l<br />

j = L<br />

j )) + k 2 + B 2<br />

∑ − i 1<br />

(S n ( l j )) + k n<br />

j = L<br />

+ B n<br />

, and<br />

In such a way if n multi-grams are identified and then<br />

encoded, the required resultant number <strong>of</strong> operations in<br />

compression process is:<br />

n n i −1<br />

n<br />

n<br />

T = C = (S ( l )) + k + B (1)<br />

∑<br />

y = 1<br />

y<br />

∑<br />

∑ y j ∑ y ∑<br />

y=<br />

1 j = L<br />

y=<br />

1 y=<br />

1<br />

B. Performance Analysis <strong>of</strong> Decompression Process<br />

For the decompression process, the text to be<br />

decompressed is converted into binary stream. If the<br />

largest code is <strong>of</strong> length cmax and the smallest code is <strong>of</strong><br />

length cmin then the decompression process will start the<br />

searching with the cmax number <strong>of</strong> bits and search through<br />

the codes up to cmin bits by reducing one bit in each step<br />

for unsuccessful match. It is necessary to mention that,<br />

the codes with same bit length do not essentially<br />

comprise any specific level. So, to reveal the character<br />

representation for each entry d if a switch <strong>of</strong> h levels are<br />

required, where cmin ≤ h ≤ cmax where the maximum level<br />

is p, with the matching <strong>of</strong>fset for corresponding level kd,<br />

and the assignment <strong>of</strong> the code with character<br />

representation for each successful match requires an<br />

overhead <strong>of</strong> Bd, then the overall requirement for<br />

comparing through the each level settings results (=<br />

overhead <strong>of</strong> searching through level + overhead for<br />

searching through <strong>of</strong>fset + overhead <strong>of</strong> representation).<br />

For detecting first character the overhead is,<br />

y


54 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

h<br />

E 1 = ∑ ( S ′ 1<br />

q = p<br />

( l ′ ))<br />

q<br />

+<br />

k ′<br />

1<br />

+<br />

B ′<br />

Similarly, for detecting the second character, the levelwise<br />

overhead will be:<br />

h<br />

E 2 = ∑ ( S ′ 2 ( l q′<br />

)) + k 2′<br />

+ B 2′<br />

q = p<br />

Hence,<br />

h<br />

∑<br />

q = p<br />

E = ( S ′ ( l ′ )) + k ′ + B ′ (2)<br />

n<br />

n<br />

q<br />

Here, p = maximum level, and S / is a function that<br />

denotes the search-overhead for searching in element<br />

space provided as parameter <strong>of</strong> the function and h =<br />

minimum level. The computation progresses through p,<br />

p-1, p-2,……, h+2, h+1, h . Here the subscript n is used<br />

to denote the level-wise overhead for detecting one<br />

character representation with respect to level.<br />

In order to detect a single multi-grams f, the total searchoverhead<br />

with respect to search space for level-wise<br />

calculation is,<br />

h<br />

( S ′ ( l ′ )) + k ′ because, we are to<br />

∑=<br />

q<br />

p<br />

f<br />

q<br />

start with maximum level p and then proceed<br />

decreasingly towards the downward levels h (as<br />

explained above). If S / is the search-overhead function,<br />

then searching from level p to h will result<br />

h<br />

∑<br />

q = p<br />

( S<br />

′<br />

f<br />

(<br />

l ′<br />

q<br />

))<br />

f<br />

n<br />

where f is the multi-grams,<br />

which is being revealed. For the matching level, as only a<br />

partial number <strong>of</strong> elements are to be searched, the <strong>of</strong>fset<br />

k is used to denote the <strong>of</strong>fset.<br />

After checking through the levels, the procedure follows<br />

searching through the bit-wise statistics for any<br />

unsuccessful match in level-wise statistics. If there are a<br />

total <strong>of</strong> u bit-phases, we are to perform searching through<br />

the search-space consisting <strong>of</strong> starting from the<br />

maximum bit phase to the minimum bit phase in<br />

descending order. Because <strong>of</strong> any unsuccessful match in<br />

any bit-phase, a bit switch is performed and level wise<br />

calculation for that level is forwarded. That is, an<br />

g<br />

overhead <strong>of</strong> ∑=<br />

b<br />

d<br />

(E is incurred for each level-wise<br />

b )<br />

analysis. Consequently, the overhead <strong>of</strong> unit step will be,<br />

g<br />

∑<br />

b = d<br />

C ′ = (E ) where d and g are maximum and<br />

1<br />

b<br />

minimum bit phases respectively and d ≥ g.<br />

Substituting the value <strong>of</strong> Eb, we get,<br />

C ′<br />

1<br />

=<br />

g<br />

∑<br />

h<br />

∑ ( S 1,b ′ ( l q′<br />

)) +<br />

g<br />

∑ k 1,b ′ +<br />

g<br />

∑<br />

b = d q = p<br />

b = d<br />

b = d<br />

Similarly, we get,<br />

© 2010 ACADEMY PUBLISHER<br />

1<br />

.<br />

n<br />

.<br />

B ′<br />

1,b<br />

C 2′<br />

=<br />

g<br />

∑<br />

h<br />

∑ ( S 2′<br />

, b ( l q′<br />

)) +<br />

g<br />

∑ k 2′<br />

,b +<br />

g<br />

∑ B 2′<br />

,b<br />

b = d q = p<br />

b = d<br />

b = d<br />

And,<br />

C n′<br />

=<br />

g<br />

∑<br />

h<br />

∑ ( S n′<br />

, b ( l q′<br />

)) +<br />

g<br />

∑ k n,b ′ +<br />

g<br />

∑<br />

b = d q = p<br />

b = d<br />

b = d<br />

B ′<br />

Here, we use the subscript 1 with k and B in order to<br />

denote that, the calculations are for detecting unit code<br />

only where the calculation is performed starting from d<br />

to g in decreasing order, that is, in the order <strong>of</strong> d, (d-1),<br />

(d-2), …… , (g+2), (g+1), g. If we are to reveal n number<br />

<strong>of</strong> codes, then the total overhead becomes:<br />

T ′ =<br />

n<br />

∑<br />

y = 1<br />

C ′<br />

y<br />

.<br />

As for each bit wise overhead calculation, level-wise<br />

calculations would must be included; we may omit the<br />

subscript notation for search overhead function for<br />

simplicity,<br />

n g h<br />

n g n g<br />

T′<br />

= ∑ ∑ ∑( S′<br />

y b(<br />

lq′<br />

)) + ∑∑k′<br />

y,b+<br />

∑ ∑B′<br />

(3)<br />

,<br />

y,b<br />

y = 1 b = d q = p<br />

y = 1b<br />

= d y = 1 b = d<br />

TABLE 1:<br />

COMPLEXITIES OF COMPRESSION AND DECOMPRESSION PROCESSES<br />

T′<br />

=<br />

Compression Complexity <strong>of</strong> Proposed Scheme<br />

T<br />

=<br />

∑ ∑<br />

− n i 1<br />

(<br />

y=<br />

1 j = L<br />

(S ( l )) + k<br />

y<br />

Decompression Complexity <strong>of</strong> Proposed Scheme<br />

n<br />

∑<br />

(<br />

g<br />

∑<br />

h<br />

j<br />

∑ ( S′<br />

y,b(<br />

lq′<br />

)) + ∑ k′<br />

y,b + ∑ B′<br />

y = 1 b = d q = p<br />

b = d b = d<br />

C. Performance Analysis with respect to Compression<br />

Ratio<br />

Compression ratio may be defined as the ratio <strong>of</strong> total<br />

number <strong>of</strong> bits to represent the compressed information<br />

and the total number <strong>of</strong> bits in original text.<br />

Let the training knowledgebase contains n items. The<br />

items may contain any <strong>of</strong> the total s symbols <strong>of</strong> the<br />

source language. Again, the knowledgebase items vary<br />

from one to c characters. For traditional encoding,<br />

required overhead (i.e. total number <strong>of</strong> required bits) to<br />

represent each character <strong>of</strong> knowledgebase entries is<br />

log(s) in average. Therefore, if we categorize the<br />

knowledgebase items into kn categories, (where the<br />

categorization aspect is total number <strong>of</strong> characters in<br />

each knowledgebase entry) and there are e1, e2, e3, …, en<br />

elements in k1, k2, k3, …, kn categories respectively, then<br />

g<br />

y<br />

+<br />

B<br />

y<br />

)<br />

g<br />

y,b<br />

n,b<br />

)


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 55<br />

we may easily calculate the overhead for coding the total<br />

knowledgebase.<br />

For category k1, we need a total <strong>of</strong> log(s) * k1 bits is<br />

needed to code each knowledgebase items.<br />

As there are a total <strong>of</strong> e1 elements, total bit requirement<br />

for coding all the elements <strong>of</strong> category k1 is,<br />

log(s) * k1 * e1.<br />

Here, log(s) , k1 and e1 are non-negative integer values.<br />

That is,<br />

Ok1 = log(s) * k1 * e1<br />

Ok1 = k1 e1 log(s)<br />

Where Ok1 indicates the total bit requirement for<br />

coding all the elements <strong>of</strong> category k1 .<br />

For category k2, we need a total <strong>of</strong> log(s) * k2 bits to<br />

code each knowledgebase entries.<br />

As there are e2 elements, total bit requirement for<br />

coding all the elements <strong>of</strong> category k2 is, log(s) * k2 * e2.<br />

Here, log(s) , k2 and e2 too are non-negative integer<br />

values.<br />

That is, Ok2 = log(s) * k2 * e2<br />

Ok2 = k2 e2 log(s)<br />

Where Ok2 indicates the total bit requirement for<br />

coding all the elements <strong>of</strong> category k2 .<br />

Similarly, For category kn, we can write ,<br />

Okn = log(s) * kn * en<br />

Okn = kn en log(s)<br />

Where Okn indicates the total bit requirement for<br />

coding all the elements <strong>of</strong> category k2 .<br />

Symbolically, the total bit requirement for<br />

representation <strong>of</strong> the knowledgebase entries is:<br />

Ot = Ok1 + Ok2 + Ok3 + ... ... ... + Okn<br />

= log(s)* k1 * e1 + log(s)* k2 * e2 + . . . + log(s)* kn * en<br />

= k1 e1 log(s) + k2 e2 log(s) + . . . + kn en log(s)<br />

= log(s) ( k1 e1 + k2 e2 + . . . + kn en )<br />

n<br />

That is , O = log(s)<br />

t<br />

∑ ( k . e<br />

i i<br />

i = 1<br />

Since, 1 ≤ ei ≤ log(n) , and s being the total number <strong>of</strong><br />

symbol unit in source language, in worst case,<br />

n<br />

O =<br />

t<br />

log(s) . n . log n ∑ (<br />

i = 1<br />

k<br />

i<br />

)<br />

)<br />

(4)<br />

(5)<br />

Now let us consider our proposed scheme, where<br />

components <strong>of</strong> knowledgebase entries are grouped into<br />

© 2010 ACADEMY PUBLISHER<br />

several levels and each entry in the level is chosen by<br />

means <strong>of</strong> effective statistical entity. Because <strong>of</strong> using<br />

hierarchical statistics, any element <strong>of</strong> certain level<br />

possess greater probability <strong>of</strong> occurrence than the<br />

element placed at any position below that. However the<br />

levels are placed in descending order to facilitate that,<br />

higher-gram texts or knowledgebase components are<br />

coded in advance to any lower-gram texts irrespective <strong>of</strong><br />

probability distribution [11]. Here, it is noteworthy that,<br />

though the probability distribution or statistical context<br />

was not taken into consideration to organize the levels,<br />

the total structure resulted an automatic statistical<br />

distribution, because, the text-ranking scheme used to<br />

build the knowledgebase followed hierarchical steps that<br />

inherently inferred statistics from lower groups.<br />

Consequently, whenever we are formulating the<br />

statistical entries, any subgroup from its upper group will<br />

have lower values and specific coding schemes may be<br />

employed taking this criteria into consideration.<br />

As we are using static coding in order to encode the<br />

total knowledgebase and the knowledgebase is<br />

hierarchically grouped, the resultant outcome leads our<br />

proposed scheme into a low-bit consuming one. In our<br />

proposed scheme, symbolically, any knowledgebase<br />

entry varies from 1 to r characters. That is, the levels are<br />

r, (r - 1), (r - 2), ………, 2, 1. Formation <strong>of</strong> levels start<br />

from single characters and proceed incrementally. Any<br />

entry in the knowledgebase containing any substring<br />

from its successor level will have greater multi-gram<br />

index because <strong>of</strong> being inferred from the previously<br />

encountered entry. This aspect results in a sustainable<br />

knowledgebase architecture if we sort the knowledgebase<br />

in any order considering multi-gram index as the primary<br />

criteria. Since we are calculating the multi-gram-index or<br />

multi-gram-weight through a comprehensive text ranking<br />

scheme we may consider the underlying text elements as<br />

a single unit. Even though, we are considering the overall<br />

knowledgebase a single unit, it has been clarified earlier<br />

that, the architecture <strong>of</strong> the knowledgebase will provide<br />

us elementary grouping facilities. This coherence model<br />

provides us the opportunity to use static coding. If we<br />

have a total <strong>of</strong> m entries in the knowledgebase, coding <strong>of</strong><br />

those values using binary stream may vary from 1 to<br />

log(m) bits. Let it be y in an average, where 1 ≤ y ≤<br />

log(m).<br />

Again, as we are using multi-grams as single<br />

component, if the multi-gram consists <strong>of</strong> even k<br />

characters where 1 ≤ k ≤ r, it will be turned into a single<br />

one. Consequently, the average requirement may be<br />

specified as<br />

O = y + y + y + .......... ... + y<br />

p 1 2 3<br />

n


56 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

= ∑<br />

=<br />

n<br />

O y<br />

p i<br />

i 1<br />

where, 1≤ yi ≤ log(m) for 1≤ i ≤ n .<br />

For worst case O = n log(n)<br />

p<br />

where y = log(n) for 1 ≤i<br />

≤ n .<br />

i<br />

(6)<br />

(7)<br />

Even if, the total number <strong>of</strong> components n is same for<br />

both the cases, since 1 ≤ y ≤ log(n) (because here m=n,<br />

both indicating the total number <strong>of</strong> elements) and 1 ≤ ei ≤<br />

log(n) multiplying any value (category index k) with ei<br />

will definitely result much more than that <strong>of</strong> yi.<br />

Consequently, we may deduce that,<br />

Op ≤ Ot<br />

Here, n is total number <strong>of</strong> elements in the<br />

knowledgebase and y (1 ≤ y ≤ log(m)) refers the total<br />

bits needed to code component i. It is inherently clear<br />

that, Op ≤ Ot . That is, the total number <strong>of</strong> bits needed to<br />

encode the same source symbols using our proposed<br />

scheme is less than that <strong>of</strong> the traditional schemes. As,<br />

compression ratio (R) is the ratio <strong>of</strong> compressed bit and<br />

source bits, we get that,<br />

and,<br />

Rt = Ot / nt<br />

Rp = Op / nt<br />

As, Op ≤ Ot we get that,<br />

Rp ≤ Rt.<br />

Even for the worst case, we get that,<br />

O<br />

t<br />

= log(s)<br />

. n . log<br />

n<br />

n ∑<br />

i = 1<br />

(<br />

n<br />

O = log(s)<br />

t<br />

. O p ∑ (<br />

i = 1<br />

k )<br />

i<br />

( 8 )<br />

k<br />

i<br />

Hence we may deduce that, even for worst case,<br />

Op ≤ Ot<br />

The lower the value <strong>of</strong> compression ratio, the better<br />

the compression. Consequently ,we may conclude that,<br />

the compression efficiency <strong>of</strong> proposed scheme is better<br />

than that <strong>of</strong> traditional dictionary based compression<br />

schemes.<br />

Our proposed scheme requires less space because we<br />

have constrained the growth <strong>of</strong> the knowledgebase. The<br />

facility to use a couple <strong>of</strong> levels will ensure greater<br />

flexibility in memory management. As, the search space<br />

is minimized, the computational complexity will also be<br />

reduced. It is <strong>of</strong> no doubt that, lower computational<br />

complexity will ensure faster performance.<br />

© 2010 ACADEMY PUBLISHER<br />

)<br />

VI. EXPERIMENTAL RESULTS AND DISCUSSIONS<br />

The performance evaluation is performed on the basis<br />

<strong>of</strong> the file “book1”, “book2”, “paper4”, “paper5” and<br />

“paper6” from “Calgary Corpus”. As the prime aspect <strong>of</strong><br />

our proposed Compression Scheme is not to compress<br />

huge amount <strong>of</strong> text rather to compress texts with limited<br />

size affordable by the mobile devices i.e. embedded<br />

systems, we took blocks <strong>of</strong> texts less than five hundred<br />

characters chosen randomly from those files ignoring<br />

binary files and other non-text files and performed the<br />

efficiency evaluation.<br />

The most recent study involving compression <strong>of</strong> text<br />

data are:<br />

1. “Low Complex and Power Efficient Text<br />

Compressor for Cellular and Sensor Networks” (Mode 1)<br />

by Rein et al. [1, 2, 3] and,<br />

2. “A modification Of Greedy Sequential Grammar<br />

Transform based data Compression" by Islam et al [4]<br />

We denote the above two methods as DCM-1 and<br />

DCM-2 respectively, where DCM stands for Data<br />

Compression Method.<br />

The simulation was performed in a 2.0 GHz Personal<br />

Computer with 112 MB <strong>of</strong> RAM with the object oriented<br />

programming language Java. The average compression<br />

ratio for three random execution results for different size<br />

<strong>of</strong> blocks <strong>of</strong> text is as follows<br />

Corpus Number <strong>of</strong><br />

Characters<br />

Considered<br />

TABLE 2<br />

COMPRESSION RATIO<br />

Compressi<br />

on Ratio<br />

(%) for<br />

DCM-1<br />

Compressi<br />

on Ratio<br />

(%) for<br />

DCM-2<br />

paper 4 108 44.01 44.03 42.94<br />

paper 5 061 44.98 45.51 44.02<br />

paper 6 032 45.22 45.96 44.30<br />

book 1 191 46.84 48.11 45.97<br />

book 2 104 43.95 46.69 45.27<br />

Compressi<br />

on Ratio<br />

(%) for<br />

proposed<br />

scheme<br />

The compression ratio is a metric to describe how<br />

many compressed units are required to describe one unit<br />

<strong>of</strong> data. The lower the presented value shows better<br />

compression. A general observation is that higher modes<br />

lead to better compression ratios even if the difference<br />

with higher orders becomes smaller.<br />

The Performance <strong>of</strong> any dictionary based or<br />

knowledge-inferred compression scheme greatly varies<br />

with the architecture <strong>of</strong> dictionary construction and<br />

knowledge inference. When the test bed is considered as


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 57<br />

the same <strong>of</strong> the knowledgebase inferring one or<br />

dictionary forming one, the performance gain will be<br />

higher because <strong>of</strong> the greater match with the dictionary<br />

entries or knowledgebase components. Our proposed<br />

scheme has worse performance because, the training<br />

scheme that we have provided makes an effective use <strong>of</strong><br />

text ranking scheme for several corpora and choice <strong>of</strong> the<br />

knowledgebase entries are unbiased towards any specific<br />

corpus. It is the novelty <strong>of</strong> our approach which ensures a<br />

greater distribution <strong>of</strong> ranking and makes the developed<br />

scheme uniformly usable for text data compression. But,<br />

other schemes which are trained with specific files <strong>of</strong> any<br />

corpora, there are greater matching with the<br />

knowledgebase and the hence performance evaluation<br />

demonstrates better performance for that corpus or that<br />

specific file than that <strong>of</strong> our proposed scheme.<br />

The prime achievement <strong>of</strong> our proposed scheme is, it is<br />

even capable to compress source texts consisting with an<br />

average <strong>of</strong> only five characters. Though the compression<br />

ratio is deteriorated for that case, it is an evolutionary<br />

step for small text compression. This achievement may<br />

be greatly helpful for compression <strong>of</strong> sensor network<br />

concerned data and even in asynchronous data<br />

transmission management for web applications having<br />

the glimpse <strong>of</strong> real time computation.<br />

Besides <strong>of</strong> the evaluation scheme that has been<br />

presented earlier in this section, we analyze the<br />

performance <strong>of</strong> the proposed scheme in terms <strong>of</strong><br />

compression ratio with respect to the text presented in<br />

[3].<br />

TITLE TEXT<br />

The international system <strong>of</strong> units consists <strong>of</strong> a<br />

set <strong>of</strong> the units together with a set <strong>of</strong> the<br />

prefixes. The units <strong>of</strong> the SI can be divided into<br />

two subsets. There are seven base units. Each<br />

TEST_A<br />

<strong>of</strong> these base units are dimensionally<br />

independent. From the seven base units all<br />

other units are derived.<br />

TEST_B<br />

TEST_C<br />

However, few believed that SMS would be<br />

used as the means <strong>of</strong> sending text messages<br />

from a mobile to the another. One factor in the<br />

takeup <strong>of</strong> the SMS was that operators were<br />

slow to eliminate billing fraud which was<br />

possibly by changing SMSC setting on<br />

individual handsets to the SMSC's <strong>of</strong> other<br />

operators.<br />

Alice is a fictional character in the books <strong>of</strong> the<br />

Alice’s adventures in the Wonderland and its<br />

sequel through the Looking-Glass, which were<br />

written by Charles Dodgson under the pen<br />

name Lewis Caroll. The character is based on<br />

Alice Liddel, a child friend <strong>of</strong> Dodgson's. The<br />

pictures, however do not depict Alice Liddel,<br />

as the illustrator never met her. She is seen as a<br />

logical girl, sometimes being pedantic,<br />

especially with Humpty Dumpty in the second<br />

book.<br />

© 2010 ACADEMY PUBLISHER<br />

The performance <strong>of</strong> proposed compression scheme (in<br />

terms <strong>of</strong> compression ratio) for the above texts in<br />

comparison with [3] (indicated as DCM-1) is given<br />

below.<br />

Compression Ratio in percentage<br />

(Lower Values indicate better performance)<br />

54<br />

52<br />

50<br />

48<br />

46<br />

44<br />

42<br />

40<br />

TEST_A TEST_B TEST_C<br />

DCM- 1 PROPOSED SCHEME<br />

Figure 1. Performance Comparison for example text.<br />

From the figure we find that the compression ratio is<br />

lower for all the cases for the text presented in [11].<br />

It is necessary to mention here that In order to<br />

implement our proposed scheme no additional hardware<br />

is necessary. Rather it is possible to use even in any lowpowered<br />

and low-memory devices. Basically the aspect<br />

<strong>of</strong> ensuring an affordable text compression scheme for a<br />

greater variety <strong>of</strong> smart devices we emphasis on static<br />

coding in lieu <strong>of</strong> on-the-fly coding. Besides the results<br />

presented in this section, detailed theoretical analysis on<br />

the space and time requirements, computational<br />

complexity i.e. overall computational overhead is already<br />

presented in section V.<br />

VII. CONCLUSION AND RECOMMENDATION<br />

We have presented an effective and efficient approach<br />

<strong>of</strong> compressing short English text message for lowpowered<br />

embedded devices. Here modified syllable<br />

based dictionary matching and static coding have been<br />

employed to obtain the compression. Moreover, a new<br />

theoretical concept <strong>of</strong> choosing the multi-grams is used,<br />

which has facilitated us to obtain mentionable


58 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

compression ratio using a small number <strong>of</strong><br />

knowledgebase entries than other methods consuming<br />

less resource. The overall strategy <strong>of</strong> computational<br />

simplicity has also ensured the reduced time complexity<br />

for the proposed compression and decompression<br />

process. The main aspect <strong>of</strong> our proposed scheme resides<br />

in the text ranking based knowledge-base construction<br />

with space integration that initiates a new arena <strong>of</strong> text<br />

compression methodology. A consistent and relevant<br />

mathematical analysis <strong>of</strong> the overall performance also<br />

establishes a strong technical basis <strong>of</strong> the proposed<br />

scheme. Moreover, the prime achievement is in the scale<br />

<strong>of</strong> starting threshold <strong>of</strong> text compression; that we have<br />

reduced to less than five characters. With limited<br />

knowledge-base size, the achieved compression is <strong>of</strong> no<br />

doubt efficient and effective. As the knowledge base is<br />

not accepted to be grown through the continuous<br />

applications, we may keep out the low-memory system<br />

from the risk <strong>of</strong> expanding its knowledgebase crossing<br />

optimal memory size and thus, the applicability <strong>of</strong> the<br />

proposed system even in any very low memory devices is<br />

ensured.<br />

REFERENCES<br />

[1] Stephan Rein, Clemens Guhmann, Frank H. P. Fitzek:<br />

“Compression <strong>of</strong> Short Text on Embedded Systems”,<br />

<strong>Journal</strong> <strong>of</strong> <strong>Computers</strong> : Volume 1, No: 06, September<br />

2006.<br />

[2] S. Rein, C. Guhmann, and F. Fitzek , “Low Complexity<br />

Compression <strong>of</strong> Short Messages,” Proceedings <strong>of</strong> the<br />

IEEE Data Compression Conference (DCC’06), March<br />

2006, pp.123–132.<br />

[3] Stephan. Rein, F. Fitzek, M. P. G. Perucci, T. Schneider<br />

and C. Guhmann, “Low Complex and Power Efficient<br />

Text Compressor for Cellular And Sensor Networks”, In<br />

15 th IST Mobile and Wireless Communication Summit,<br />

June 2006.<br />

[4] J. Lansky , M. Zemlicka , “Compression Of Small Text<br />

Files Using Syllables”. Proceedings <strong>of</strong> Data Compression<br />

Conference (DCC’06) , Los Alamitos, CA, USA, 2006.<br />

[5] J. Lansky and M. Zemlicka. “Text Compression:<br />

Syllables”. In Annual International Workshop on<br />

DAtabases, TExts, Specifications and Objects (DATESO),<br />

Volume 129 <strong>of</strong> CEUR Workshop Proceedings, pp. 32–45.<br />

2005.. CEUR-WS.<br />

[6] Md. Rafiqul Islam, Sajib Kumar Saha, Mrinal Kanti<br />

Baowaly. “A modification <strong>of</strong> Greedy Sequential Grammar<br />

Transform based Universal Lossless data Compression”.<br />

Proceedings <strong>of</strong> 9th International Conference on Computer<br />

and Information Technology (ICCIT 06), 28-30 December,<br />

2006, Dhaka, Bangladesh.<br />

[7] Przemysław Skibiński, “Two-Level Dictionary Based<br />

Compression”, Proceedings <strong>of</strong> the IEEE Data<br />

Compression Conference (DCC’05), page 481.<br />

[8] F. Awan and A. Mukherjee, "LIPT: A Lossless Text<br />

Transform to improve compression", Proceedings <strong>of</strong><br />

International Conference on Information and Theory:<br />

Coding and Computing, IEEE Computer Society, Las<br />

Vegas Nevada, 2001.<br />

[9] H. Kruse and A. Mukherjee, “Preprocessing Text to<br />

Improve Compression Ratios”, Proceedings <strong>of</strong> Data<br />

© 2010 ACADEMY PUBLISHER<br />

Compression Conference, IEEE Computer Society,<br />

Snowbird Utah, 1998, pp. 556.<br />

[10] S. A. Ahsan Rajon, “A Study on Text Corpora for<br />

Evaluating Data Compression Schemes: Summary <strong>of</strong><br />

Findings and Recommendations”, Research Report,<br />

Computer Science and Engineering Discipline, Khulna<br />

University, Khulna, Bangladesh, December, 2008.<br />

[11] Md. Rafiqul Islam, S. A. Ahsan Rajon and Anonda Podder,<br />

“Short Text Compression for Smart Devices", Proceedings<br />

<strong>of</strong> 11th International Conference on Computer and<br />

Information Technology (ICCIT 2008), 25-27 December,<br />

2008, Khulna, Bangladesh, pp. 453-558.<br />

[12] S. Rein and C. Guhmann, “Arithmetic Coding–A Short<br />

Tutorial”, Wavelet Application Group, Technical Report,<br />

April 2005.<br />

[13] David Hertz: “Secure Text Communication for the Tiger<br />

XS”. Master <strong>of</strong> Science Thesis, Department <strong>of</strong> Electrical<br />

Engineering, Linköpings University, Linköping, Sweden.<br />

[14] S. A. Ahsan Rajon and Anonda Podder, “Lossless<br />

Compression <strong>of</strong> Short English Text for Low-Powered<br />

Devices”- Undergraduate thesis, CSE Discipline, Khulna<br />

University, Khulna, Bangladesh, March, 2008.<br />

[15] Md. Rafiqul Islam, S. A. Ahsan Rajon, Anonda Podder,<br />

“Lossless Compression <strong>of</strong> Short English Text for Low-<br />

Powered Deices”, in the proceedings <strong>of</strong> International<br />

Conference on Data Engineering and Management<br />

(ICDEM 2008) Tiruchirappalli, Tamil Nadu, India.<br />

February 9, 2008.<br />

[16] Ross Arnold, and Tim Bell, “A Corpus for the evaluation<br />

pf lossless compression algorithms”, Data Compression<br />

Conference, pp. 201-210, IEEE Computer Society Press,<br />

1997.<br />

Md. Rafiqul Islam obtained Master <strong>of</strong> Science (M. S.) in<br />

Engineering (<strong>Computers</strong>) from Azerbaijan Polytechnic Institute<br />

(Azerbaijan Technical University at present) in 1987 and Ph.D.<br />

in Computer Science from Universiti Teknologi Malaysia<br />

(UTM) in 1999. His research areas include design and analysis<br />

<strong>of</strong> algorithms and Information Security. Dr. Islam has got a<br />

number <strong>of</strong> papers related to these areas published in national<br />

and international journals as well as in referred conference<br />

proceedings.<br />

He is currently working as the Head <strong>of</strong> Computer Science<br />

and Engineering Discipline, Khulna University, Bangladesh.<br />

S. A. Ahsan Rajon received his B.Sc. Engineering degree<br />

from Computer Science and Engineering Discipline, Khulna<br />

University, Khulna in April 2008. He is now a postgraduate<br />

student <strong>of</strong> Business Administration Discipline under<br />

Management and Business Administration School <strong>of</strong> same<br />

university. Rajon is also working as an Adjunct Faculty <strong>of</strong><br />

Computer Science and Engineering Discipline, Khulna<br />

University, Bangladesh. Rajon has made several publications in<br />

International conferences. His research interests include data<br />

engineering and management, electronic commerce and<br />

ubiquitous computing. Currently he is working on robotics.<br />

He is a member <strong>of</strong> Institute <strong>of</strong> Engineers, Bangladesh (IEB).


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 59<br />

Design and Analysis <strong>of</strong> an Effective Corpus for<br />

Evaluation <strong>of</strong> Bengali Text Compression<br />

Schemes<br />

Md. Rafiqul Islam<br />

Computer Science and Engineering Discipline, Khulna University, Khulna, Bangladesh.<br />

Email: dmri1978@yahoo.com<br />

S. A. Ahsan Rajon<br />

Computer Science and Engineering Discipline, Khulna University, Khulna, Bangladesh.<br />

Email: ahsan.rajon@gmail.com<br />

Abstract — In this paper, we propose an effective<br />

platform for evaluation <strong>of</strong> Bengali text compression<br />

schemes. A novel scheme for construction <strong>of</strong> Bengali text<br />

compression corpus has also been incorporated in this<br />

paper. A methodical study on the formulation-approaches <strong>of</strong><br />

text corpus for data compression and present an effective<br />

corpus named Ekushe-Khul for evaluating the Bengali text<br />

compression schemes has also been presented in this paper.<br />

To design the Bengali text compression corpus, Type to<br />

Token Ratio has been considered as the selection criteria<br />

with a number <strong>of</strong> secondary considerations. This paper also<br />

presents a mathematical analysis on data compression<br />

performance with structural aspects <strong>of</strong> corpora. A<br />

comprehensive analysis on the evolving criteria <strong>of</strong> text<br />

compression corpora with related issues in designing<br />

dictionary based compression are extensively incorporated<br />

here. The proposed corpus is effective for evaluating<br />

compression efficiency <strong>of</strong> small and middle sized Bengali<br />

text files.<br />

Index Terms — Corpus, Bengali Text, Bengali Text<br />

Compression, Dictionary Coding, Data Management,<br />

Evaluation Platform, Compression Efficiency, Type to Token<br />

Ratio (TTR).<br />

I. INTRODUCTION<br />

With a number <strong>of</strong> languages in the world, Bengali is<br />

the only language, which has been established at a cost <strong>of</strong><br />

lives. However, in the establishment <strong>of</strong> Bengali as a<br />

glittering candidate in the field <strong>of</strong> research the number <strong>of</strong><br />

steps or achievements is not so mention-worthy.<br />

Enhancing Data Management techniques for Bengali text<br />

has not yet got any robust base. Text Compression, which<br />

is one <strong>of</strong> the important aspects <strong>of</strong> elementary data<br />

This paper is an enhancement <strong>of</strong> the paper “On the Design <strong>of</strong> an<br />

Effective Corpus for Evaluation <strong>of</strong> Bengali Text Compression<br />

Schemes”, by Md. Rafiqul Islam, and S. A. Ahsan Rajon, which was<br />

published in the proceedings <strong>of</strong> International Conference on Computer<br />

and Information Technology (ICCIT’ 2008), 25-27 December 2008,<br />

Khulna, Bangladesh.<br />

Contact Author: S. A. Ahsan Rajon<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.59-68<br />

management and text manipulation schemes, is still now<br />

mostly based on generalized universal compression<br />

techniques. The remaining sophisticated Bengali text<br />

compression schemes also suffer from unavailability <strong>of</strong><br />

standard evaluation platform, i.e. unavailability <strong>of</strong> text<br />

compression corpus. This paper proposes a text<br />

compression corpus for evaluating Bengali text<br />

compression schemes.<br />

The construction <strong>of</strong> a data compression corpus is now<br />

a demand-<strong>of</strong>-time. The state-<strong>of</strong>-the-art technologies <strong>of</strong><br />

data management have already equipped the benchmarks<br />

and standard collection <strong>of</strong> experimental data sets for<br />

performance evaluation [1]. In Bengali, though a highly<br />

impressive step has been initiated in [2] for constructing a<br />

linguistic corpus having CIIL (Central Institute <strong>of</strong> Indian<br />

Languages) corpus [4] as a pioneer, still now any<br />

mentionable sophisticated data compression corpus is not<br />

available with text compression benchmarks. This paper<br />

focuses on designing a Bengali text compression corpus<br />

based on Type to Token Ratio (TTR) and provides the<br />

mathematical framework for various aspects <strong>of</strong> choosing<br />

the corpus with compression benchmarks.<br />

The paper is targeted to design a corpus that will<br />

facilitate the future researchers especially in the research<br />

<strong>of</strong> Bengali text compression to have a test-bed for<br />

evaluating their performance. For designing such a<br />

corpus we are to derive a novel scheme <strong>of</strong> text<br />

compression corpus formation because <strong>of</strong> having no<br />

existing benchmark.<br />

The paper is organized into eight sections. Section II<br />

provides elementary concepts on corpus and text<br />

compression schemes. The key-points for constructing a<br />

corpus are presented in section III. Section IV is devoted<br />

with the literature review presenting various aspects <strong>of</strong><br />

the existing corpora (corpuses). Section V describes the<br />

proposed approach for formulating the corpus. A brief<br />

description on the files comprising the proposed text<br />

compression corpus is presented in section VI. Analysis<br />

<strong>of</strong> the proposed corpus is depicted in section VII. Various


60 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

issues on the usability <strong>of</strong> the proposed corpus for other<br />

languages is presented in section VIII. The paper ends<br />

with section IX providing conclusion and<br />

recommendation.<br />

II. OVERVIEW OF CORPUS AND DATA COMPRESSION<br />

Text compression is an elementary aspect <strong>of</strong> data<br />

compression. Compression is the process <strong>of</strong> reducing the<br />

size <strong>of</strong> a file or data by identifying and removing<br />

redundancy in its structure [7]. Data Compression <strong>of</strong>fers<br />

an effective approach <strong>of</strong> reducing communication costs<br />

by using available bandwidth effectively. Data<br />

Compression technique is generally divided into two<br />

categories; namely, Lossless Data Compression and<br />

Lossy Data Compression. For lossless schemes, the<br />

recovery <strong>of</strong> data should be exact. Lossless compression<br />

algorithms are to some extent essential for all kinds <strong>of</strong><br />

text processing, scientific and statistical databases<br />

applications, medical and biological image processing,<br />

DNA and other biological data management and so on.<br />

However, a lossy data compression technique does not<br />

ensure the exact recovery <strong>of</strong> data. For image compression<br />

and multimedia data compression, there is a great use <strong>of</strong><br />

lossy data compression. From the early 1990, certain<br />

specific platforms <strong>of</strong> evaluating English text compression<br />

schemes are adapted for standard researches, which are<br />

better known as data compression corpus [1].<br />

In general sense, a corpus is simply a collection <strong>of</strong><br />

texts. From the point <strong>of</strong> view <strong>of</strong> data compression,<br />

compression-corpus is a standard collection <strong>of</strong> texts or<br />

data for analyzing and evaluating effectiveness and<br />

efficiency i.e. performance <strong>of</strong> compression schemes. The<br />

mostly used data compression corpora for evaluating data<br />

compression are namely Calgary corpus, Canterbury<br />

corpus and Project Gutenberg. Though the corpora for<br />

English were introduced in the early 1990, still now, for<br />

analyzing and evaluating Bengali text compression<br />

performance, no such complete and standard corpus is<br />

available. In this paper, we present a novel approach for<br />

designing data compression corpus for evaluation <strong>of</strong><br />

Bengali text compression scheme. Implementation <strong>of</strong> the<br />

proposed scheme has also been focused in the developed<br />

Ekushe-Khul corpus.<br />

For analyzing domain specific or language specific<br />

text-compression scheme, it is a must to have the domain<br />

oriented or language oriented benchmark to analyze the<br />

compression schemes. There are a number <strong>of</strong> English text<br />

compression corpora and corresponding benchmarks<br />

which are extensively used for evaluation <strong>of</strong> English Text<br />

compression schemes. There are also a number <strong>of</strong><br />

multilingual text corpora involving English for evaluating<br />

English text compression with respect to other languages.<br />

But in case <strong>of</strong> Bengali there is neither any corpus for<br />

evaluation <strong>of</strong> text compression performance nor any<br />

benchmark for the same. A detail explanation on the<br />

necessity <strong>of</strong> Language specific corpora and the suitability<br />

© 2010 ACADEMY PUBLISHER<br />

(or unsuitability) <strong>of</strong> any corpora for evaluating non-<br />

English concerns is provided by Sarker and Roeck in [10]<br />

with a comprehensive explanation by N. S. Dash in [12]<br />

and by Akshar et al. in [11]. The required changes for<br />

designing a new corpus for Bengali in order to meet new<br />

demands <strong>of</strong> computational linguistics and other<br />

approaches is elaborately provided in [9].<br />

III. CHARACTERISTICS OF A DATA COMPRESSION CORPUS<br />

The characteristics <strong>of</strong> a corpus are defined by the<br />

purpose <strong>of</strong> creating the corpus and the evaluation arena<br />

for which the corpus is designed for. These criteria give<br />

rise to the necessity to field-specific corpus like data<br />

compression corpus, information retrieval corpus, corpus<br />

for data mining research etc. According to Arnold et al.,<br />

there are six criteria for choosing a corpus [1]. Firstly, the<br />

files should be chosen as representative <strong>of</strong> the files used<br />

and expected to be used in compression method.<br />

Secondly, the availability <strong>of</strong> the file should be ensured.<br />

Availability <strong>of</strong> public domain materials is the third<br />

consideration for the corpus. They also suggest that the<br />

files should not be larger than necessary and it should be<br />

perceived to be valid and useful. Finally, the corpus<br />

should be actually valid and useful.<br />

The mentioned criteria for choosing corpus have<br />

successfully established Canterbury Corpus as one <strong>of</strong> the<br />

extensively adapted corpus for data compression.<br />

However, due to the rapid growth <strong>of</strong> technology,<br />

additional criteria have been evolved in constructing the<br />

corpus. Firstly, the criteria were specified for evaluating<br />

the compression <strong>of</strong> middle-sized files. But, with the<br />

advancement <strong>of</strong> embedded devices with lower processing<br />

speed and small memory (like mobile-phones) it has<br />

become extremely important to provide a new test-bed<br />

for evaluation <strong>of</strong> small text compression schemes.<br />

Frequent uses <strong>of</strong> mobile phones, short text messages and<br />

emails have already made a transformation on the use <strong>of</strong><br />

texts, and hence necessity <strong>of</strong> field and size specific<br />

corpus formation has been evolved. Taking these<br />

limitations into concern, we provide specific files<br />

regarding the issues with consideration <strong>of</strong> other<br />

traditional characteristics. Moreover, the file structure i.e.<br />

sentence structure was not considered as any important<br />

criteria for choosing corpora. But, compression ratio<br />

gradually varies with variations <strong>of</strong> sentence construction<br />

and file structure. Besides these, probability <strong>of</strong><br />

occurrences <strong>of</strong> texts-components and frequency <strong>of</strong> those<br />

are important criteria, which fluctuate the text<br />

compression performance.<br />

IV. LITERATURE REVIEW<br />

The history <strong>of</strong> mostly adapted data compression corpus<br />

started a long ago. Calgary Corpus, which was collected<br />

in 1987 and was published in 1990 is considered as the<br />

pioneer <strong>of</strong> data compression corpus. The files in Calgary<br />

corpus [1] with their content category are listed in table I.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 61<br />

TABLE I<br />

FILES IN THE CALGARY CORPUS<br />

Title Description<br />

bib Bibliographic File<br />

book1 Hardy: Far From the Madding crowd<br />

book2 Witten: Principles <strong>of</strong> computer speech<br />

geo Geophysical data<br />

news News batch file<br />

obj1 Compiled Code for Vax<br />

obj2 Compiled Code for Apple Macintosh<br />

paper1 Witten: Arithmetic Coding for compression<br />

paper2 Witten: Computer Security<br />

paper3 Witten: In Search <strong>of</strong> Autonomy<br />

paper4 Cleary: Programming by example revisited<br />

paper5 Cleary: logical implementation <strong>of</strong> arithmetic<br />

paper6 Cleary: Compact Hash tables<br />

pic Picture from CCITT Facsimile<br />

progc C source code<br />

progl Lisp source code<br />

progp Pascal Source Code<br />

trans Transcript <strong>of</strong> a session on terminal<br />

The next initiative and the mostly adapted one is<br />

Canterbury Corpus. It was developed by Arnold et al.<br />

[1]. Canterbury corpus considered the benchmark derived<br />

from the Calgary corpus as their corpus development<br />

basement. In Table II, the files constituting Canterbury<br />

corpus are presented.<br />

TABLE II<br />

FILES IN THE CANTERBURY CORPUS<br />

Title Description<br />

alice29.txt English text<br />

ptt5 Fax images<br />

fields.c C source code<br />

kennedy.xls Spread-sheet Files<br />

Ssum SPARC Executable<br />

lcet10.txt Technical documents<br />

plrabn12.txt English Poetry<br />

cp.html HTML<br />

grammar.lsp Lisp source code<br />

xargs.1 GNU Manual pages<br />

asyoulik.txt plays<br />

The above files are solely for evaluation <strong>of</strong> English text<br />

compression evaluation corpus and hence not effective or<br />

at all applicable for evaluating Bengali text compression.<br />

The most recent and extremely organized analysis on<br />

Bengali news corpus is provided by Majumder et al. [2].<br />

© 2010 ACADEMY PUBLISHER<br />

This paper proposes a new corpus on the basis <strong>of</strong> the well<br />

circulated newspaper prothom-alo [5] and provides<br />

exhaustive analysis regarding TTR (Type-to-Token-<br />

Ratio), Function Word and other morphological and<br />

linguistic analysis. For analysis <strong>of</strong> data compression<br />

efficiency, this corpus requires some specific<br />

modification in the sense that, data compression involves<br />

the additional criteria <strong>of</strong> heterogeneity and text-size.<br />

Moreover, the news corpus proposed in [2] is extensively<br />

tested for linguistic analysis only. In order to use this for<br />

data compression, further text-compression related<br />

analysis is a must. According to their methodology, they<br />

collect html news files from prothom-alo websites and<br />

converting it to Unicode, they categorize the total<br />

collection into twenty seven distinct groups, which are<br />

also available in a single file <strong>of</strong> size three hundred and<br />

eighteen mega bytes. For most practical applications and<br />

researches on middle-sized or small text compression, it<br />

is rarely necessary to have larger files, rather it is<br />

essential to have standard small and medium sized<br />

corpus.<br />

The fist corpus in Bengali developed by Central<br />

Institute <strong>of</strong> Indian Languages (CIIL) in the years 1991-<br />

1995 possesses a collection <strong>of</strong> three million Bengali<br />

words, which provide valuable linguistic data for research<br />

on Bengali language analysis [4]. In evaluating<br />

compression efficiency, this impressive corpus also<br />

suffers from the limitation <strong>of</strong> heterogeneity and lack <strong>of</strong><br />

embedded and small device supportability.<br />

Besides the corpora presented there are a number <strong>of</strong><br />

researches available describing the features <strong>of</strong> Bengali<br />

linguistic corpus. A number <strong>of</strong> works is also devoted to<br />

have corpora on Bengali OCR (Optical Character<br />

Recognition). The contribution <strong>of</strong> B. B. Chaudhury is<br />

pioneer in this specific field <strong>of</strong> Bengali OCR formation<br />

[13].<br />

The necessity <strong>of</strong> devising specific and relevant criteria<br />

for building Bengali corpora and the basic limitations as<br />

well as pitfalls <strong>of</strong> existing non-Bengali corpora building<br />

concepts are extensively incorporated by N. S. Dash in<br />

[9]. Prime techniques <strong>of</strong> Bengali text corpus processing,<br />

which are used for various linguistic activities including<br />

far more complicated orthographical, morphological, and<br />

lexicological concerns is also presented in [9]. Various<br />

criteria including Concordance <strong>of</strong> Words, Lexical<br />

Collocation, Key-Word-In-Context, Local Word<br />

Grouping, Lemmatization <strong>of</strong> Words, Parsing Sentences<br />

etc are widely described by N. S. Dash in [9]. Being the<br />

overall aspect <strong>of</strong> the literature in [9] is to furnish<br />

linguistic and information retrieval corpora, there is little<br />

usability <strong>of</strong> the technique [9] in text compression corpora<br />

formation.<br />

The essentiality <strong>of</strong> domain specific corpora has<br />

motivated us to design Bengali text compression<br />

evaluation corpus. The unavailability <strong>of</strong> reference or<br />

benchmark in the field has also leaded us to develop a<br />

new concept for designing a corpus.


62 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

V. PROPOSED CORPUS FOR EVALUATION OF BENGALI<br />

TEXT COMPRESSION SCHEMES<br />

We propose a new corpus for evaluation <strong>of</strong> Bengali<br />

text compression schemes namely Ekushe-Khul corpus<br />

[8]. This corpus is intended for evaluating only short and<br />

middle-sized text compression schemes rather than<br />

evaluation for large text compression. One <strong>of</strong> the worthmentionable<br />

points is, this corpus is selected by applying<br />

a new approach, which takes both TTR and Compression<br />

Ratio (CR) into account. The two concepts have been<br />

adapted because we do not have any standard and<br />

sophisticated Bengali text compression corpus available<br />

with which we may incorporate and compare the<br />

performance and thus perform the selection from<br />

candidate files as done for other existing data<br />

compression corpora.<br />

To form the corpus we have considered ten groups-<br />

Articles, Poems, Advertisements, Speeches, News, Sms,<br />

Emails, Particulars, Stories And Reports. The files are <strong>of</strong><br />

sized 4 KB to 1800 KB. The steps <strong>of</strong> constructing the<br />

proposed corpus are depicted in Fig 1.<br />

COLLECT CATEGORIZED FILES<br />

REMOVE ENGLISH AND OTHER NON-<br />

BENGALI TEXTS OR SYMBOLS<br />

CONVERT TO UNICODE<br />

CALCULATE TTR FOR EACH FILE<br />

SELECT FILES WITH<br />

MAXIMUM TTR<br />

IF MORE THAN ONE,<br />

SELECT ONE WITH<br />

MAXIMUM SOURCE FILE<br />

SIZE AND IGNORE<br />

OTHERS<br />

SELECT FILES WITH<br />

MINIMUM TTR<br />

IF MORE THAN ONE,<br />

SELECT ONE WITH<br />

MAXIMUM SOURCE<br />

FILE SIZE AND IGNORE<br />

OTHERS<br />

CATEGORY_TITLE_1.txt CATEGORY_TITLE_2.txt<br />

Fig. 1: Steps for constructing the Proposed Bengali text<br />

compression corpus.<br />

© 2010 ACADEMY PUBLISHER<br />

The files constituting the proposed Ekushe-Khul corpus<br />

are shown in Table III. A detail description on the<br />

proposed corpus selection criteria with potential issues<br />

and concerned data compression parameters that we have<br />

proposed for developing Bengali text corpora for<br />

evaluation <strong>of</strong> Bengali text compression schemes is<br />

presented in section VI.<br />

TABLE III<br />

FILES CONSTITUTING THE PROPOSED EKUSHEY-KHUL CORPUS.<br />

File Name Type<br />

Article1.txt<br />

Article2.txt<br />

Poem1.txt<br />

Poem2.txt<br />

Advertise1.txt<br />

Advertise2.txt<br />

Speech1.txt<br />

Speech2.txt<br />

News1.txt<br />

News2.txt<br />

SMS1.txt<br />

SMS2.txt<br />

Email1.txt<br />

Email2.txt<br />

Particulars1.txt<br />

Particulars2.txt<br />

Story1.txt<br />

Story2.txt<br />

Report1.txt<br />

Report2.txt<br />

Articles in Bengali<br />

Bengali Classic Poems<br />

Advertisements<br />

Various Speeches<br />

News from Newspaper<br />

Short Bengali Message<br />

Emails in Bengali<br />

Particulars<br />

Bengali Stories<br />

Academic Reports<br />

To collect the files, the first step was to remove<br />

redundancies and other components (e.g. html tags,<br />

letters and words from other languages, formatting etc.)<br />

and convert them into Unicode as several documents<br />

were non-standard encoded and saved as Unicode text<br />

files. These files are then forwarded for further analysis.<br />

For each category <strong>of</strong> files, all the files are passed to a<br />

TTR Calculator and then Compression Ratio Evaluator<br />

for selection <strong>of</strong> final documents. In case <strong>of</strong> Canterbury<br />

Corpus, which is the pioneer for data compression corpus<br />

was formed by comparing each file with the standard <strong>of</strong><br />

the Calgary Corpus <strong>of</strong> same group or category, and the<br />

file demonstrating the closest match in terms <strong>of</strong><br />

compression performance was selected. But, as no such<br />

standard exists, we had to take account <strong>of</strong> both the criteria<br />

and hence selected two with the maximum and minimum<br />

consistence.<br />

TTR is a measurement <strong>of</strong> how many times a previously<br />

encountered words repeat themselves before a new word<br />

makes its appearance in the text [2]. It is note worthy that<br />

though this measure is essential for language engineering,


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 63<br />

its application in data compression is not mandatory. For<br />

calculative approaches, TTR is calculated by dividing the<br />

total number <strong>of</strong> word tokens by the total number <strong>of</strong><br />

distinct words. Texts with a large number <strong>of</strong> distinct<br />

words result into lower TTR. For this case, the task <strong>of</strong><br />

forming a data compression dictionary appears to be<br />

more accurate. Conversely, for texts with greater TTR i.e.<br />

with greater number <strong>of</strong> frequent words (resulting lower<br />

number <strong>of</strong> distinct words) provide a suitable arena for<br />

constructing and evaluating dictionary-based and<br />

repetition-analysis oriented text compression schemes.<br />

This is the reason, which inspires us to provide peer-files<br />

for each category. The files with suffix ‘2’ indicate the<br />

file with lower TTR (suitable for text compression<br />

fluctuation evaluation) and files with suffix ‘1’ indicate<br />

greater TTR (suitable for dictionary-based text<br />

compression scheme evaluation) for the respective group.<br />

The next step involves analyzing the files in terms <strong>of</strong><br />

compression ratio [6] to establish logical and<br />

implementational validity <strong>of</strong> choosing TTR as a<br />

benchmark for constructing the corpus. Though a<br />

number <strong>of</strong> approaches exist for compression <strong>of</strong> English<br />

texts, (like Burrows-wheeler Transform [4], Arithmetic<br />

Coding, Huffman Coding etc.) it is a sad tale that, still<br />

now a little research has been dedicated for Bengali text<br />

compression schemes. The uses <strong>of</strong> non-sophisticated text<br />

compression schemes do not provide optimal<br />

performance for Bengali text compression purposes. For<br />

providing a benchmark <strong>of</strong> the proposed corpus, we adapt<br />

the dictionary based compression scheme in [7] and<br />

demonstrate the inter-relation <strong>of</strong> TTR with Compression<br />

Ratio.<br />

Unavailability <strong>of</strong> existing sophisticated and<br />

multidimensional text Bengali text compression<br />

approach, we had a little alternatives to compare the<br />

performance fluctuation <strong>of</strong> our corpora. Though there are<br />

a number <strong>of</strong> English text compression schemes available,<br />

testing with those may never provide a comprehensive<br />

view to out developed scheme with implemented<br />

prototype.<br />

VI. ASPECTS OF CORPUS SELECTION CRITERIA AND TEXT<br />

COMPRESSION PERFORMANCE<br />

Let n be the total number categories <strong>of</strong> collections <strong>of</strong><br />

texts. The categories are representative <strong>of</strong> texts bearing<br />

distinct themes with differences in sentence construction,<br />

sentence wording and sentence structure.<br />

Let the categories are c1 , c 2 , c 3 , … … , c n<br />

respectively.<br />

For category c1 the files are<br />

, f , f , … … , f<br />

f1,1 1,2 1,3<br />

1,n<br />

with length l1,1 , l1,2<br />

, l1,3<br />

, … … , l1,n<br />

, where, the<br />

length indicates total number <strong>of</strong> characters (including<br />

blank spaces, tabs, new lines and other punctuation<br />

marks).<br />

© 2010 ACADEMY PUBLISHER<br />

If there are total <strong>of</strong> w1,1 , w 1,2 , w 1,3 , … … , w1,n<br />

words in f1,1 , f 1,2 , f1,3<br />

, … … , f 1,n respectively<br />

with number <strong>of</strong> distinct words be<br />

, d , d , … …,<br />

d for the same.<br />

d1,1 1,2 1,3 1,n<br />

Here, for any file fi, j, where i denotes category index<br />

and j denotes file index, and wi ,j ≥ di,j. Assume Ti. j be<br />

the Type to Token Ratio (TTR) for file fi, j.<br />

w<br />

That is,<br />

i , j<br />

T = .<br />

i , j<br />

d<br />

i , j<br />

For any two files p, q in category i , with TTR Ti,p<br />

and T1,q, if Ti, p ≥ Ti, q indicates that, Ti, p contains larger<br />

number <strong>of</strong> distinct words than that <strong>of</strong> Ti, q.<br />

Applying this rule, TTRs are counted for the files.<br />

Then the file with maximum and minimum TTRs are<br />

selected. For the file with maximum TTR, if the elements<br />

comprise the set Sd and St for distinct words and total<br />

words respectively, then for ideal case, set Sd − St would<br />

tend towards Φ (empty or null) set.<br />

Though TTR has been considered as a means <strong>of</strong><br />

forming linguistic corpora and Natural Language<br />

Processing corpora including Information Retrieval<br />

corpora, taking it into concerns, it is possible to design<br />

Data Compression corpora too. Here, we provide an<br />

analysis has been presented on the effectiveness <strong>of</strong> using<br />

TTR as a criteria <strong>of</strong> constructing Corpora.<br />

The basic relation between TTR and word-distribution<br />

is:<br />

� If TTR is larger (greater) then, the number<br />

(frequency) <strong>of</strong> matching word is also greater;<br />

consequently, number <strong>of</strong> distinct words is smaller.<br />

� If TTR is smaller (lower) then, the number<br />

(frequency) <strong>of</strong> matching word is smaller;<br />

consequently, number <strong>of</strong> distinct word is larger.<br />

For designing dictionary based data compression<br />

approaches, TTR plays a great role. For constructing the<br />

dictionary, the prime concern is to analyze the probability<br />

<strong>of</strong> occurrence <strong>of</strong> each character or syllable or substring or<br />

words (or any combination <strong>of</strong> the mentioned units). The<br />

frequencies in which they occur are an important aspect<br />

<strong>of</strong> figuring the probability. As the total number <strong>of</strong> distinct<br />

words is greater in files with lower TTR value, the<br />

detection <strong>of</strong> the probability <strong>of</strong> syllables may be easier as<br />

the word distribution is approximately flat in those files.<br />

For building word-based dictionaries for data<br />

compression, files with higher TTR values are more<br />

effective as the recurring words may be very easily<br />

pointed out. The fluctuation may be easily identified by<br />

comparing the performance <strong>of</strong> the compression scheme<br />

using the peer files.<br />

Let us consider a tertiary dictionary based text<br />

compression approach DCA, which uses a dictionary <strong>of</strong> n<br />

items. The total items consist <strong>of</strong> c characters, s syllables<br />

and w substrings, which save (in average) sc, ss, and sw<br />

bits each. Traditionally, sw ≥ ss ≥ sc as words or<br />

substrings are generally considered as a collection <strong>of</strong><br />

syllable and/or symbols and syllables are considered as a


64 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

collection <strong>of</strong> characters, but the indices or pointers in<br />

most designs require consecutive values spanning against<br />

a threshold value. For a file with greater TTR ( i.e.<br />

Greater number <strong>of</strong> frequent words and lower number <strong>of</strong><br />

distinct words), the probability <strong>of</strong> encoding using wordbased<br />

coding is high. Consequently, the bit-savings will<br />

also be high as the saving weightage is greater for words<br />

in compassion with other units. Let the replacement <strong>of</strong><br />

number <strong>of</strong> distinct words be rw. Here, rw theoretically<br />

tends towards the total occurrence in average.<br />

Therefore, the total savings in this phase is<br />

S<br />

1<br />

=<br />

rw<br />

∑<br />

y = 1<br />

(sw<br />

y<br />

×<br />

fw<br />

y<br />

)<br />

where fw is the frequency <strong>of</strong> corresponding distinct<br />

word. That is, fw indicates the frequency <strong>of</strong> occurrence<br />

<strong>of</strong> distinct word-indexed at y and ideally, fw → tw.<br />

The number <strong>of</strong> distinct syllable rs in a collection <strong>of</strong><br />

highly distinct words should be lower. If the weightage is<br />

considered as double as distinct words, the total savings<br />

would be-<br />

S 2<br />

=<br />

rs<br />

∑<br />

y = 1<br />

(ss<br />

y<br />

×<br />

fs<br />

y<br />

)<br />

where fs is the frequency <strong>of</strong> the syllable.<br />

The rest <strong>of</strong> the characters should be encoded separately<br />

resulting savings <strong>of</strong><br />

S 3<br />

=<br />

rc<br />

∑<br />

y = 1<br />

(sc<br />

y<br />

×<br />

fc<br />

y<br />

)<br />

If we encode a total <strong>of</strong> p characters separately, which<br />

saves sp bits for each character and if we encode q words<br />

separately with an average <strong>of</strong> d characters per word,<br />

whenever even d = p, the savings will be much more<br />

greater for word based bit-savings, since the indexing <strong>of</strong><br />

the constructed code base will be approximately<br />

sequential and hence, each single character and each<br />

single word based encoding will occupy about same<br />

length.<br />

Thus, the total saving is,<br />

S = S + S + S<br />

S<br />

=<br />

1<br />

rw<br />

∑<br />

y = 1<br />

2<br />

y<br />

3<br />

(sw × fw ) +<br />

y<br />

rs<br />

∑<br />

y = 1<br />

(ss<br />

y<br />

× fs ) +<br />

y<br />

rc<br />

∑<br />

y = 1<br />

(sc × fc ) (1)<br />

For a file with lower TTR, (i.e. greater number <strong>of</strong><br />

distinct words and lower number <strong>of</strong> frequent words) there<br />

will have non-frequent occurrence <strong>of</strong> matching words and<br />

syllables. This will result extensive application and usage<br />

<strong>of</strong> character based encoding, as the primary unit <strong>of</strong><br />

encoding is character. That is, r w′<br />

< rw and fw′ → 1 .<br />

Similarly, r s′<br />

< rs and Therefore, if there are total <strong>of</strong><br />

tw words in the file, then, fs′ → 1 .<br />

But, because <strong>of</strong> remaining large number <strong>of</strong> character<br />

units, r c′<br />

→ tc′<br />

.<br />

© 2010 ACADEMY PUBLISHER<br />

y<br />

y<br />

If there a total <strong>of</strong> t w′<br />

words in the file with lower TTR<br />

values, then,<br />

∑ ′<br />

S<br />

′<br />

1 =<br />

rw<br />

y = 1<br />

and w′<br />

→ tw<br />

(sw<br />

y<br />

×<br />

fw<br />

′<br />

y<br />

f ′<br />

As low frequent words would be encountered, as much<br />

frequent syllables would be faced. However, a minor<br />

portion <strong>of</strong> the syllables may be coded in form <strong>of</strong> words.<br />

That is, we will have a larger number <strong>of</strong> character units<br />

and syllable units ( t s′<br />

and t c′<br />

) left to be coded.<br />

For syllable based coding,<br />

∑ ′ rs<br />

S<br />

′<br />

2 = (ss y × fs′<br />

y )<br />

y = 1<br />

After the two steps, a greater number <strong>of</strong> characters are<br />

left to be coded with distinct characters. Typically this<br />

value t c′<br />

may be t c′<br />

< ts′<br />

and for usual cases, t c′<br />

< tw′<br />

.<br />

Let these steps save,<br />

∑ ′ rc<br />

S<br />

′<br />

3 = (sc y × fc<br />

′ y )<br />

y = 1<br />

S ′ = S ′ + S ′ + S ′<br />

S ′ =<br />

rw′<br />

∑<br />

y = 1<br />

1<br />

(sw<br />

y<br />

2 3<br />

rs′<br />

× fw′<br />

) + (ss<br />

y<br />

∑<br />

y = 1<br />

y<br />

)<br />

× fs′<br />

) +<br />

y<br />

rc′<br />

∑<br />

y = 1<br />

(sc<br />

y<br />

× fc′<br />

) (2)<br />

It has been stated that, the ratio <strong>of</strong> bit-saving for word<br />

based , syllable based and character based encoding is<br />

4:2:1 (i.e. for the ratios a : b : c we may write, a > b ><br />

c). The ratio is taken as standard because, for character<br />

based dictionary oriented encoding, single character or<br />

symbol is considered as the primary unit. Consequently,<br />

substrings and syllables ranges from two to any higher<br />

value. The number <strong>of</strong> characters that comprises any word<br />

may ideally be considered in the range <strong>of</strong> greater than<br />

four whereas short length words may be thought <strong>of</strong> as the<br />

subgroup <strong>of</strong> substrings. Hence, it can be easily remarked<br />

that, for the above consequences,<br />

(i) S ≥<br />

′<br />

1 S1<br />

; since the number <strong>of</strong> word-matching is<br />

greater in S1 and the difference is a multiplier <strong>of</strong> four.<br />

(ii) S ≥<br />

′<br />

2 S 2 ; since the number <strong>of</strong> syllable-matching<br />

is greater in S2 and the difference is a multiplier <strong>of</strong> two.<br />

(iii) S ≤<br />

′<br />

3 S 3 ; since the number <strong>of</strong> matching-character<br />

is greater in S3 and the difference is an unit multiplier.<br />

From the above three consequences, we may easily<br />

point that, though S<br />

′<br />

3 ≥ S 3 , it is an average case that,<br />

′<br />

S will cross the saturation point or threshold value<br />

3<br />

comprising <strong>of</strong> (4 + 2 = 6) times higher amplitude.<br />

Consequently, we may easily conclude: S > S ′ .<br />

It may be also proved the same as follows:<br />

From the third clause we may write,<br />

S α = S<br />

′ ,<br />

3 + 3<br />

y


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 65<br />

where α is a constant bit-factor.<br />

From clause (i) and (ii), we can write<br />

S S ≥ S<br />

′<br />

+ S<br />

′<br />

.<br />

1 + 2 1 2<br />

From (i), (ii), we may deduce that (by adding the same<br />

value S3 / in both sides),<br />

′<br />

≥<br />

′<br />

+<br />

′<br />

1 + S 2 + S 3 S1<br />

S 2 + S 3<br />

S<br />

Being a constant factor<br />

′<br />

(3)<br />

α = 1, 2, 3, ........etc(number<br />

<strong>of</strong> bits) , we may write (3) as,<br />

S S + S + α ≥ S<br />

′<br />

+ S<br />

′<br />

+ S<br />

′<br />

(4)<br />

1 + 2 3<br />

1 2 3<br />

It has been presented that,<br />

S = S1<br />

+ S 2 + S 3<br />

and,<br />

S ′ = S1′<br />

+ S 2′<br />

+ S 3′<br />

.<br />

Hence, from (4),<br />

S + α ≥ S<br />

′<br />

.<br />

Recall from earlier explanation that, S and S / are the<br />

aggregation <strong>of</strong> bit savings for matching characters,<br />

syllables and words. Again, as the ratio <strong>of</strong> bit saving for<br />

word-based, syllable based and character based encoding<br />

is considered 4:2:1, consideration <strong>of</strong> linear transformation<br />

factor l indicates that, S will rush towards 6l where<br />

α tends words l. for the average cases.<br />

In better cases, as all the characters are likely to be precoded<br />

with either syllable based coding or word based<br />

coding section. After coding with word based and<br />

syllable based coding there will be little portion <strong>of</strong> source<br />

text left for character based coding. That is, the total<br />

saving is probable to be derived from word based saving.<br />

Consequently, S 1 + S 2 → S , whereas, character<br />

based saving will tend towards zero. S 3 → 0 .<br />

Again, being S + =<br />

′<br />

3 α S 3 ; α too will tend towards<br />

zero. That is, α → 0 .<br />

Again, from clause (i), we get,<br />

S = S ′ + α<br />

(5)<br />

1<br />

1<br />

Similarly, from clause (ii),<br />

2<br />

2<br />

1<br />

S = S ′ + α<br />

(6)<br />

2<br />

We get from (iii), S 3 = S 3′<br />

− α 3<br />

(7)<br />

Where 1 , α 2 , α 3<br />

α are non negative integer values<br />

because they all are equalizing factors in terms <strong>of</strong> bits.<br />

It has already been stated that, S 3 → 0 .<br />

Consequently, ′ 3 − α 3<br />

S will only tends towards zero<br />

if and only if, α 3 → 0 .<br />

That is, it can be clearly deduced that,<br />

α 1 2 3<br />

+ α − α = c ≥ 0 .<br />

As a result, we may write,<br />

© 2010 ACADEMY PUBLISHER<br />

α 1 2 3<br />

+ α − α ≥ 0 .<br />

It has been previously stated that, α 3 → 0 .<br />

Consequently, α1 + α 2 ≥ α 3<br />

(8)<br />

Now, (5) + (6) + (7) results-<br />

′ ′<br />

S 1 + S 2 + S 3 = S 1 + α 1 + S 2 + α 2<br />

′<br />

+ S 3 − α 3<br />

⇒ S + S + S<br />

′<br />

= S + S<br />

′ ′<br />

+ S + α + α − α<br />

1<br />

2<br />

3<br />

1<br />

⇒<br />

′ ′ ′<br />

S 1 + S 2 + S 3 = S 1 + S 2 + S 3 + c [Using (8)]<br />

⇒<br />

′ ′ ′<br />

S 1 + S 2 + S 3 ≥ S 1 + S 2 + S 3<br />

⇒ S ≥ S<br />

′ [Since c is non-negative]<br />

That is, the performance <strong>of</strong> dictionary based data<br />

compression would be better for files with larger TTR<br />

Values and the result will deteriorate for lower TTR<br />

valued files. This is the aspect, which motivates us to<br />

provide peer files <strong>of</strong> each category to recognize the<br />

fluctuation <strong>of</strong> performance for dictionary based data<br />

compression.<br />

VII. ANALYSIS AND DISCUSSIONS ON THE PROPOSED<br />

CORPUS<br />

In the previous sections, overview <strong>of</strong> the corpus has<br />

been presented. In this section, we present statistics<br />

regarding TTR and Compression ratio <strong>of</strong> the files <strong>of</strong> each<br />

groups. The experimental results demonstrate that, not<br />

only in expressing the effectiveness <strong>of</strong> any corpus, TTR<br />

may also be employed as a criteria for constructing data<br />

compressing corpus with the great scope <strong>of</strong> presenting the<br />

performance fluctuation <strong>of</strong> dictionary based (i.e.<br />

repetition analysis oriented) text compression scheme for<br />

best case and worse case analysis. The maximum TTR for<br />

each group is provided in Table IV.<br />

2<br />

TABLE IV<br />

MAXIMUM TTR FOR EACH GROUP OF FILES OF PROPOSED CORPUS<br />

File Name TTR<br />

Article1 2.944<br />

Poem1 1.451<br />

Advertise1 1.170<br />

Speech1 5.846<br />

News1 3.087<br />

SMS1 1.138<br />

Email1 2.681<br />

Particulars1 3.510<br />

Story1 4.862<br />

Report1 3.364<br />

3<br />

1<br />

2<br />

3


66 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

The minimum Type-to-Token Ratio (TTR) for each<br />

group is provided in Table V.<br />

TABLE V<br />

MINIMUM TTR FOR EACH GROUP OF FILES OF PROPOSED CORPUS<br />

File Name TTR<br />

Article2 1.042<br />

Poem2 1.132<br />

Advertise2 1.012<br />

Speech2 2.164<br />

News2 1.611<br />

SMS2 1.103<br />

Email2 1.812<br />

Particulars2 1.489<br />

Story2 2.002<br />

Report2 2.157<br />

We also analyze the compression ratio for the files<br />

using the dictionary-based approach for Bengali text<br />

compression provided in [7] and find the following<br />

statistics-<br />

6.5<br />

6<br />

5.5<br />

5<br />

4.5<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

Article<br />

Relation between TTR and Compression Ratio<br />

Poem<br />

Advertise<br />

Speech<br />

News<br />

SMS<br />

Email<br />

Particulars<br />

Story<br />

Report<br />

MAXIMUM TTR MINIMUM TTR<br />

CR OF MAX TTR FILE CR OF MIN TTR FILE<br />

Figure. 2: Relation between Type to Token Ratio and<br />

Compression Ratio.<br />

© 2010 ACADEMY PUBLISHER<br />

Fig 2, has presented a comparative analysis on<br />

Compression Ratio with TTR in terms <strong>of</strong> applicability <strong>of</strong><br />

dictionary based data compression techniques.<br />

Compression Ratio (CR) is a metric <strong>of</strong> data compression<br />

efficiency. Compression ratio indicates the number <strong>of</strong> bits<br />

required to describe one byte in compressed form. The<br />

lower the compression ratio, the better is the<br />

compression. In order to evaluate the performance<br />

fluctuation <strong>of</strong> dictionary based Bengali text compression<br />

schemes, we propose to use the peer files with<br />

assumption that, the best case would be obtained from the<br />

files with greater TTR values and the worse case will<br />

occur for lower TTR files. The construction <strong>of</strong> the<br />

dictionary may really be facilitated from the files with<br />

larger TTR.<br />

As, there is no existing corpus for evaluation <strong>of</strong><br />

Bengali Text Compression Scheme, it is not possible to<br />

incorporate any comparative analysis with respect to any<br />

parameter. Because <strong>of</strong> the same in terms <strong>of</strong> compression<br />

benchmarks, there is no way to integrate the performance<br />

(effectiveness) analysis <strong>of</strong> proposed corpus. Basically,<br />

this is the reason which leads us to develop a new scheme<br />

for designing any corpus without any reference<br />

benchmarks. The proposed scheme is also to some extent<br />

a novel approach for automatic creation and evaluation <strong>of</strong><br />

suitability (or unsuitability) <strong>of</strong> any corpora.<br />

VIII. APPLICABILITY OF PROPOSED CORPUS FORMATION<br />

SCHEME FOR OTHER LANGUAGES<br />

The proposed method <strong>of</strong> building a text corpus for<br />

evaluation <strong>of</strong> Bengali text compression scheme is also<br />

applicable for non-Bengali data compression corpus<br />

formation. As per the presented scheme for building the<br />

corpus, we analyze various statistical analysis <strong>of</strong> the<br />

source text to decide whether the text will be included or<br />

not irrespective <strong>of</strong> the text-structure and other linguistic<br />

features. This text-structure independence feature<br />

provides a greater flexibility in applying the proposed<br />

concept for non-Bengali text.<br />

We have already presented the theoretical background<br />

<strong>of</strong> choosing the peer files in view <strong>of</strong> dictionary based<br />

compression scheme. Here the same has been described<br />

in terms <strong>of</strong> traditional character based encoding scheme.<br />

For a character based encoding scheme i.e. a singlegram<br />

based coding approach, the main strategy is to<br />

define code-words for each character and then replacing<br />

each character with corresponding code-word. The codewords<br />

are considered as binary stream and in practical<br />

cases the encoding scheme takes static coding into<br />

account. Static coding is an encoding mechanism where<br />

source components are encoded with non-conflicting<br />

variable length binary stream. In the simplest case, the<br />

length <strong>of</strong> each binary stream to be used for representing<br />

each character is determined through their frequency<br />

distribution. Often this length determination is obtained


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 67<br />

through probabilistic distribution based component<br />

ranking schemes.<br />

Let there are n unit source symbols in the source<br />

language. That is, the total number <strong>of</strong> letters in the source<br />

language be n. If TTR is larger (greater) then the number<br />

(frequency) <strong>of</strong> matching word is also greater;<br />

consequently, number <strong>of</strong> distinct words is smaller.<br />

Whenever there will greater number <strong>of</strong> matching words,<br />

it may be assumed that, for average cases, the number <strong>of</strong><br />

matching characters will also be greater. This may not be<br />

the same if the non-repeating words or low-repeating<br />

words individually contain unusually large set <strong>of</strong><br />

repeating characters and consequently, even though the<br />

frequency <strong>of</strong> matching character is greater, sum <strong>of</strong> the<br />

characters present in the non-matching words is greater.<br />

That is, for a n character-set based language if the<br />

considering text consist <strong>of</strong> m characters, and there are tmw<br />

matching words where each <strong>of</strong> the matching word<br />

contains an average <strong>of</strong> acw characters, the total pool <strong>of</strong><br />

matching character is tmw * acw . Being n character-set<br />

based language, this pool <strong>of</strong> matching character may<br />

contain at best n distinct characters. That is, the TCR<br />

(Type to Character Ratio in analogy with TTR, Type to<br />

Token ratio) <strong>of</strong> the file will be a multiplier <strong>of</strong> u = 1/n .<br />

Consequently, for any file with greater TTR, will have a<br />

large multiplier <strong>of</strong> u. As for practical cases we may<br />

assume that the average fluctuation <strong>of</strong> each word-length<br />

from average number <strong>of</strong> characters per word is<br />

approximately zero, we may consider the word length<br />

versus character distribution <strong>of</strong> the source text as a linear<br />

distribution. As a result, it may assume that, whenever<br />

there will have greater number <strong>of</strong> frequently occurring<br />

words, it implies frequently occurring characters.<br />

Whenever static coding is used, the code-words are<br />

defined according to the frequency <strong>of</strong> the occurring<br />

elements. That is, frequently appearing elements will be<br />

assigned lower bit consuming codes in order to minimize<br />

the total overhead (in terms <strong>of</strong> bit consumption) whereas,<br />

the non-frequently occurring elements may be coded with<br />

greater threshold value. The same may be expressed in<br />

terms <strong>of</strong> Type to Character Ratio (TCR) that, elements<br />

with larger TCR will be assigned low overhead and<br />

elements with lower TCR will be assigned with grater<br />

overhead in comparison with lower TCR elements. If we<br />

want to deploy such scheme for employing in Bengali<br />

text compression scheme, it is an effective idea to build<br />

such a corpus which will contain reversible components,<br />

which presents the fluctuation <strong>of</strong> TCR clearly. That is, to<br />

provide a sound evaluation <strong>of</strong> the corpus, it may<br />

inherently express that, for a suitable corpus<br />

taw ∝ tac<br />

and,<br />

t<br />

t<br />

t<br />

aw<br />

dw<br />

∝<br />

t<br />

t<br />

taw ac ∝<br />

dw<br />

t<br />

n<br />

ac<br />

dc<br />

© 2010 ACADEMY PUBLISHER<br />

Where,<br />

taw = Total number <strong>of</strong> words appeared in the source<br />

text.<br />

tdw = Total number <strong>of</strong> distinct words in the source<br />

text.<br />

tac = Total number <strong>of</strong> characters appeared in the<br />

source text.<br />

taw = Total number <strong>of</strong> distinct characters in the<br />

source text.<br />

n = Total number <strong>of</strong> symbols in the source language.<br />

This criteria demonstrates an important and to some<br />

extent essential aspect <strong>of</strong> forming a data compression<br />

corpus that will facilitate <strong>of</strong> an effective and efficient<br />

design and implementation scheme <strong>of</strong> text compression<br />

approaches irrespective <strong>of</strong> language. Though the main<br />

concern or uses <strong>of</strong> data compression corpus that has been<br />

adapted traditionally is only evaluation <strong>of</strong> compression<br />

scheme, the evolving nature <strong>of</strong> data management has<br />

motivated (and necessarily forced) to develop corpora for<br />

being considered as a knowledgebase as well as test-base<br />

for text compression scheme. The analysis presented in<br />

this paper establishes the criteria to be taken into<br />

consideration for building any dictionary based text<br />

compression scheme irrespective <strong>of</strong> adapting single-gram<br />

dictionary based text compression or multi-gram<br />

dictionary based compression.<br />

VIII. CONCLUSION<br />

We have proposed a new Corpus for evaluation <strong>of</strong><br />

Bengali text compression schemes named Ekushey-Khul.<br />

The methodology is also robust to some extent that, it<br />

takes both linguistic and compression-ratio into account.<br />

It is also a contribution that, we specify new criteria for<br />

choosing text compression corpus, which includes<br />

consideration <strong>of</strong> expected device and the changed attitude<br />

<strong>of</strong> text varying with communication framework for which<br />

the compression is intended. Though it is an inaugurating<br />

step towards forming a Bengali text compression<br />

evaluation corpus, further improvement may be achieved<br />

by integrating other types and modes <strong>of</strong> document like<br />

technical documents, Bengali dictionary, and Bengali<br />

spreadsheets etc. with consideration <strong>of</strong> more training<br />

files.<br />

REFERENCES<br />

[1] Ross Arnold, and Tim Bell, “A Corpus for the evaluation<br />

<strong>of</strong> lossless compression algorithms”, Data Compression<br />

Conference, pp. 201-210, IEEE Computer Society Press,<br />

1997.<br />

[2] Khair Md. Yeasir Arafat Majumder, Md. Zahurul Islam,<br />

and Majuzmder Khan, “Analysis <strong>of</strong> and Observations from<br />

a Bangla News Corpus”, Proceedings <strong>of</strong> 9th International<br />

Conference on Computer and Information technology<br />

ICCIT 2006, pp. 520-525, 2006.<br />

[3] Mat Powel, “Evaluating Lossless Compression<br />

Algorithms”, February, 2001.


68 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

[4] N. S. Dash, “Corpus Linguistics and Language<br />

Technology”, 2005.<br />

[5] Official Web site <strong>of</strong> Prothom-Alo, www.prothom-alo.com<br />

[6] M. Burrows and D. J .Wheeler. “A block sorting lossless<br />

data compression algorithm”. Technical report, Digital<br />

Equipment Corporation, Palo Alto, CA, 1994.<br />

[7] S. A. Ahsan Rajon, “A study on Bengali Text Compression<br />

Schemes”, Research Report, Khulna University, Khulna,<br />

June 2008.<br />

[8] Md. Rafiqul Islam, and S. A. Ahsan Rajon, “On the<br />

Design <strong>of</strong> an Effective Corpus for Evaluation <strong>of</strong> Bengali<br />

Text Compression Schemes”, Proceedings <strong>of</strong> 11th<br />

International Conference on Computer and Information<br />

Technology (ICCIT 2008), 25-27 December, 2008, Khulna,<br />

Bangladesh, pp. 236-241.<br />

[9] Niladri Sekhar Dash, “Some Techniques Used for<br />

Processing Bengali Corpus to Meet New Demands <strong>of</strong><br />

Linguistics and Language Technology”, SKASE <strong>Journal</strong> <strong>of</strong><br />

Theoretical Linguistics. 2007, vol. 4, no. 2 ISSN 1336-<br />

782X.<br />

[10] Avik Sarkar, Anne De Roeck , A Framework for<br />

Evaluating the Suitability <strong>of</strong> Non-English Corpora for<br />

Language Engineering [online].<br />

[11] Akshar Bharathi, Rajeev Sangal and Sushma M Bendre:<br />

Some Observations Regarding Corpora <strong>of</strong> Indian<br />

Languages. Proc. <strong>of</strong> Int. Conf. on Knowledge-Based<br />

Computer Systems (KBCS-98), 17-19 Dec 1998, NCST,<br />

Mumbai.<br />

[12] Niladri Sekhar Dash and Bidyut Baran Chaudhuri , Why<br />

do we need to develop corpora in indian languages.<br />

[online]<br />

[13] Upal Garain, B. B. Chaudhuri, “A Complete printed<br />

Bangla OCR System”, Pattern Recognition <strong>Journal</strong>, Vol.<br />

31, No. 5, pp. 531 – 549, Elseiver Science Limited, 1998.<br />

© 2010 ACADEMY PUBLISHER<br />

Md. Rafiqul Islam obtained Master <strong>of</strong> Science (M. S.) in<br />

Engineering (<strong>Computers</strong>) from Azerbaijan Polytechnic Institute<br />

(Azerbaijan Technical University at present) in 1987 and Ph.D.<br />

in Computer Science from Universiti Teknologi Malaysia<br />

(UTM) in 1999. His research areas include design and analysis<br />

<strong>of</strong> algorithms and Information Security. Dr. Islam has got a<br />

number <strong>of</strong> papers related to these areas published in national<br />

and international journals as well as in referred conference<br />

proceedings.<br />

He is currently working as the Head <strong>of</strong> Computer Science<br />

and Engineering Discipline, Khulna University, Bangladesh<br />

S. A. Ahsan Rajon is an Adjunct Faculty <strong>of</strong> Computer<br />

Science and Engineering Discipline, Khulna University,<br />

Khulna. He has completed his graduation from the same<br />

discipline in April 2008. He is also pursuing M.B.A. from<br />

Business Administration Discipline under Management and<br />

Business Administration School <strong>of</strong> same university. Rajon has<br />

made several publications in International conferences. His<br />

research interest includes data engineering and management,<br />

electronic commerce and ubiquitous computing. Currently he is<br />

working on robotics.<br />

He is a member <strong>of</strong> Institute <strong>of</strong> Engineers, Bangladesh (IEB).


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 69<br />

A Corpus-based Evaluation <strong>of</strong> a Domain-specific<br />

Text to Knowledge Mapping Prototype<br />

Rushdi Shams<br />

Department <strong>of</strong> Computer Science and Engineering, Khulna University <strong>of</strong> Engineering & Technology (KUET),<br />

Bangladesh<br />

Email: rushdecoder@yahoo.com<br />

Adel Elsayed<br />

M3C Research Lab, the University <strong>of</strong> Bolton, United Kingdom<br />

Email: a.elsayed@bolton.ac.uk<br />

Quazi Mah- Zereen Akter<br />

Department <strong>of</strong> Computer Science & Engineering, University <strong>of</strong> Dhaka, Bangladesh<br />

Email: mahzereen@yahoo.com<br />

Abstract— The aim <strong>of</strong> this paper is to evaluate a Text to<br />

Knowledge Mapping (TKM) Prototype. The prototype is<br />

domain-specific, the purpose <strong>of</strong> which is to map<br />

instructional text onto a knowledge domain. The context <strong>of</strong><br />

the knowledge domain is DC electrical circuit. During<br />

development, the prototype has been tested with a limited<br />

data set from the domain. The prototype reached a stage<br />

where it needs to be evaluated with a representative<br />

linguistic data set called corpus. A corpus is a collection <strong>of</strong><br />

text drawn from typical sources which can be used as a test<br />

data set to evaluate NLP systems. As there is no available<br />

corpus for the domain, we developed and annotated a<br />

representative corpus. The evaluation <strong>of</strong> the prototype<br />

considers two <strong>of</strong> its major components- lexical components<br />

and knowledge model. Evaluation on lexical components<br />

enriches the lexical resources <strong>of</strong> the prototype like<br />

vocabulary and grammar structures. This leads the<br />

prototype to parse a reasonable amount <strong>of</strong> sentences in the<br />

corpus. While dealing with the lexicon was straight forward,<br />

the identification and extraction <strong>of</strong> appropriate semantic<br />

relations was much more involved. It was necessary,<br />

therefore, to manually develop a conceptual structure for<br />

the domain to formulate a domain-specific framework <strong>of</strong><br />

semantic relations. The framework <strong>of</strong> semantic relations-<br />

that has resulted from this study consisted <strong>of</strong> 55 relations,<br />

out <strong>of</strong> which 42 have inverse relations. We also conducted<br />

rhetorical analysis on the corpus to prove its<br />

representativeness in conveying semantic. Finally, we<br />

conducted a topical and discourse analysis on the corpus to<br />

analyze the coverage <strong>of</strong> discourse by the prototype.<br />

Index Terms— Corpus, Knowledge Representation,<br />

Ontology, Lexical Components, Knowledge Model,<br />

Conceptual Structure, Semantic Relations, Discourse<br />

Analysis, Topical Analysis<br />

I. INTRODUCTION<br />

Text to Knowledge Mapping (TKM) Prototype [1] is a<br />

domain-specific NLP system, the purpose <strong>of</strong> which is to<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.69-80<br />

parse instructional text and to model it with its predefined<br />

ontology. During development, the prototype has<br />

been tested with a limited data set from the domain<br />

instructional text on DC electrical circuit. The prototype<br />

reached a stage where its lexical components and<br />

knowledge model need to be evaluated with a<br />

representative linguistic data set, a corpus- a collection <strong>of</strong><br />

text drawn from typical sources. Information retrieval<br />

during parsing, activation <strong>of</strong> concepts and relating them<br />

with predicate and semantic relations contribute to map<br />

and model domain-specific text on its knowledge domain.<br />

Therefore, the usability <strong>of</strong> the TKM prototype as a<br />

specialized knowledge representation tool for the domain<br />

depends on the evaluation <strong>of</strong> its lexical components like<br />

vocabulary and grammar structures, knowledge model<br />

like ontology and coverage <strong>of</strong> discourse.<br />

An important precondition to evaluate NLP systems is<br />

the availability <strong>of</strong> a suitable set <strong>of</strong> language data called<br />

corpus as test and reference material [2]. With an<br />

extensive web-based search, we did not find any corpus<br />

for the domain DC electrical circuit. Therefore, we need<br />

to develop a representative corpus to evaluate the<br />

prototype because a representative corpus reflects the<br />

way language is used in the domain [3]. A usable corpus<br />

requires various annotations according to the scope and<br />

type <strong>of</strong> evaluation. As we intend to evaluate both the<br />

lexical components and knowledge model <strong>of</strong> the TKM<br />

prototype, the corpus should be annotated with<br />

information like Parts <strong>of</strong> Speech (POS) tagging, phrasal<br />

structure annotations, and stem word tagging. These<br />

annotations can lead us to adjust the lexical components<br />

<strong>of</strong> the prototype according to the qualitative and<br />

quantitative layers [1] [4] <strong>of</strong> its knowledge model.<br />

Thereafter, evaluation on knowledge representation <strong>of</strong> the<br />

prototype demands both development <strong>of</strong> domain-specific<br />

ontology and a generic framework <strong>of</strong> semantic relations<br />

in the domain. The evaluation helps developing a


70 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

representative knowledge representation tool for the<br />

domain DC electrical circuit.<br />

In this paper, we proposed a stochastic development<br />

procedure <strong>of</strong> a domain-specific representative corpus that<br />

is used to evaluate two major components <strong>of</strong> the TKM<br />

prototype. We presented detail procedure <strong>of</strong> corpus-based<br />

evaluation <strong>of</strong> an NLP system- that includes enriching the<br />

lexicon and morphological database, testing the parsing<br />

ability <strong>of</strong> the prototype, and the adjustment <strong>of</strong> the lexical<br />

components according to the linguistic information in the<br />

corpus. We also developed ontology according to the<br />

human conceptualization. As successful knowledge<br />

representation depends on predicate and semantic<br />

relations in the text, we developed frameworks for<br />

semantic relations with which any NLP system can read<br />

and realize text in the domain. We evaluated the coverage<br />

<strong>of</strong> discourse by the TKM prototype with a topical and<br />

discourse analysis on the corpus.<br />

The remainder <strong>of</strong> this paper is organized as follows. In<br />

Section II, corpus-based evaluations <strong>of</strong> various NLP<br />

systems have been discussed. Section III describes the<br />

proposed procedure <strong>of</strong> representative corpus development<br />

and annotations. Section IV describes the evaluation <strong>of</strong><br />

lexical components <strong>of</strong> the TKM prototype such as the<br />

vocabulary and grammar structure. Section V contains<br />

the outline <strong>of</strong> developing an ontology and framework for<br />

semantic relations. The section also includes the<br />

rhetorical and topical analysis. Section VI concludes the<br />

paper.<br />

II. RELATED WORK<br />

A text based domain-specific NLP system can be<br />

evaluated according to the type, context or discourse <strong>of</strong><br />

text from the domain although no established agreement<br />

has been developed on test sets and training sets [5].<br />

Corpus is not restricted today only for researches on<br />

linguistics [6]; it is now becoming the principal resource<br />

to evaluate such domain-specific NLP systems. Many<br />

NLP systems like Saarbrucker Message Extraction<br />

System (SMES) [8] have been tested with a corpus as<br />

proper evaluation depends on a representative test set <strong>of</strong><br />

data like corpus [7]. Corpus contains structured and<br />

variable but representative text. A corpus is said<br />

representative if the findings from it can be generalized to<br />

language or a particular aspect <strong>of</strong> language as a whole<br />

[3]. Corpus-based evaluations like MORPHIX [9] and<br />

MORPHIX++ [7] showed that the evaluation with a<br />

representative corpus results in proper adjustments.<br />

MORPHIX++ was tested with a corpus and systematic<br />

inspection revealed some necessary adjustments like<br />

missing lexical entries, discrepant morphology<br />

incomplete or erroneous single words.<br />

NLP systems use either pre-defined or customized<br />

grammar rules. For instance, the lexical components <strong>of</strong><br />

the TKM prototype use Combinatory Categorical<br />

Grammar (CCG) [10]. The prototype follows some<br />

specific clausal and phrasal structures according to CCG.<br />

As it follows a particular grammar, we need to adjust the<br />

grammar and phrasal structures according to the<br />

structures <strong>of</strong> text from the domain. For example, TKM<br />

© 2010 ACADEMY PUBLISHER<br />

prototype, on its early test, was able to parse simple<br />

sentences only [35]. This becomes a drawback if majority<br />

<strong>of</strong> text in the domain is written in compound and complex<br />

sentences. Therefore, necessary adjustment on CCG can<br />

let the prototype parse compound and complex sentences<br />

as well. In addition, NLP systems may recognize specific<br />

clausal and phrasal structure which maybe absent in<br />

domain-specific text. For example, if an NLP system uses<br />

grammars that handle one subject and one object, both<br />

parsing and knowledge extraction from domain-specific<br />

text becomes difficult if majority <strong>of</strong> the text contains<br />

more than one subject and one object. These linguistic<br />

properties <strong>of</strong> domain-specific text bring in the issue <strong>of</strong><br />

adjustment. The lexicographical resources <strong>of</strong> such<br />

systems can be increased by analyzing linguistic patterns<br />

in domain-specific corpus. Statistical data like frequency<br />

<strong>of</strong> words, number <strong>of</strong> simple, complex or compound<br />

sentences, number <strong>of</strong> subject and object present in the<br />

sentences assist to adjust the lexical components <strong>of</strong> the<br />

systems. The grammar structure MORPHIX++ supported<br />

was not efficient in its early days. It was adjusted and<br />

extended according to the corpus used as its test suite.<br />

The text in the corpus sometimes conveys ambiguity to<br />

a knowledge mapping prototype if its knowledge model<br />

differs from human cognition. For a sentence a resistor is<br />

both a circuit component and a diagrammatic<br />

representation, the role <strong>of</strong> a resistor is a component in<br />

physical connection or a component in diagram. To<br />

differentiate between them, the machine has to<br />

conceptualize the domain like human. We need semantic<br />

relations in text to conceptualize the domain. If a<br />

knowledge model is developed with domain-specific<br />

semantic relations, then machine identifies the proper role<br />

played by a concept in the domain. Semantic relations for<br />

a large domain can be obtained by developing conceptual<br />

structure <strong>of</strong> the domain with concept maps as it represents<br />

both textual and semantic relations graphically [11].<br />

A team at Information Sciences Institute <strong>of</strong> University<br />

<strong>of</strong> Southern California was working on computer-based<br />

authoring. They suffered for an unavailability <strong>of</strong> a theory<br />

<strong>of</strong> discourse structure. Responding to this, Rhetorical<br />

Structure Theory (RST) was developed out <strong>of</strong> studies <strong>of</strong><br />

edited or carefully prepared text from a wide variety <strong>of</strong><br />

sources. It now has a status in linguistics that is<br />

independent <strong>of</strong> its computational uses [29]. RST is an<br />

approach to the study <strong>of</strong> text organization which<br />

conceptualizes in relational terms a domain within the<br />

semantic stratum [30]. After the formulation <strong>of</strong> RST in<br />

the 1980s, it becomes an emerging area <strong>of</strong> research for<br />

computational linguistics. It eventually draws the<br />

attention <strong>of</strong> researchers in natural language processing.<br />

Discourse analysis helps understanding the behaviour<br />

<strong>of</strong> a domain-specific NLP system in its discourse. Corpus<br />

is a strong source <strong>of</strong> discourse analysis as linguistic and<br />

semantic relations confined in it play important role to<br />

manifest, adjust and extend systems to attune with its<br />

discourse. Researches like [31], [32], and [33]<br />

incorporated corpus in discourse analysis where<br />

emphases were given on finding linguistic relations,<br />

manual annotation and correlation <strong>of</strong> discourse structures.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 71<br />

III. CORPUS DEVELOPMENT<br />

In this section, we will discuss regarding the<br />

development approach <strong>of</strong> a domain-specific corpus, pro<strong>of</strong><br />

or its representativeness, and its annotation procedure.<br />

A. Development Approach<br />

As we did not find any corpus for the domain DC<br />

electrical circuit with extensive web searches, we<br />

initiated WebBootCaT [12] to develop a representative<br />

corpus. We developed five corpora using the<br />

WebBootCaT and analyzed them by comparing the<br />

number <strong>of</strong> distinct domain-specific terms and number <strong>of</strong><br />

distinct words present. The significant difference between<br />

these two numbers and inconsistency on the size <strong>of</strong> the<br />

corpus in Figure 1 state that web-based tools are not<br />

usable to develop domain-specific corpora.<br />

Figure 1. Inconsistency <strong>of</strong> WebBootCat to develop domain-specific corpus.<br />

Therefore, we decided to develop the corpus manually<br />

and collected text from 141 web resources containing<br />

1,029 sentences and 18,834 words. During the<br />

development, we left the non textual information (e.g.,<br />

equations and diagrams) as the TKM prototype operates<br />

only on text.<br />

B. Representativeness <strong>of</strong> the Corpus<br />

The representativeness <strong>of</strong> the corpus can be justified<br />

with a notion <strong>of</strong> saturation or closure described by [13].<br />

© 2010 ACADEMY PUBLISHER<br />

At the lexical level, saturation can be tested by dividing<br />

the corpus into equal sections in terms <strong>of</strong> number <strong>of</strong><br />

words or any other parameters. If another section <strong>of</strong> the<br />

identical size is added, the number <strong>of</strong> new items in the<br />

new section should be approximately the same as in other<br />

sections [14].<br />

Figure 2. Representativeness <strong>of</strong> the corpus with technical terms, verbs, prepositions and coordinators


72 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

To find out the representativeness for the corpus, it has<br />

been segmented into 15 samples. Each sample is<br />

comprised <strong>of</strong> 1,267 words on average. We plotted the<br />

cumulative frequency <strong>of</strong> the most frequent technical<br />

terms in the samples.<br />

Figure 2 depicts that the presence <strong>of</strong> the domainspecific<br />

technical terms becomes stationary after a few<br />

samples. This is one <strong>of</strong> the criteria showing the<br />

representativeness <strong>of</strong> the corpus. After a certain point, no<br />

matter how much text we add to the corpus, the<br />

frequencies <strong>of</strong> the terms are becoming stationary.<br />

Similarly, we counted the frequency <strong>of</strong> non-technical<br />

words in the corpus and grouped them according to their<br />

parts <strong>of</strong> speech. Statistics on verbs, prepositions and coordinators<br />

in Figure 2 show that the corpus has been<br />

saturated after sample 11.<br />

We also counted the frequency <strong>of</strong> types <strong>of</strong> sentences in<br />

the corpus. As the domain contains instructional text and<br />

most <strong>of</strong> which are simple sentences, it needs to be<br />

reflected on the corpus as well. Figure 3 shows that<br />

majority <strong>of</strong> the text is simple sentence (in percentage).<br />

Figure 3. Sentence structure in the corpus<br />

C. Corpus Annotation<br />

To annotate the corpus with POS tags, Cognitive<br />

Computation Group POS tagger [15] has been used as it<br />

works on the basis <strong>of</strong> learning techniques like Sparse<br />

Techniques on Winnows (SNOW). The corpus is<br />

annotated with nine parts <strong>of</strong> speech include noun,<br />

pronoun, verb, adverb, adjective, preposition,<br />

coordinator, determiner, and modal. The phrasal structure<br />

<strong>of</strong> the corpus has been annotated by the slash-notation<br />

grammar rules defined by CCG. We developed an XML<br />

version <strong>of</strong> the corpus with seven tags.<br />

IV. EVALUATION OF LEXICAL COMPONENTS<br />

The evaluation <strong>of</strong> vocabulary and the grammar<br />

structure <strong>of</strong> the prototype are illustrated in this section.<br />

This section also refers to the efficiency in parsing and<br />

richness <strong>of</strong> lexical entries <strong>of</strong> the prototype.<br />

A. Evaluation <strong>of</strong> Vocabulary<br />

The lexicon <strong>of</strong> the prototype is mapped on the unique<br />

words <strong>of</strong> the corpus. The words present both in the<br />

morphology and in corpus are called the vocabulary <strong>of</strong><br />

the prototype. Initially, only five percent <strong>of</strong> the<br />

vocabulary was covered by the prototype (Table I).<br />

© 2010 ACADEMY PUBLISHER<br />

TABLE I.<br />

PRELIMINARY VOCABULARY COVERAGE OF THE TKM PROTOTYPE<br />

Words in Morphology Unique Words in Vocabulary<br />

and in Corpus<br />

the Corpus Coverage<br />

101 1,902 5%<br />

MORPHIX++, a second generation NLP system,<br />

covered 91 percent <strong>of</strong> word in the corpus developed to<br />

evaluate it. The reason behind this difference is the<br />

augmentation <strong>of</strong> the vocabulary <strong>of</strong> MORPHIX++ ran<br />

parallel with the development <strong>of</strong> the system where the<br />

main focus in case <strong>of</strong> TKM prototype was to develop an<br />

operational system first rather than increasing its<br />

vocabulary.<br />

We used the POS tags <strong>of</strong> the corpus to populate the<br />

lexicon. We retrieved every distinct word for each<br />

distinct POS from the corpus and we simply added it if<br />

that word was absent in the lexicon. The number <strong>of</strong> added<br />

entries into the lexicon is shown in Table II. On<br />

completion <strong>of</strong> the process, the vocabulary <strong>of</strong> the<br />

prototype covers 90 percent <strong>of</strong> the corpus (Table III).<br />

TABLE II.<br />

AUGMENTATION OF LEXICAL ENTRIES IN THE TKM PROTOTYPE<br />

POS Augmented Entries<br />

Determiner 19<br />

Coordinator 5<br />

Noun and Pronoun 2,094<br />

Adjective 364<br />

Preposition 71<br />

Adverb 177<br />

Verb 264<br />

TABLE III.<br />

VOCABULARY OF THE TKM PROTOTYPE<br />

Words in Morphology Unique Words in Vocabulary<br />

and in Corpus the Corpus<br />

Coverage<br />

1,783 1,902 90%<br />

B. Evaluation <strong>of</strong> Grammar<br />

The TKM prototype struggles to parse modals or<br />

auxiliary verb because CCG does not provide any<br />

specification to categorize modals into finite and nonfinite<br />

[16]. We defined grammar formalisms for modals<br />

and adjusted the lexicon that increased the ability <strong>of</strong> the<br />

prototype to parse modals.<br />

CCG does not have any mechanism for phrasal<br />

structures like adjective–adjective–noun although<br />

researches showed that numerous adjectives can be<br />

placed before a noun [17]. Except the regular adjectives,<br />

we defined grammar formalisms for noun equivalents<br />

(e.g., two common types <strong>of</strong> circuits), participle equivalent<br />

(e.g., the connected wire), gerund equivalents (e.g., the<br />

conducting material), and adverb equivalents (e.g., the<br />

above circuit is series circuit) <strong>of</strong> adjectives that increased<br />

the rate <strong>of</strong> parsing adjectives.<br />

CCG is unable to parse sentences that start and end<br />

with a prepositional phrase [18]. For example, in series<br />

circuit, the current is a single current- this sentence is not


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 73<br />

parsed by CCG. In contrast, the current is a single<br />

current in series circuit- is sometimes parsed by CCG.<br />

The lexicon the prototype is using has nine different types<br />

<strong>of</strong> prepositions. Sometimes, it is difficult to even identify<br />

regular prepositions. For instance, the sum <strong>of</strong> potential<br />

differences in a circuit adds up to zero voltage- Though<br />

in regular grammars, up is not treated as adverbs- these<br />

are called particles where prepositions have no objects<br />

and require specific verbs with them (e.g., throw out, add<br />

up). The parsing ability <strong>of</strong> the prototype increased as we<br />

defined grammar rules for such prepositions.<br />

Complementizer, although it is a form <strong>of</strong> preposition, it<br />

is not recognized by CCG. Adverbs, on the other hand,<br />

have a strong coverage by CCG. In many cases, adverbs<br />

sit at the end <strong>of</strong> the sentence- CCG does not provide any<br />

category to define these adverbs although it has fully<br />

featured adverb categories for other two positions <strong>of</strong> an<br />

adverb in sentence- adverbs that start a sentence or that<br />

sit in the middle <strong>of</strong> a sentence. These issues have been<br />

resolved by adding new grammar rules.<br />

The lexicon has two categories for coordinatorssitting<br />

at the beginning <strong>of</strong> a sentence (e.g., since, as) and<br />

relating two clauses (e.g., and, or). CCG defined that they<br />

can be in the middle <strong>of</strong> two noun phrases only with<br />

np\np/np but the sentence series and parallel circuits are<br />

the types <strong>of</strong> circuits has the category n\n/n rather than<br />

np\np/np. CCG handles adverbs and conjunctions well<br />

but it seriously lags in handling sentences having similar<br />

verbs as in the sentence the sum <strong>of</strong> current flowing into<br />

the junction is eventually equal to the sum <strong>of</strong> current<br />

flowing out <strong>of</strong> the junction. The identical verbs flowing<br />

(gerund) appear twice with another verb (be) is<br />

concerning. Moreover, a verb has to be present in a<br />

sentence to form predicate argument structure but we<br />

discovered that there are sentences which do not have any<br />

verbs- the bigger the resistance, the smaller the current.<br />

Gerund <strong>of</strong> verb is known as noun. Gerund is formed by<br />

placing ing at the end <strong>of</strong> the verb. For example, current<br />

flowing into a junction is equal to the current flowing out<br />

<strong>of</strong> the junction- in this sentence, flowing is a gerund.<br />

Gerunds are not treated as nouns in CCG. In other words,<br />

gerunds, if treated as nouns in CCG, the sentence<br />

struggles to be parsed.<br />

After creating grammar rules and phrasal structures<br />

and adding them into the lexicon and morphology <strong>of</strong> the<br />

prototype, the parsing ability <strong>of</strong> the prototype increased to<br />

31 percent (Table IV). Although the prototype was tested<br />

with a limited dataset, it was unable to parse any sentence<br />

from the corpus before the evaluation.<br />

TABLE IV.<br />

AUGMENTATION OF LEXICAL ENTRIES IN THE TKM PROTOTYPE<br />

State <strong>of</strong> the<br />

Prototype<br />

Total<br />

Sentences<br />

Parsed<br />

Sentences<br />

Efficiency<br />

Preliminary 1,029 0 0%<br />

Evaluated 981 300 31%<br />

We analyzed the 300 sentences parsed by the prototype<br />

and figured out the number <strong>of</strong> subject, object and verb<br />

they consist. In Figure 4, we see that the prototype works<br />

well when the number <strong>of</strong> subjects and objects in a<br />

© 2010 ACADEMY PUBLISHER<br />

sentence do not exceed two and when the number <strong>of</strong><br />

verbs does not exceed one.<br />

The inefficiency <strong>of</strong> the prototype to parse sentence is<br />

due to the absence <strong>of</strong> phrasal structures (hence, the<br />

categories). 69 percent <strong>of</strong> the sentences in the corpus<br />

have phrasal structures that are not supported by the CCG<br />

structure. It should be noted that the prototype fails to<br />

parse sentences even for absence <strong>of</strong> just one category. For<br />

example, One simple DC circuit consists <strong>of</strong> a voltage<br />

source (battery or voltaic cell) connected to a resistor –<br />

this sentence is not parsed by the prototype for the<br />

absence <strong>of</strong> category <strong>of</strong> conjunction or (np\n/np) and for<br />

the category <strong>of</strong> verb connected (s\np/pp). In the corpus,<br />

these absent categories are identified so that modification<br />

<strong>of</strong> the lexicon becomes easier.<br />

Figure 4. Number <strong>of</strong> subjects, objects, and verbs in the<br />

sentences parsed by TKM prototype.<br />

The inefficiency <strong>of</strong> the prototype to parse sentence is<br />

due to the absence <strong>of</strong> phrasal structures (hence, the<br />

categories). 69 percent <strong>of</strong> the sentences in the corpus<br />

have phrasal structures that are not supported by the CCG<br />

structure. It should be noted that the prototype fails to<br />

parse sentences even for absence <strong>of</strong> just one category. For<br />

example, One simple DC circuit consists <strong>of</strong> a voltage<br />

source (battery or voltaic cell) connected to a resistor –<br />

this sentence is not parsed by the prototype for the<br />

absence <strong>of</strong> category <strong>of</strong> conjunction or (np\n/np) and for<br />

the category <strong>of</strong> verb connected (s\np/pp). In the corpus,<br />

these absent categories are identified so that modification<br />

<strong>of</strong> the lexicon becomes easier.<br />

V. EVALUATION OF KNOWLEDGE MODEL<br />

In this section, we will discuss the procedure <strong>of</strong><br />

developing a domain-specific ontology and framework<br />

for semantic relations. The results <strong>of</strong> rhetorical, topical,<br />

and discourse analysis are also outlined in this section.<br />

A. Ontology and Framework for Semantic Relations<br />

From the 300 parsed sentences, the prototype is able to<br />

map only 10 percent <strong>of</strong> the sentences effectively on its<br />

pre-built ontology. We investigated the ontology and<br />

found that it was not developed according to a<br />

representative data set like our corpus. We decided to<br />

develop ontology for the domain-specific corpus that<br />

helps to adjust the knowledge model <strong>of</strong> the TKM<br />

prototype.<br />

We developed the ontology in a similar way human<br />

conceptualizes a domain. In conjunction with the


74 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

development <strong>of</strong> the ontology for the domain, we<br />

developed a framework for semantic relations. The<br />

framework is built upon the framework proposed by<br />

FACTOTUM thesaurus [19] [20]. These semantic<br />

relations help to represent hierarchical knowledge apart<br />

from predicate information.<br />

We conceptualized every sentence in the corpus<br />

manually. The outcome <strong>of</strong> the conceptualization led us to<br />

develop concepts and relations among them and<br />

graphically represented them as concept maps with Cmap<br />

Tools [21].<br />

To illustrate this procedure, for the sentence One<br />

simple DC circuit consists <strong>of</strong> a voltage source (battery or<br />

voltaic cell) connected to a resistor, we firstly<br />

conceptualized the sentence in the following manner-<br />

1. DC circuit has voltage source as its component.<br />

2. Battery and voltaic cell are voltage sources.<br />

3. Battery and voltaic cell have similarity.<br />

4. Voltage source can be connected to resistor.<br />

5. DC circuit has resistor as its component.<br />

6. As they all are satisfying the properties <strong>of</strong> a circuit,<br />

DC circuit is a type <strong>of</strong> circuit.<br />

We used this information to develop base level concept<br />

maps that represent the predicate relations in the text. To<br />

develop higher level concept maps, we require to group<br />

concepts and to find relations among the groups. For this<br />

particular sentence, we defined groups named circuit and<br />

circuit component. We assigned DC Circuit and Circuit<br />

to the group Circuit and the rest <strong>of</strong> the concepts to the<br />

group circuit component. We can also find a relation<br />

between these two groups- circuit is made <strong>of</strong> circuit<br />

components. For a sentence Resistors in the diagram are<br />

in parallel- the concept resistor would be assigned to<br />

group <strong>of</strong> concepts called Diagrammatic Notation rather<br />

than Circuit Components. This process <strong>of</strong> grouping the<br />

concepts from the base level concept maps and finding<br />

relations among them produced four levels <strong>of</strong> concept<br />

maps for the corpus. The conceptual structure <strong>of</strong> the<br />

domain is comprised <strong>of</strong> all these concept maps resulted<br />

from human conceptualization at four different levels.<br />

The predicate relations in the sentence are as follows-<br />

1. DC Circuit Have Component Voltage source<br />

2. Battery Type Of voltage source<br />

3. Voltaic cell Type Of voltage source<br />

4. Battery Is Voltaic Cell<br />

5. Voltage Source Connected To Resistor<br />

6. Battery Connected To Resistor<br />

7. Voltaic Cell Connected To Resistor<br />

8. DC Circuit Have Component Resistor<br />

9. DC Circuit Type <strong>of</strong> Circuit<br />

These relations are then analyzed to initiate developing<br />

the framework for the semantic relations in the text. The<br />

analysis provides us the following semantic relations-<br />

1. Relation which describes parts that are physically<br />

related (e.g., Have Component)<br />

2. Relation which describes hyponymy (e.g., Type Of),<br />

and synonymy (e.g., Is) that are similar<br />

3. Relation which describes hierarchy or class (e.g.,<br />

Type Of)<br />

© 2010 ACADEMY PUBLISHER<br />

4. Relation which describes spatial relations<br />

(specifically location <strong>of</strong> objects) (e.g., Connected To)<br />

As we represent knowledge by conceptualization<br />

followed by mapping linguistic information on<br />

knowledge model, it will allow the prototype to map<br />

knowledge from the text onto the ontology efficiently.<br />

For example, the prototype now can provide the user<br />

knowledge like voltage source is a physical part <strong>of</strong> the<br />

DC circuit- which is not stated in the sentence literally<br />

but semantically.<br />

As we developed conceptual structure for the corpus<br />

with the Cmap Tool, the total number <strong>of</strong> concepts and<br />

relations increases but number <strong>of</strong> new concepts and<br />

relations decreases. On completion, the number <strong>of</strong><br />

concepts and relations are plotted against the corpus size.<br />

Figure 5 shows the cumulative increment <strong>of</strong> the number<br />

<strong>of</strong> concepts and relations. We see a plateau showing that<br />

the number <strong>of</strong> concepts and relations are becoming<br />

stationary.<br />

Figure 5. Graph to show that the number <strong>of</strong> concepts and<br />

relations in the corpus is becoming stationary.<br />

We also plotted number <strong>of</strong> new concepts and relations<br />

against the corpus size (Figure 6). The plateau in Figure 6<br />

shows that the number <strong>of</strong> new concepts and relations are<br />

becoming stationary. These two observations led us to a<br />

decision that if we put semantic relations in the corpus<br />

into a framework, then it will be representative.<br />

Figure 6. Graph to show that the number <strong>of</strong> new concepts<br />

and relations in the corpus is becoming stationary.<br />

We found 97 predicate relations and 166 concepts in<br />

the corpus and we developed Tier 2 <strong>of</strong> our framework<br />

(Table V) to support these relations. Afterwards, we


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 75<br />

grouped level 0 concepts and relations to produce level 1<br />

<strong>of</strong> concept maps. As we came across new predicate<br />

relations, we created Tier 1<strong>of</strong> our framework to support<br />

the semantic relations in Tier 2. These two tiers <strong>of</strong><br />

semantic relations comprise the domain-specific<br />

framework for semantic relations and can be supportive<br />

to all the predicate relations <strong>of</strong> the domain. In essence,<br />

the level 0 concept maps have the predicate relations and<br />

TABLE V.<br />

FRAMEWORK FOR SEMANTIC RELATIONS IN THE CORPUS<br />

the semantics conveyed by them are supported by<br />

relations in Tier 2. Predicate relations in level 1 and level<br />

2 concept maps are supported by Tier 1 semantic<br />

relations. The ontology along with the concept maps is<br />

depicted in [34].<br />

Relation Category<br />

Tier 1 Semantic<br />

Relations<br />

Tier 2 Semantic Relations<br />

Predicate Relations Inverse Predicate Relations<br />

Hierarchy Have type Type <strong>of</strong><br />

Physically Related<br />

Parts<br />

Constituent Material<br />

Have component<br />

Make, Produce<br />

Component <strong>of</strong><br />

Made <strong>of</strong>, Produced by<br />

Take place between, Direction <strong>of</strong><br />

Location <strong>of</strong> Objects Connected to, Flows<br />

Spatial Relations<br />

through, Have direction<br />

Location <strong>of</strong> Activities<br />

Transfer, Find, Divide,<br />

Commence from<br />

Transferred by, Found by,<br />

Divided by, End to<br />

Affect, Cause, Vary in, Affected by, Caused by,<br />

Effect/ Partial Cause Resist, Force, Limit, Resisted by, Forced by,<br />

Opposite to, Related to Limited by<br />

Causally/<br />

Functionally Related<br />

Production/ Generation<br />

Destruction<br />

Manifestation<br />

Produce<br />

Collide, Melt<br />

Represent<br />

Produced by<br />

Collided by, Melted by<br />

Represented by<br />

Conversion<br />

Convert, Convertible to Converted by, Convertible<br />

from<br />

Predicate Relations<br />

Carry, Measure, Supply, Carried by, Measured by,<br />

Instrumental<br />

Function/ Usage<br />

Functions<br />

Share, Depend on,<br />

Protect, Absorb<br />

Supplied by, Shared by,<br />

Depended by, Protected by,<br />

Absorbed by<br />

Use Use, Do not use Used by, Not used by<br />

Human Role Deal with Dealt by<br />

Topic Govern Governed by<br />

Representation<br />

Represent, Characterize Represented by,<br />

Characterized by<br />

Conceptually Related<br />

Have state, Have unit, State <strong>of</strong>, Unit <strong>of</strong>, Source <strong>of</strong>,<br />

Property<br />

Have source, Have<br />

Magnitude, Have<br />

Terminal<br />

Magnitude <strong>of</strong>, Terminal <strong>of</strong><br />

Similarity<br />

Synonymy<br />

Hyponymy<br />

Is, Referred to<br />

Have type<br />

Is<br />

Type <strong>of</strong><br />

Quantitative Relations Numerical Relations<br />

Proportional, Inverse proportional to, Gain, Lose, Do<br />

not gain, Do not lose<br />

Instantiation Have instance Instance <strong>of</strong><br />

Extension Have Extension Extension <strong>of</strong><br />

B. Rhetorical Analysis<br />

To find the stereotypical relations in the domain, RST<br />

proposed by Mann & Thompson [22] is used as a<br />

descriptive tool. Research work like Rosner & Stede [23]<br />

and Vander Linden [24] also used this framework for the<br />

rhetorical analysis in their corpus. We used a framework<br />

based on the work <strong>of</strong> Hunter [25] who outlines the<br />

structural model <strong>of</strong> content <strong>of</strong> information for second<br />

language learning materials proposed within the frame <strong>of</strong><br />

machine-mediated communication [26]. This framework<br />

© 2010 ACADEMY PUBLISHER<br />

defined text structures, textual expressions and<br />

information structures within domain-specific text.<br />

One common characteristic <strong>of</strong> expository text is that<br />

they use text structures. Text structures refer to the<br />

semantic and syntactic organizational arrangements used<br />

to present written information. Text structure used in the<br />

analysis includes introduction, background,<br />

methodologies, results, observations, and conclusions.<br />

Textual Expressions are relations that describe the<br />

nature <strong>of</strong> a sentence at phrase level. It eventually outlines<br />

the type <strong>of</strong> the sentence. These all are mononuclear<br />

relations- the relations do not depend on the semantic <strong>of</strong>


76 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

the adjacent sentences. We used the following textual<br />

expressions for the analysis- common knowledge, cite,<br />

report, explanation, claim, evaluation inference, and<br />

decision.<br />

Information structures are used at both phrase level<br />

and sentence level in the analysis. We analyzed the<br />

meaning <strong>of</strong> the sentence and its impact on other<br />

juxtaposed sentences with relations like description,<br />

classification, comparison, sequence, cause-effect, and<br />

contrast.<br />

We used RSTTool [27] to annotate the corpus with the<br />

rhetorical relations. The procedure shows that the corpus<br />

has 2,701 relations grouped into 19 rhetorical relations<br />

(Table VI).<br />

TABLE VI.<br />

RHETORICAL RELATIONS IN THE CORPUS<br />

Higher means <strong>of</strong> relations background (13 percent) and<br />

observations (7 percent) are significant as the corpus<br />

contains instructional text and instructional text mostly<br />

describes background and observation <strong>of</strong> events [28]. The<br />

analysis also shows that most <strong>of</strong> the text are descriptive<br />

(30 percent) and presented as report (20 percent) thus<br />

proved the representativeness <strong>of</strong> the corpus in case <strong>of</strong><br />

containing semantic relations. Qualitative layer <strong>of</strong> the<br />

prototype deals with the causal relationship between<br />

concepts and a significant amount <strong>of</strong> cause-effect relation<br />

(2.14 percent) is <strong>of</strong> particular interest for us to deal with.<br />

We found that the prototype is able to map about 70<br />

percent <strong>of</strong> the causal relations in the text.<br />

Rhetorical Structures Rhetorical Relations Appearance Mean<br />

Text Structures Introduction 117 4.33%<br />

Background 356 13.19%<br />

Methodologies 60 2.22%<br />

Results 51 1.89%<br />

Observations 180 6.66%<br />

Conclusions 42 1.55%<br />

Textual Expressions Common Knowledge 74 2.74%<br />

Report 545 20.18%<br />

Explanation 192 7.11%<br />

Claim 85 3.15%<br />

Evaluation 3 0.11%<br />

Inference 13 0.48%<br />

Decision 59 2.18%<br />

Information Structures Description 817 30.25%<br />

Classification 13 0.48%<br />

Comparison 25 0.93%<br />

Sequence 34 1.26%<br />

Cause-effect 58 2.14%<br />

Contrast 17 0.63%<br />

Total 2,701 100%<br />

C.Topical Analysis<br />

We intend to analyze the topical progression <strong>of</strong> the<br />

corpus as the prototype both handled and failed to handle<br />

text on various topics. The analysis will help us to<br />

determine the context and discourse awareness <strong>of</strong> the<br />

prototype. The prototype is not developed to parse and<br />

map text <strong>of</strong> any particular topic or context and it should<br />

represent the whole domain. Since we have the<br />

representative corpus, the topical analysis <strong>of</strong> the<br />

prototype can help us understand the topical coverage <strong>of</strong><br />

its context and discourse.<br />

First, we annotated the corpus with three types <strong>of</strong><br />

topical progressions- parallel progression, sequential<br />

progression, and extend parallel progression. As the topic<br />

in the text progresses onwards, we indented the text <strong>of</strong> the<br />

corpus according to the type <strong>of</strong> progression it belongs to.<br />

For example, indentation is the starting topic,<br />

indentation is the sequential topic originated from<br />

, indentation is the sequential topic originated<br />

from , and indentation is the extended parallel<br />

topic <strong>of</strong> (Figure 7). On completion, we found six<br />

indentations <strong>of</strong> topical progression in the corpus.<br />

Putting more resistors in the parallel circuit decreases the total resistance because the electricity has additional branches to flow along and so the<br />

total current flowing increases.<br />

This is very useful because it means that we can switch the lamp on and <strong>of</strong>f without affecting the other lamps.<br />

The brightness <strong>of</strong> the lamp does not change as other lamps in parallel are switched on or <strong>of</strong>f.<br />

For this reason, lamps are always connected in parallel.<br />

© 2010 ACADEMY PUBLISHER<br />

Figure 7. Annotation <strong>of</strong> the corpus with topical progression.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 77<br />

Second, we counted total number <strong>of</strong> sentences in each<br />

indentation <strong>of</strong> the corpus. As we expected, indentation 1<br />

covers the most <strong>of</strong> the corpus and indentation 6 has the<br />

least number <strong>of</strong> sentences. We also counted number <strong>of</strong><br />

sentences TKM prototype handled in each indentation to<br />

find its topical coverage. The more the topic progresses<br />

away from the context, the possibility <strong>of</strong> not<br />

understanding the context increases but the prototype<br />

TABLE VII.<br />

TOPICAL ANALYSIS OF THE CORPUS AND TKM PROTOTYPE<br />

showed that even if the topic is six indentations away<br />

from the original context, it can represent the knowledge<br />

(Table VII). The prototype efficiently handled language<br />

and knowledge on topics that are four, five, and six<br />

indentations away from the original context with 38, 36,<br />

and 33 percent coverage, respectively. However, topics<br />

nearer to the starting context are covered relatively low<br />

with 25 and 26 percent.<br />

Indentation Number <strong>of</strong> Sentences Corpus Coverage Number <strong>of</strong> Sentences handled by Topical Coverage by<br />

the Prototype<br />

the Prototype<br />

1 641 66% 197 31%<br />

2 259 22% 65 25%<br />

3 86 7% 22 26%<br />

4 26 3% 10 38%<br />

5 11 1% 4 36%<br />

6 4 1% 2 33%<br />

D.Discourse Analysis<br />

The discourse <strong>of</strong> the prototype contains high level<br />

concepts developed during the progress <strong>of</strong> ontology. High<br />

level concepts are those that are related with Tier 1 and<br />

Tier 2 semantic relations <strong>of</strong> our framework and convey<br />

knowledge rather than predicate information. According<br />

to our research, the domain has 12 high level concepts<br />

shown in Table VIII. The table is organized in<br />

descending order according to the number <strong>of</strong> concepts in<br />

discourse. We semi-automatically analyzed the corpus<br />

and found that the high level concepts <strong>of</strong> the ontology are<br />

present 4,120 times in the corpus- this is the discourse <strong>of</strong><br />

the prototype. Moreover, we also found that the high<br />

level concepts <strong>of</strong> the domain are present 969 times in the<br />

sentences that the prototype can handle- which is the<br />

discourse covered by the prototype. If we divide the<br />

TABLE VIII.<br />

DISCOURSE ANALYSIS OF THE TKM PROTOTYPE<br />

discourse coverage <strong>of</strong> prototype by the total number <strong>of</strong><br />

concepts in the discourse, then we will find the discourse<br />

covered by the prototype. In this case, Table VIII shows<br />

that the discourse coverage <strong>of</strong> the TKM Prototype is 24<br />

percent.<br />

If we consider individual high level concepts, then<br />

Units and Measuring Instruments are the areas <strong>of</strong><br />

discourse the prototype covers, mostly, with 48 percent <strong>of</strong><br />

coverage. Rules is next to them with 28 percent <strong>of</strong><br />

coverage. The prototype covers only 15 percent <strong>of</strong> the<br />

discourse <strong>of</strong> Electrical Process though the discourse is<br />

significant in the domain. Environmental Factors, a<br />

narrower high level concept, is next to it in case <strong>of</strong> less<br />

discourse coverage by the prototype.<br />

High Level Concepts Coverage <strong>of</strong> Prototype Concepts in Discourse Difference with Discourse<br />

Discourse<br />

Coverage Deviation<br />

(1) Electrical Quantity 335 1433 1098 24% 77%<br />

(2) Circuit Components 154 685 531 23% 78%<br />

(3) Diagrammatic Notation 94 482 388 20% 81%<br />

(4) Electrical Process 63 442 379 15% 86%<br />

(5) Electrical Device 83 313 230 27% 74%<br />

(6) Units 100 211 111 48% 53%<br />

(7) Atomic Level 31 161 130 20% 81%<br />

(8) Circuits 30 140 110 22% 79%<br />

(9) Environmental Factors 20 110 90 19% 82%<br />

(10) Measuring Instrument 46 96 50 48% 53%<br />

(11) Rules 13 47 34 28% 73%<br />

(12) Materials 4 21 17 20% 81%<br />

Total 969 4,120 3,151 24% 77%<br />

We also analyzed the deviation <strong>of</strong> the prototype from<br />

the discourse. First, we measured the difference <strong>of</strong> the<br />

coverage <strong>of</strong> the prototype and coverage in discourse.<br />

Then, we measured the deviation- the difference with<br />

© 2010 ACADEMY PUBLISHER<br />

discourse divided by the concepts in discourse. This<br />

deviation is the measure <strong>of</strong> unawareness in discourse-<br />

how much <strong>of</strong> the discourse the prototype failed to pursuit.<br />

The data show that the prototype is strong to represent<br />

knowledge from the discourse <strong>of</strong> Units and Measuring


78 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Instrument (both 53 percent). The prototype has the<br />

overall deviation from the discourse <strong>of</strong> 77 percent- means<br />

its discourse awareness is 23 percent.<br />

We plotted the presence <strong>of</strong> high level concepts in the<br />

discourse and the coverage <strong>of</strong> the discourse by the<br />

prototype in Figure 8. The difference between the<br />

coverage <strong>of</strong> discourse by the prototype and the discourse<br />

itself is depicted with vertical lines. From Figure 8 and<br />

Table VIII, we see that the difference is proportional to<br />

each other from Electrical Quantity to Electrical<br />

Processes and then a sudden rise in case <strong>of</strong> Electrical<br />

Device and Units indicates that most <strong>of</strong> the simple<br />

sentences in the corpus are situated in this area. Another<br />

smooth maintenance <strong>of</strong> difference between the discourse<br />

and the coverage <strong>of</strong> discourse is manifested from<br />

concepts Atomic Level to Environmental Factors. The<br />

prototype shows efficiency in knowledge representation<br />

in Measuring Instruments that indicates to the possibility<br />

<strong>of</strong> having understandable knowledge for the prototype<br />

lies in this discourse with suitable linguistic and semantic<br />

arrangement.<br />

Figure 8. Difference between the discourse and the<br />

coverage <strong>of</strong> discourse by the prototype.<br />

VI. CONCLUSIONS<br />

In this paper, we presented a corpus-based evaluation<br />

<strong>of</strong> lexical components and knowledge model <strong>of</strong> a<br />

domain-specific Text to Knowledge Mapping prototype.<br />

We developed a domain-specific corpus and proved its<br />

representativeness in linguistic elements with stochastic<br />

approach and its soundness in semantic features with<br />

rhetorical analysis. The representative corpus, with<br />

enriched multimodality, can be used as a reference in text<br />

summarization, for context and discourse analysis, and<br />

for developing ontology. The linguistic resources <strong>of</strong> the<br />

corpus have been used to evaluate and adjust lexical<br />

components <strong>of</strong> the prototype like vocabulary and<br />

grammar. This evaluation led the prototype to parse<br />

reasonable amount <strong>of</strong> domain-specific text. During<br />

evaluation on knowledge model, we developed a domainspecific<br />

ontology and a framework for semantic relations<br />

associated with it. We conducted topical and discourse<br />

analysis on the prototype to see its context awareness and<br />

the performance <strong>of</strong> the prototype is satisfactory.<br />

However, limited conceptual acquisition <strong>of</strong> the prototype<br />

© 2010 ACADEMY PUBLISHER<br />

refers to limited knowledge representation and demands a<br />

framework for domain-specific linguistic relations.<br />

Using the domain-specific corpus, a generic corpus<br />

parsing and lexical component analysis tool is developed<br />

[36] that extracts lexical information from any XML<br />

corpus and store the information in database. The corpus<br />

also contributed in domain-specific text summarization<br />

and the result <strong>of</strong> summarization was satisfactory [37].<br />

REFERENCES<br />

[1] W. Ou and A. Elsayed, “A knowledge-based approach for<br />

semantic extraction”, International Conference on<br />

Business Knowledge Management, Macao, 2006.<br />

[2] T. Declerck, J. Klein, and G. Neumann, “Evaluation <strong>of</strong> the<br />

NLP components <strong>of</strong> an information extraction system for<br />

German”, Proceedings <strong>of</strong> the first international<br />

Conference on Language Resources and Evaluation<br />

(LREC), Granada, 1998, pp. 293-297.<br />

[3] D. Evans, “Corpus building and investigation for the<br />

humanities”, Available:<br />

http://www.humcorp.bham.ac.uk/humcorp/information/cor<br />

pusintro/Unit1.pdf [28 January 2009].<br />

[4] K. D. Forbus, “Qualitative process theory: Twelve years<br />

after”, Artificial Intelligence, vol. 59, no. 1-2, 1993, pp.<br />

115-123.<br />

[5] M. Palmer and T. Finin, “Workshop on the evaluation <strong>of</strong><br />

natural language processing systems”, Computational<br />

Linguistics, vol. 16, no. 3, 1993, pp. 175-181.<br />

[6] T. McEnery and A. Wilson, Corpus Linguistics,<br />

Edinburgh: Edinburgh University Press, United Kingdom,<br />

1996.<br />

[7] J. Klein, T. Declerck, and G. Neumann, “Evaluation <strong>of</strong> the<br />

syntactic analysis component <strong>of</strong> an information extraction<br />

system for German”, Proceedings <strong>of</strong> the 1st International<br />

Conference on Language Resources and Evaluation,<br />

Granada, Spain, 1998, pp. 293-297.<br />

[8] G. Neumann, R. Back<strong>of</strong>en, J. Baur, M. Becker, and C.<br />

Braun, “An information extraction core system for real<br />

world German text processing”, Proceedings <strong>of</strong> the 5th<br />

Conference on Applied Natural Language Processing<br />

(ANLP), USA, 1997, pp. 209-216.<br />

[9] W. Finkler and G. Neumann, “Morphix: A fast Realization<br />

<strong>of</strong> a classification–based approach to morphology”,<br />

Proceedings der 4. Österreichischen Artificial Intelligence<br />

Tagung, Wiener Workshop Wissensbasierte<br />

Sprachverarbeitung, Berlin, Germany, 1988, pp. 11-19.<br />

[10] S. Clark, M. Steedman, and J. R. Curran, “Objectextraction<br />

and question-parsing using CCG”, Available:<br />

http://www.iccs.inf.ed.ac.uk/~stevec/papers/emnlp04.pdf<br />

[28 January 2009].<br />

[11] N. Nathan and E. Kozminsky, “Text concept mapping: The<br />

contribution <strong>of</strong> mapping characteristics to learning from<br />

texts”, Proceeding <strong>of</strong> the 1 st International Conference on<br />

Concept Mapping (CMC2004), Pamplona, Spain, 2004.<br />

[12] M. Baroni, A. Kilgarriff, J. Pomikálek, and P. Rychlý,<br />

“WebBootCaT: A web tool for instant corpora”,<br />

Proceeding <strong>of</strong> the EuraLex Conference, Italy, 2006, pp.<br />

123-132.<br />

[13] T. McEnery, R. Xia, and Y. Tono, Corpus-Based<br />

Language Studies: An Advanced Resource Book, London:<br />

Routledge, 2006.<br />

[14] D. Biber, “Representativeness in corpus design”, Literary<br />

and Linguistic Computing, vol. 8, no. 4, 1993, pp. 243-257.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 79<br />

[15] University <strong>of</strong> Illinois at Urbana-Champaign, “The SNoW<br />

learning architecture”, Available:<br />

http://l2r.cs.uiuc.edu/~danr/snow.html [28 January 2009].<br />

[16] A. S. Hornby, Guide to Patterns and Usage in English, 2 nd<br />

Edition, Oxford University Press, Delhi, 1995, pp. 1-2.<br />

[17] M. A. Covington, Natural Language Processing for<br />

Prolog Programmers, 1 st Edition, Prentice Hall, 1993, pp.<br />

88-90.<br />

[18] M. Steedman and J. Baldridge, “Combinatory categorical<br />

grammar”, Unpublished Tutorial Paper, 1993.<br />

[19] Z. Chen, Y. Perl, M. Halper , J. Geller, and H. Gu,<br />

“Partitioning the UMLS semantic network”, IEEE<br />

Transactions on Information Technology in Biomedicine,<br />

vol. 6, no. 2, 2002.<br />

[20] Micra, Inc., “FACTOTUM”, Available:<br />

http://www.micra.com/factotum/ [25 January 2009].<br />

[21] A.J.Cañas, G. Hill, R. Carff, N. Suri, J. Lott, G. Gómez,<br />

T.C. Eskridge, M. Arroyo, and R. Carvajal, “CmapTools:<br />

A knowledge modelling and sharing environment”,<br />

Proceeding <strong>of</strong> the 1 st International Conference on Concept<br />

Mapping, Pamplona, Spain, 2004.<br />

[22] W. C. Mann and S. A.Thompson, Rhetorical Structure<br />

Theory: Toward a functional theory <strong>of</strong> text organization,<br />

Text 8 (3), 1988, pp. 243-281.<br />

[23] D. Rosner and M. Stede, “Customizing RST for the<br />

automatic production <strong>of</strong> technical manuals”, Aspects <strong>of</strong><br />

Automated Natural Language Generation, Lecture Notes<br />

in Artificial Intelligence, Trento, Italy, 1992, pp. 199-214.<br />

[24] K. V. Linden, “Speaking <strong>of</strong> actions: Choosing rhetorical<br />

status and grammatical form in instructional text<br />

generation”, Ph. D. thesis, University <strong>of</strong> Colorado, 1993.<br />

[25] L. Hunter, “Dimensions <strong>of</strong> media object<br />

comprehensibility”, 7th IEEE International Conference on<br />

Advanced Learning Technologies (ICALT 2007), Niigata,<br />

Japan, 2007, pp. 925-926.<br />

[26] A. Elsayed, “Machine-mediated communication: The<br />

technology”, 6 th IEEE International Conference on<br />

Advanced Learning Technologies (ICALT 2006), Kerkrade,<br />

The Netherlands, 2006, pp. 1194-1195.<br />

[27] D. Marcu, “RST annotation tool”, Available:<br />

http://www.isi.edu/licensed-sw/RSTTool/ [27 January<br />

2009]<br />

[28] L. Kosseim and G. Lapalme, “Choosing rhetorical<br />

structures to plan instructional texts”, Computational<br />

Intelligence, vol. 16, no. 3, 2000, pp. 408-445.<br />

[29] W. C. Mann and M. Taboada, “Rhetorical Structure<br />

Theory: Looking back and moving ahead”, Discourse<br />

Studies, vol. 8, no. 3, 2006, pp. 423-459.<br />

[30] V. Stuart-smith, “The hierarchical organization <strong>of</strong> text as<br />

conceptualized by rhetorical structure theory: A systemic<br />

functional perspective”, Australian <strong>Journal</strong> <strong>of</strong> Linguistics,<br />

vol. 27, no. 1, 2007, pp. 41-61.<br />

[31] R. Williams and E. Reiter, “A corpus analysis <strong>of</strong> discourse<br />

relations for natural language generation”, Proceedings <strong>of</strong><br />

Corpus Linguistics, Lacaster, United Kingdom, 2003, pp.<br />

899-908.<br />

[32] D. Marcu, M. Romera, and E. Amorrortu, “Experiments in<br />

constructing a corpus <strong>of</strong> discourse trees”, University <strong>of</strong><br />

Maryland, 1999, pp. 48-57.<br />

[33] B. Webber, “D-LTAG: Extending lexicalized TAG to<br />

discourse”, <strong>Journal</strong> <strong>of</strong> Cognitive Science, vol. 28, 2004, pp.<br />

751-779.<br />

[34] R. Shams and A. Elsayed, “Development <strong>of</strong> a conceptual<br />

structure for a domain-specific corpus”, 3 rd International<br />

Conference on Concept Maps (CMC 2008), Estonia and<br />

Finland, 2008.<br />

© 2010 ACADEMY PUBLISHER<br />

[35] R. Shams and A. Elsayed, “A Corpus-based evaluation <strong>of</strong><br />

lexical components <strong>of</strong> a domain-specific text to knowledge<br />

mapping prototype”, 2008 International Conference on<br />

Computer and Information Technology (ICCIT), Khulna,<br />

Bangladesh, 2008, pp. 242-247.<br />

[36] S. Chowdhury, A. S. Shawon, and R. Shams, “CorParse: A<br />

corpus parsing and analysis tool”, Unpublished Tutorial<br />

Paper, 2008.<br />

[37] A. Hossain, S. R. Akter, M. Gope, M. M. A. Hashem, and<br />

R. Shams, “A corpus-dependent text summarization and<br />

presentation using statistical methods”, Undergraduate<br />

Thesis, Khulna University <strong>of</strong> Engineering & Technology,<br />

2009.<br />

Rushdi Shams was born in Khulna, Bangladesh on January<br />

3, 1985. He pursued his M.Sc. in Information Technology from<br />

the University <strong>of</strong> Bolton, United Kingdom in 2007 and his B.Sc.<br />

(Engineering) in Computer Science and Engineering from<br />

Khulna University <strong>of</strong> Engineering & Technology (KUET),<br />

Bangladesh in 2006. He has major fields <strong>of</strong> study like intelligent<br />

systems, internet security, data warehouse, IT management and<br />

artificial intelligence.<br />

He is currently a Lecturer in the Department <strong>of</strong> Computer<br />

Science and Engineering, KUET. Formerly, he was a Research<br />

Intern at M3C Laboratory, University <strong>of</strong> Bolton. So far, he has<br />

publications in the area <strong>of</strong> Ad hoc Networks and Knowledge<br />

Processing. He supervised undergraduate theses on diversified<br />

fields like knowledge processing, wireless sensor networks,<br />

corpus linguistics, and web engineering. Currently, he is<br />

developing frameworks for web 3.0 and acquisition and<br />

machine representation <strong>of</strong> commonsense knowledge. His<br />

current research interests are Knowledge and Language<br />

Processing, Computational Linguistics, and Wireless Networks.<br />

Mr. Shams is an Associate Member <strong>of</strong> Institute <strong>of</strong> Engineers,<br />

Bangladesh (IEB).<br />

Adel Elsayed pursued his Ph.D on Applied Optimal Control<br />

from Loughborough University, UK in 1985. His M.Sc is in<br />

Electronic Control Engineering from Salford University, UK in<br />

1975 preceded by a B.Sc. in Communications Engineering from<br />

Libya University, Libya in 1972. He has a diversified field <strong>of</strong><br />

study from signal processing to multimodal communication and<br />

from communications to intelligent systems and humancomputer<br />

interaction.<br />

He joined the University <strong>of</strong> Bolton towards the end <strong>of</strong> 2001.<br />

His main objective was to establish a research base by building<br />

on his work on multimodal communication, a new line <strong>of</strong><br />

research that he has started few years earlier. His research at<br />

Bolton has started as he set up the “Active Presentation<br />

Technology” Lab (APT Lab). Since then, he diversified into<br />

investigating the underpinning knowledge structures that<br />

support human-machine communication. This led to researching<br />

information structures and their applications. Consequently, the<br />

scope <strong>of</strong> his work grew out <strong>of</strong> the narrow area <strong>of</strong> active<br />

presentation technology into the wider scope <strong>of</strong> Machine-<br />

Mediated Communication, hence the new name <strong>of</strong> the research<br />

lab. He has esteemed numbers <strong>of</strong> conference and journal<br />

publications. Besides these, his research interests are cognitive<br />

tools, knowledge and language processing, and speech<br />

technology.


80 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Dr. Elsayed established M3C as international workshop<br />

attached to well known IEEE International Conference on<br />

Advanced Learning Technologies (ICALT). He acts as guest<br />

editor for special issues <strong>of</strong> many well known journals as well as<br />

reviewer in number <strong>of</strong> international conferences.<br />

Quazi Mah- Zereen Akter was born on November 25, 1985<br />

in Dhaka, Bangladesh. She is now completing her M.Sc. in<br />

Computer Science and Engineering from the University <strong>of</strong><br />

Dhaka, Bangladesh. She completed her B.Sc. (Engineering) in<br />

Computer Science and Engineering from the University <strong>of</strong><br />

Dhaka in 2008. Bioinformatics, artificial intelligence, computer<br />

vision, distributed database systems, digital system design, and<br />

VLSI are her major fields <strong>of</strong> study.<br />

She is currently working on her Masters thesis with<br />

reversible logic and computational intelligence. Besides<br />

Intelligent Systems, her research interests are Bioinformatics,<br />

Management Information Systems, Reversible Logic, and Logic<br />

Simplification and Minimization.<br />

© 2010 ACADEMY PUBLISHER


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 81<br />

Implementation <strong>of</strong> Low Density Parity Check<br />

Decoders using a New High Level Design<br />

Methodology<br />

Syed Mahfuzul Aziz and Minh Duc Pham<br />

School <strong>of</strong> Electrical & Information Engineering, University <strong>of</strong> South Australia, Mawson Lakes, Australia<br />

Email: {Mahfuz.Aziz, Minh.Pham}@unisa.edu.au<br />

Abstract—Low density parity check (LDPC) codes are<br />

error-correcting codes that <strong>of</strong>fer huge advantages in terms<br />

<strong>of</strong> coding gain, throughput and power dissipation. Error<br />

correction algorithms are <strong>of</strong>ten implemented in hardware<br />

for fast processing to meet the real-time needs <strong>of</strong><br />

communication systems. However hardware<br />

implementation <strong>of</strong> LDPC decoders using traditional<br />

hardware description language (HDL) based approach is a<br />

complex and time consuming task. This paper presents an<br />

efficient high level approach to designing LDPC decoders<br />

using a collection <strong>of</strong> high level modelling tools. The<br />

proposed new methodology supports programmable logic<br />

design starting from high level modelling all the way up to<br />

FPGA implementation. The methodology has been used to<br />

design and implement representative LDPC decoders. A<br />

comprehensive testing strategy has been developed to test<br />

the designed decoders at various levels. The simulation and<br />

implementation results presented in this paper prove the<br />

validity and productivity <strong>of</strong> the new high level design<br />

approach.<br />

Index Terms—Error correction coding, digital systems,<br />

digital communication, logic design, FPGA.<br />

I. INTRODUCTION<br />

Information passing through a practical<br />

communication channel may be corrupted in transit by<br />

noise present in the channel [1]. Therefore it is <strong>of</strong><br />

paramount importance for communication systems to<br />

have adequate means for the detection and correction <strong>of</strong><br />

errors in the information received over communication<br />

channels. Turbo codes and LDPC (low density parity<br />

check) codes are most commonly used for error detection<br />

and correction nowadays [2]. Both <strong>of</strong> these codes provide<br />

coding gains [3] close to Shannon’s limit [4]. LDPC<br />

codes however outperform turbo codes in terms <strong>of</strong> coding<br />

gain for large SNR [5, 6]. LDPC code <strong>of</strong> length 1 million<br />

with a coding rate (ratio <strong>of</strong> information bits to the sum <strong>of</strong><br />

information and parity bits) <strong>of</strong> 0.5 and BER <strong>of</strong> 10-6<br />

provides a capacity which is only 0.13db from Shannon’s<br />

limit [5]. Further advantages <strong>of</strong> using LDPC codes are<br />

Project number: ITEE-09/CGD-12, University <strong>of</strong> South Australia.<br />

Corresponding author: Dr Syed Mahfuzul Aziz, Email:<br />

mahfuz.aziz@unisa.edu.au<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.81-90<br />

given in [7]. These include less computational complexity<br />

as compared to turbo codes, ability to pipeline the<br />

decoder to increase throughput at the cost <strong>of</strong> registers and<br />

some latency, and less number <strong>of</strong> iterations than turbo<br />

codes. Increased number <strong>of</strong> iterations reduces the<br />

throughput and increases power dissipation [5, 8]. The<br />

studies conducted in [7] and [8] indicate that lesser<br />

number <strong>of</strong> iterations in LDPC codes helps achieving<br />

higher throughput and decreases power dissipation.<br />

Another factor which contributes to increasing the<br />

throughput <strong>of</strong> LDPC decoder is the degree <strong>of</strong> parallelism<br />

which is adjustable [9, 10]. Another reason <strong>of</strong> using<br />

LDPC codes is that it is relatively easier to implement<br />

than turbo codes [11].<br />

Despite all these advantages <strong>of</strong> LDPC codes the<br />

random parity check matrix makes the wiring between<br />

variable and check nodes complex, especially for large<br />

matrices. This leads to increased routing congestion in the<br />

decoder and eventually the size <strong>of</strong> the LDPC decoder<br />

increases and speed decreases [12, 13]. Complexity <strong>of</strong><br />

practical implementation makes high throughput very<br />

difficult to achieve [14, 15]. Moreover, designing LDPC<br />

decoders in VHDL (Very high speed integrated circuit<br />

Hardware Description Language) becomes a cumbersome<br />

task when the size <strong>of</strong> the design increases. Huge amount<br />

<strong>of</strong> time and effort are required to model such large<br />

designs in VHDL [16]. It results in decrease in<br />

productivity. It becomes a nightmare for the designer to<br />

write VHDL code for thousands <strong>of</strong> connections and to<br />

make the changes required. Therefore, hardware<br />

implementation <strong>of</strong> LDPC decoder remains a challenge.<br />

This paper examines high level modelling and<br />

synthesis techniques <strong>of</strong> LDPC decoders using emerging<br />

industry tools. It compares the high level approaches with<br />

traditional hardware description language based<br />

approaches in terms <strong>of</strong> modelling complexity, efforts and<br />

time. It also compares the results obtained for a<br />

representative LDPC decoder design using the high level<br />

approaches and using a traditional HDL based approach.<br />

II. DESIGN APPROACH<br />

This paper investigates a new high-level modelling and<br />

synthesis methodology for LDPC decoder using state <strong>of</strong>


82 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

the art tools. As opposed to using only hand written<br />

VHDL codes for the entire design, this research examines<br />

high level design methods using Simulink, involving a<br />

combination <strong>of</strong> blocks designed with predefined library<br />

components and with embedded Matlab codes. A VHDL<br />

(VHSIC Hardware Description Language) code is<br />

generated automatically from the high level Simulink<br />

model using Mathworks’s Simulink HDL coder (version<br />

1.2). The entire design process is captured in Fig. 1.<br />

Simulink HDL coder gives the flexibility <strong>of</strong> integrating<br />

different design approaches, namely Matlab programs,<br />

Simulink models and VHDL codes. Simulink and Matlab<br />

programs provide a much higher level <strong>of</strong> abstraction than<br />

VHDL. Therefore our design approach utilizes as many<br />

Simulink library blocks and Matlab blocks as possible to<br />

design various modules <strong>of</strong> the decoder provided these<br />

modules can be successfully processed by the HDL coder<br />

for automatic generation <strong>of</strong> VHDL codes. All the<br />

modules are then integrated in a top level Simulink model<br />

to produce the overall decoder model. VHDL code is<br />

generated automatically using Simulink HDL coder along<br />

with an optional test bench. This test bench can be used<br />

in ModelSim (a HDL simulator) to check correctness <strong>of</strong><br />

the design. The auto-generated VHDL code can also be<br />

used in Altera’s Quartus II or Xilinx ISE (Integrated<br />

S<strong>of</strong>tware Environment) for synthesis and implementation<br />

on desired FPGA (Field Programmable Gate Array).<br />

Automatic HDL code generation will lead to reduction in<br />

design efforts thereby increasing design productivity.<br />

Simulink<br />

library blocks<br />

Simulation in<br />

Simulink<br />

MATLAB<br />

Programs<br />

Simulation in<br />

MATLAB<br />

Simulink HDL Coder (Automatic<br />

Code Generation)<br />

Simulation, Analysis & Synthesis<br />

Implementation on FPGA<br />

Figure 1. Proposed design flow.<br />

III. OVERVIEW OF LDPC CODES AND DECODING<br />

ALGORITHM<br />

Low density parity check (LDPC) codes are a class <strong>of</strong><br />

linear block codes which are used for error detection and<br />

correction [17]. LDPC codes were first discovered by<br />

Gallager in 1962. In 1981, Tanner worked on LDPC<br />

codes and came up with important tanner graphs or<br />

bipartite graphs [18]. LDPC codes could not be<br />

implemented at the time <strong>of</strong> invention because the<br />

technology was not advanced, though they were studied<br />

again after almost three decades because they are more<br />

© 2010 ACADEMY PUBLISHER<br />

HDL Coder<br />

VHDL<br />

Programs<br />

Simulation in<br />

Quartus/Xilinx<br />

advantageous than any other error-correcting codes.<br />

LDPC codes are extensively used in standards such as<br />

10Gigabit Ethernet (10GBaseT) & digital video<br />

broadcasting (DVB-S2) [19].<br />

There are different algorithms which could be used for<br />

decoding purposes. We used the min-sum decoding<br />

algorithm [14, 20], which is a special case <strong>of</strong> sum-product<br />

algorithm [18, 21, 22]. Sum-product algorithm reduces<br />

the computational complexity and makes the decoder<br />

numerically stable [18]. Assume that the messages from<br />

the host communication system are represented by I and<br />

are passed on to the decoder for error correction. The<br />

LDPC decoder consists <strong>of</strong> a number <strong>of</strong> variable nodes (v)<br />

and check nodes (c). The operation <strong>of</strong> the min-sum<br />

algorithm can be summarised as follows [14]:<br />

A. Variable Node Operation<br />

A variable node performs the operation given in (1)<br />

and passes the outputs to check nodes.<br />

L cv = ∑ R + I<br />

mv<br />

m∈<br />

M ( v)<br />

\ c<br />

v<br />

(1)<br />

where, Iv is the input to variable node v, also known as<br />

Log Likelihood ratio (LLR), Lcv is the output <strong>of</strong> variable<br />

node v going to check node c, M(v)\c denotes the set <strong>of</strong><br />

check nodes connected to variable node v excluding the<br />

check node c, Rmv is the output <strong>of</strong> check nodes going to<br />

variable node v.<br />

B. Check Node Operation<br />

A check node receives messages from variable nodes<br />

and performs the operation given by (2):<br />

R<br />

cv<br />

=<br />

∏<br />

n∈N<br />

( c)<br />

\ v<br />

sign(<br />

L ) × | L | (2)<br />

cv<br />

min<br />

n∈N<br />

( c)<br />

\ v<br />

where, Rcv is the output <strong>of</strong> check node c going to variable<br />

node v.<br />

C. Parity Check<br />

Every check node also checks whether the parity<br />

condition is satisfied by looking at the sign <strong>of</strong> the<br />

messages coming from the variable nodes. Until all the<br />

parity checks from all the check nodes are satisfied the<br />

messages are sent back to variable nodes and the variable<br />

nodes do the operation specified in part (A), otherwise<br />

the decoder stops the process.<br />

Min-sum decoding algorithm uses s<strong>of</strong>t decision.<br />

However, hard decision is taken on the new LLR (Iv). If<br />

the new LLR is negative then the output bit would be a 1<br />

otherwise a 0. Interested readers can find the details <strong>of</strong><br />

the sum-product and min-sum decoder algorithms in [18,<br />

20-22].<br />

IV. REPRESENTATIVE DECODER DESIGNS<br />

LDPC codes can be represented by an M x N sparse<br />

matrix, usually called H matrix. The H matrix contains<br />

mostly zeros and a small number <strong>of</strong> 1s [9, 10]. It can also<br />

cv


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 83<br />

be represented by a graph called bipartite or tanner graph.<br />

Tanner graphs contain variable and check nodes. The<br />

decoder prototype designed in this research is based on<br />

the matrix shown in Fig. 2. It is a very small matrix<br />

compared to the real matrices. This 10x5 matrix can be<br />

transformed into a tanner graph having 10 variable nodes<br />

and 5 check nodes as is shown in Fig. 3. The signals go<br />

from the variable nodes to the check nodes and from the<br />

check nodes back to variable nodes. Typically different<br />

sets <strong>of</strong> wires are used for the signals going from variable<br />

nodes to check nodes and vice versa. The process is<br />

iterative and goes until all the parity checks are satisfied.<br />

The messages in our prototype designs are 4-bit long.<br />

1 1 1 1 0 1 1 0 0 0<br />

0 0 1 1 1 1 1 1 0 0<br />

0 1 0 1 0 1 0 1 1 1<br />

1 0 1 0 1 0 0 1 1 1<br />

1 1 0 0 1 0 1 0 1 1<br />

V1<br />

V2<br />

V3<br />

V4<br />

V5<br />

V6<br />

V7<br />

V8<br />

V9<br />

V10<br />

© 2010 ACADEMY PUBLISHER<br />

Figure 2. A 10x5 sparse matrix.<br />

Figure 3. Tanner graph.<br />

C1<br />

C2<br />

C3<br />

C4<br />

C5<br />

Figure 4. Check node design in Simulink.<br />

A. Design 1<br />

The approach taken in the first decoder design was to<br />

use a combination <strong>of</strong> embedded Matlab blocks and<br />

Simulink library blocks. No handwritten VHDL blocks<br />

were used. A generic Simulink model was first developed<br />

for each <strong>of</strong> a variable node and a check node.<br />

Check node design in Simulink: The check node has<br />

been designed in the same way as the variable node. The<br />

Simulink model <strong>of</strong> the check node is shown in Fig. 4. It<br />

uses blocks from Simulink library (absolute and bitwise<br />

XOR). The check node finds the minimum <strong>of</strong> all the<br />

inputs and performs the parity checks. It contains a<br />

control block, which controls its operation.<br />

Variable node design in Simulink: The variable node,<br />

shown in Fig. 5, has been designed in Simulink using the<br />

basic add block from the Simulink library. The control<br />

block controls the operation <strong>of</strong> the variable node. The<br />

variable node has four inputs, the first three come from<br />

various check nodes and the fourth one is the raw LLR,<br />

which is an external input supplied by the host<br />

communication system. It performs the operation given in<br />

(1) and passes the outputs to the check nodes to which it<br />

is connected.<br />

Once the Simulink models are developed for the check<br />

node and the variable node, the VHDL codes for each <strong>of</strong><br />

these can be generated automatically using the HDL<br />

Coder tool according to the design flow presented in Fig.<br />

1. The functionality <strong>of</strong> each <strong>of</strong> these models can be<br />

verified at both Simulink and VHDL levels. Each VHDL<br />

model can also be synthesized for a target FPGA.<br />

10x5 LDPC decoder: A LDPC decoder with 10<br />

variable and 5 check nodes has been designed using<br />

instances <strong>of</strong> the variable and check node components<br />

described above. The various nodes are interconnected in<br />

a way that corresponds to the Tanner graph <strong>of</strong> Fig. 3.


84 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

B. Design 2<br />

Design 2 uses a combination <strong>of</strong> embedded Matlab<br />

blocks, Simulink library blocks and VHDL/Link for<br />

ModelSim blocks. ‘Link for ModelSim’ is a utility that<br />

enables modules coded in VHDL to be embedded in<br />

Simulink models. Design 2 is different from the first<br />

design in that it uses serial communication <strong>of</strong> messages<br />

between variable and check nodes. This is achieved using<br />

SIPO (serial-in-parallel-out) and PISO (parallel-in-serialout)<br />

registers at each input and output port in all the<br />

nodes. This greatly simplifies the interconnections by<br />

reducing the number <strong>of</strong> wires four times at the cost <strong>of</strong><br />

some extra registers. The variable and check node<br />

components are same and are connected in the same way<br />

as in Design 1. The PISO and SIPO components are<br />

coded in VHDL and are used in the Simulink model with<br />

the help <strong>of</strong> the ‘Link for ModelSim’ utility (to link the<br />

VHDL blocks with ModelSim for simulation and code<br />

generation purposes). The way PISO and SIPO are used<br />

in a variable node is shown in Fig. 6. Check nodes have<br />

been modified in exactly the same manner. The inputs<br />

and outputs <strong>of</strong> all the variable and check nodes are now<br />

1-bit long. The effects <strong>of</strong> using a VHDL block in a<br />

Simulink design are discussed in the next section. The<br />

HDL coder does not generate the VHDL code <strong>of</strong> the Link<br />

for ModelSim blocks. The VHDL code for these blocks<br />

needs to be added before synthesizing the code.<br />

SIPO1<br />

SIPO2<br />

SIPO3<br />

Variable<br />

Node<br />

PISO1<br />

PISO2<br />

PISO3<br />

Figure 5. Variable node design in Simulink.<br />

New<br />

Variable<br />

Node with<br />

SIPO &<br />

PISO<br />

Figure 6. A variable node with PISO and SIPO.<br />

© 2010 ACADEMY PUBLISHER<br />

V. RESULTS AND ANALYSIS<br />

A. Convergence Test<br />

The convergence characteristics <strong>of</strong> the LDPC decoders<br />

presented in this paper have been tested using VHDL<br />

testbench and compared with that <strong>of</strong> a Matlab code for a<br />

functionally equivalent decoder. For this purpose the<br />

VHDL code automatically generated from the Simulink<br />

models was used. Fig. 7 shows the spread <strong>of</strong> the number<br />

<strong>of</strong> iterations for Design 2 by using plots <strong>of</strong> (mean number<br />

<strong>of</strong> iterations + standard deviation) and (mean number <strong>of</strong><br />

iterations − standard deviation) versus SNR (Eb/No). It is<br />

clear that convergence is achieved in 6 iterations. This is<br />

consistent with the convergence result <strong>of</strong> a functionally<br />

equivalent decoder shown in Fig. 8, designed using<br />

Matlab code [23].<br />

Figure 7. Spread <strong>of</strong> the number <strong>of</strong> iterations for Design 2 obtained<br />

from VHDL testbench.<br />

Figure 8. Spread <strong>of</strong> the number <strong>of</strong> iterations for a functionally<br />

equivalent Matlab code.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 85<br />

B. Algorithm Performance<br />

The performance <strong>of</strong> our LDPC algorithm has been<br />

evaluated by simulating the decoder over AWGN channel<br />

and plotting the Bit-Error-Rate (BER) against Signal-to-<br />

Noise-Ratio (SNR) [24, 25]. Fig. 9 shows the BER<br />

performance <strong>of</strong> Design 2 obtained from simulation <strong>of</strong> the<br />

high-level Simulink model. Fig. 9 also shows the BER<br />

plot <strong>of</strong> the unencoded BPSK channel. Clearly our decoder<br />

demonstrates increasing gain in BER with increasing<br />

SNR compared to the unencoded BER. This proves that<br />

the proposed high-level design method can deliver<br />

competitive designs with the desired gain in BER<br />

performance [24, 25].<br />

Figure 9. Performance simulation <strong>of</strong> the LDPC decoder.<br />

C. Synthesis<br />

Synthesis results for the high-level designs are given<br />

below and are compared with their ‘VHDL only’<br />

counterparts. The results were obtained using Altera’s<br />

Quartus II s<strong>of</strong>tware with Cyclone II EP2C70F672C6 as<br />

the target FPGA device. Table 1 compares the resources<br />

used by our Design 1 and its maximum operating<br />

frequency (Fmax) with the same decoder designed solely<br />

using hand coded VHDL. Our design uses 2.1% <strong>of</strong> the<br />

FPGA’s logical elements, only 120 registers and has a<br />

maximum frequency <strong>of</strong> 42.96 MHz. Clearly our Simulink<br />

design uses much less resources and is faster than the<br />

VHDL-only design. The higher register count in the<br />

VHDL design is due to the presence <strong>of</strong> dedicated<br />

registers for latching variable and check node outputs,<br />

which were removed from the Simulink design. Table 2<br />

compares our Design 2 with its VHDL-only counterpart.<br />

It uses 3.5% <strong>of</strong> the logic elements, which is higher than<br />

the amount used by the VHDL-only design (2.8%).<br />

TABLE I.<br />

DESIGN 1 COMPARED WITH VHDL-ONLY COUNTERPART<br />

Design 1 VHDL only design<br />

Logical elements 1432 (2.1%) 1492 (2.2%)<br />

Combinational functions 1432 (2.1%) 1492 (2.2%)<br />

Total registers 120 (0.2%) 686 (1%)<br />

Maximum frequency (Fmax) 42.96MHz 37.3 MHz<br />

© 2010 ACADEMY PUBLISHER<br />

TABLE II.<br />

DESIGN 2 COMPARED WITH VHDL-ONLY COUNTERPART<br />

Design 2 VHDL only design<br />

Logical elements 2416 (3.5%) 1916 (2.8%)<br />

Combinational functions 2416 (3.5%) 1916 (2.8%)<br />

Total registers 480 (0.7%) 881 (1.3%)<br />

Maximum frequency (Fmax) 67.20MHz 67.72MHz<br />

The reason for the higher number <strong>of</strong> logic elements in<br />

our design is that the control unit contains handshaking<br />

circuitry to facilitate communication <strong>of</strong> large amount <strong>of</strong><br />

data between the PC and the FPGA board for testing.<br />

However, the VHDL-only design has a simple control unit<br />

and does not include any such handshaking circuitry. Our<br />

Design 2 uses nearly half the number <strong>of</strong> registers and<br />

achieves nearly the same maximum frequency (Fmax).<br />

The time required by our high-level approach for<br />

successful modelling, simulation and synthesis <strong>of</strong> the<br />

LDPC designs was almost a quarter <strong>of</strong> that required by<br />

the hand coding method.<br />

D. Behavioral Simulation <strong>of</strong> VHDL Model<br />

Fig. 10 shows the functional simulation result for the<br />

VHDL model <strong>of</strong> Design 2 generated from its top level<br />

Simulink model. A set <strong>of</strong> raw LLRs (6, 6, 2, 4, 7, 4, -2, 6,<br />

4, 7) are applied to the variable nodes. The signals<br />

end_o_vn & end_o_cn are the control signals. The parity<br />

becomes 1 in the third iteration when all the parity checks<br />

are satisfied and the decoder stops the iterations. The<br />

corrected LLRs output by the variable nodes are 7, 7, 7,<br />

7, 7, 7, -8, 4, 5, 7.<br />

E. Hardware Implementation and Testing<br />

After fully simulating the Simulink as well as the<br />

VHDL models <strong>of</strong> Design 1 and Design 2, both designs<br />

were implemented on a Xilinx Spartan 2E FPGA. The<br />

FPGA platform we used is shown in Fig. 11. It contains<br />

three separate modules: the USB communication module<br />

for communicating with the PC, the main FPGA module<br />

housing the Xilinx Spartan IIE, and the I/O module. The<br />

LLRs are generated by a MATLAB program and are<br />

stored in a text file on the PC. A LabVIEW program<br />

running on the PC sends these LLRs to the decoder via<br />

the USB module and receives the decoded LLRs back<br />

along with the parity information. The decoded LLRs are<br />

written into a separate file by the LabVIEW program and<br />

analysed for correctness by a MATLAB program by<br />

comparing with the LLRs generated by simulation <strong>of</strong> the<br />

Simulink and/or VHDL models. The PC controls the<br />

operation <strong>of</strong> the decoder on the FPGA through a number<br />

<strong>of</strong> handshaking signals as is shown in Fig. 12, for<br />

example start/stop, max_iteration etc. The I/O module has<br />

been used to display useful runtime information, for<br />

example the number <strong>of</strong> iterations completed by the<br />

decoder for each LLR. This enables us to obtain a visual<br />

indication that the LDPC decoder is operating. The<br />

performance results obtained from the implemented<br />

decoders are presented in the next sub-section along with<br />

the performance <strong>of</strong> Simulink and VHDL models.


86 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Figure 11. The FPGA platform used to implement the decoders.<br />

LLR_In<br />

Start Stop<br />

Clock<br />

LDPC Decoder<br />

in FPGA<br />

Figure 12. Block diagram <strong>of</strong> the LDPC decoder implemented on the<br />

Xilinx Spartan 2E FPGA device.<br />

F. Comprehensive Testing Strategy<br />

The Matlab and Simulink environment used in the high<br />

level design methodology make it very easy and fast to<br />

build a full test system for testing the whole design. In<br />

this section we present a comprehensive testing strategy<br />

for LDPC decoders whereby we can test the decoder<br />

outputs from three different environments<br />

simultaneously. Fig. 13 shows the proposed testing<br />

strategy. The test system allows the design to be<br />

simultaneously tested in Simulink, VHDL (ModelSim)<br />

and on the FPGA.<br />

© 2010 ACADEMY PUBLISHER<br />

Figure 10. Behavioral simulation results <strong>of</strong> decoder Design 2.<br />

Max_iteration<br />

Reset<br />

Parity<br />

LLR_Out<br />

Number_<strong>of</strong><br />

_Iterations<br />

The LDPC Encode Test Data module generates a<br />

sequence <strong>of</strong> LDPC encoded test data and sends these to<br />

the Simulink simulation model, VHDL testbench and<br />

FPGA at the same time. After decoding is done in the<br />

three environments, the data are sent back to the Test<br />

Data Analysis module. This module analyses the decoded<br />

data from the three environments and compares the parity<br />

information for correctness. We have used this scheme to<br />

validate the decoder designs presented in this paper.<br />

LDPC<br />

Encode<br />

Test Data<br />

LDPC<br />

Decoder<br />

in<br />

Simulink<br />

LDPC<br />

Decoder<br />

in<br />

VHDL<br />

LDPC<br />

Decoder<br />

in<br />

FPGA<br />

Figure 13. Structure <strong>of</strong> the testing system.<br />

LDPC<br />

Test Data<br />

Analysis<br />

Fig. 14 shows the performance plot (BER) obtained<br />

from the FPGA and compares it with the BER obtained<br />

from the Simulink model. The performance plots from<br />

the VHDL testbench and FPGA are also compared in Fig.<br />

15. These figures show a close match among the<br />

performance plots obtained from three different<br />

environments and therefore prove that the design has<br />

been correctly implemented and run on the FPGA device.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 87<br />

Figure 14. Bit-Error-Rates obtained from FPGA implementation<br />

compared with Simulink simulation.<br />

Figure 15. Bit-Error-Rates obtained from FPGA implementation<br />

compared with VHDL testbench.<br />

VI. ANALYSIS OF THE HIGH LEVEL DESIGN METHOD<br />

The high-level design methodology presented in this<br />

paper reduces design complexity, effort and time. For<br />

example, to design the variable and check nodes <strong>of</strong> Fig. 4<br />

and Fig. 5 completely in VHDL a designer has to write<br />

behaviours <strong>of</strong> quite a few modules in VHDL and<br />

manually do the port mapping for the top level design. As<br />

the design gets larger and larger it becomes very difficult<br />

to code everything in VHDL. It not only takes huge effort<br />

and time, but also managing complex designs and reusing<br />

the designs are <strong>of</strong>ten quite difficult. A great deal <strong>of</strong><br />

expertise and experience in VHDL is also required. For a<br />

large LDPC decoder with hundreds <strong>of</strong> nodes, the<br />

interconnections among the variable and check nodes<br />

could easily become a designer’s nightmare if the entire<br />

design has to be coded in VHDL. An alternative, intuitive<br />

and highly efficient design method has been a long<br />

standing desire <strong>of</strong> the engineers engaged in the design <strong>of</strong><br />

complex digital systems such as LDPC decoders.<br />

© 2010 ACADEMY PUBLISHER<br />

The high level methodology we have presented in this<br />

paper <strong>of</strong>fers a very attractive alternative. The designs can<br />

be done intuitively in Simulink using predefined<br />

Simulink library blocks and blocks made from high-level<br />

Matlab code. The design complexity, effort and time are<br />

reduced drastically because the need for manually writing<br />

complex VHDL code is almost eliminated. Our estimates<br />

have shown that the time required to successfully design,<br />

simulate and synthesise a LDPC decoder using hand<br />

coded VHDL is almost four times that required by the<br />

proposed high-level methodology. Our decoder Design 2<br />

had 1069 lines <strong>of</strong> VHDL code generated automatically by<br />

HDL Coder from the top level Simulink model as<br />

opposed to only 225 lines <strong>of</strong> hand written VHDL code.<br />

The main reason for the large code produced by HDL<br />

Coder is that it used a very large number <strong>of</strong> internal<br />

signals to generate the VHDL description <strong>of</strong> the decoder.<br />

This is something we did not have any control over. Of<br />

course our decider Design 2 had additional handshaking<br />

circuitry to facilitate communication between the PC and<br />

the FPGA board for testing purpose. This contributed to<br />

the larger code to some extent. However, we did not<br />

optimise the auto-generated VHDL code. Yet our decoder<br />

designs compare favourably with the hand coded designs<br />

(see Tables 1 and 2).<br />

Another important aspect <strong>of</strong> the proposed high-level<br />

design methodology is that design reuse requires much<br />

less effort because changes are made either at block level<br />

in Simulink or in high-level Matlab code. In addition<br />

Matlab is a s<strong>of</strong>tware programming language that is used<br />

much more widely than hardware description languages<br />

like VHDL and Verilog. Therefore designers without<br />

specific skills in hardware languages are able to design<br />

complex digital systems without much problem. Even<br />

s<strong>of</strong>tware engineers and algorithm developers are able to<br />

quickly implement and test their high-level designs due to<br />

the ability to automatically generate HDL descriptions<br />

from the Simulink models. This will surely <strong>of</strong>fer great<br />

flexibility and efficiency in the design and reuse <strong>of</strong><br />

complex LPDC decoders. There are some other benefits<br />

<strong>of</strong> the high level design methodology:<br />

• Different parts <strong>of</strong> the model can be enveloped using the<br />

‘create subsystem’ property <strong>of</strong> Simulink. It reduces the<br />

design complexity for large designs.<br />

• User created Simulink library blocks provide great<br />

flexibility because the revisions made to the user<br />

defined library seamlessly propagate through the entire<br />

model.<br />

• HDL Coder can generate either VHDL or Verilog<br />

descriptions from the high-level Simulink models,<br />

allowing greater flexibility in the choice <strong>of</strong> the<br />

hardware description language.<br />

In the high-level design methodology, it is also easy<br />

and fast to build a complete test system. The Matlab and<br />

Simulink library provides a lot <strong>of</strong> powerful tools for<br />

generating and analysing test data such as graphical plot,<br />

scripts, etc.<br />

The design methodology we have presented requires<br />

the use <strong>of</strong> some emerging design tools and library<br />

functions, such as Simulink hardware library and


88 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

embedded Matlab blocks, Link for ModelSim and HDL<br />

Coder tools. Because these are very recent developments<br />

the library <strong>of</strong> Simulink blocks to support the functions a<br />

designer needs is rather limited at the present time.<br />

Similarly the capability <strong>of</strong> HDL Coder is limited to<br />

conversion <strong>of</strong> a few commonly used Simulink blocks and<br />

a few embedded Matlab blocks. Some <strong>of</strong> the specific<br />

limitations are discussed below.<br />

A. Current Limitations<br />

Some common blocks in the Simulink library are not<br />

currently supported by the HDL Coder for automatic<br />

generation <strong>of</strong> VHDL code, e.g. flip-flops. Although we<br />

could build the PISO and SIPO registers easily in<br />

Simulink using the flip flops from its library the registers<br />

were not converted to VHDL by the HDL Coder. A<br />

careful selection <strong>of</strong> supported Matlab functions and<br />

Simulink library blocks may help addressing this type <strong>of</strong><br />

problems, but not necessarily always. Some other<br />

limitations we experienced are listed below:<br />

• Multiple instances <strong>of</strong> some modules (components) are<br />

used in the LDPC decoder, and in fact in most modular<br />

designs utilising a hierarchical design methodology.<br />

For example, in our LDPC decoder multiple instances<br />

<strong>of</strong> the check and variable nodes, and PISO and SIPO<br />

registers are used. The HDL Coder dumps the full<br />

behaviour <strong>of</strong> each component as many times as it is<br />

instantiated in the design. This produces redundant<br />

instances <strong>of</strong> component behaviour in the generated<br />

VHDL code. It is necessary for the designer to edit the<br />

auto-generated code.<br />

• There are some functions which are supported by the<br />

HDL Coder, but it produces the output in a particular<br />

data type. For example, the sign function <strong>of</strong> Matlab<br />

gives output only in 8-bit integer (int8) format. It is not<br />

possible to change these default data types in the<br />

current version. The only option is to manually edit the<br />

auto-generated HDL code.<br />

• Link for ModelSim: This utility enables blocks<br />

designed in VHDL to be included in Simulink models.<br />

However the ports <strong>of</strong> the blocks that use Link for<br />

ModelSim get interchanged while simulating in<br />

Simulink. HDL code cannot be generated for the<br />

Simulink model in this situation. The code can be<br />

generated only after correcting the design. This makes<br />

the design process difficult and time consuming. The<br />

other drawback <strong>of</strong> blocks utilising Link for ModelSim<br />

is that these blocks may make changes in the autogenerated<br />

code. In case <strong>of</strong> the LDPC decoder these<br />

blocks changed the signals <strong>of</strong> type signed to unsigned.<br />

Once again this requires manually editing the autogenerated<br />

VHDL code.<br />

VII. CONCLUSIONS<br />

In this paper a new high-level intuitive design<br />

methodology based on Simulink for modelling, synthesis<br />

and implementation <strong>of</strong> LDPC decoders has been<br />

presented. It utilises the higher level <strong>of</strong> abstraction<br />

<strong>of</strong>fered by the Simulink modelling environment. The<br />

© 2010 ACADEMY PUBLISHER<br />

modelling, simulation and synthesis process utilises a<br />

combination <strong>of</strong> emerging design tools and associated<br />

library functions. These include the Simulink HDL Coder<br />

and ‘Link for ModelSim’ tools, and embedded Matlab<br />

and Simulink hardware library blocks. Two versions <strong>of</strong><br />

10x5 LDPC decoders have been designed, simulated,<br />

synthesised and successfully implemented on a Xilinx<br />

Spartan 2E FPGA device. A comprehensive testing<br />

strategy has been adopted to test the decoders at all<br />

levels, from the high level Simulink model through<br />

VHDL all the way up to hardware implementation. Our<br />

testing strategy supports simultaneous testing <strong>of</strong> the<br />

decoders at the three levels which is useful for real-time<br />

debugging. The proposed high level design methodology<br />

facilitates the creation <strong>of</strong> such testing strategy very<br />

quickly because the test data generated at the high level is<br />

used for testing at all three levels. This helps to reduce<br />

the time <strong>of</strong> evaluating and testing the design as well as<br />

ensures that the final design is efficient and error-free.<br />

The performance figures on Bit-Error-Rates obtained at<br />

the three levels compare favourably with those <strong>of</strong> the<br />

LDPC decoders reported in the literature.<br />

The proposed high level design methodology <strong>of</strong>fers<br />

great advantages in terms <strong>of</strong> design complexity, effort<br />

and time compared to a HDL-only design method. Our<br />

Design 1, completed using the new methodology, uses<br />

less FPGA resources and achieves higher Fmax compared<br />

to its HDL-only designs. Our Design 2 achieves nearly<br />

the same Fmax as its VHDL-only counterpart, but uses<br />

slightly higher number <strong>of</strong> logic elements due to the<br />

inclusion <strong>of</strong> additional handshaking circuitry required for<br />

testing the design on FPGA. Given the significant<br />

reduction in design effort and time, the above results<br />

make the proposed design methodology a very attractive<br />

one. We envisage that with further enrichment <strong>of</strong> the<br />

Simulink Library blocks, and enhancements <strong>of</strong> HDL<br />

Coder and Link for ModelSim tools, design<br />

methodologies similar to the one presented in this paper<br />

will eventually replace tedious HDL-based design<br />

approach. This will pave the way for cost effective design<br />

and reuse <strong>of</strong> a new generation <strong>of</strong> complex high<br />

performance LDPC decoders.<br />

ACKNOWLEDGEMENT<br />

This work has been supported in part by a research<br />

grant from the Division <strong>of</strong> IT, Engineering and the<br />

Environment <strong>of</strong> the University <strong>of</strong> South Australia<br />

(UniSA). The authors wish to thank Mr Sunil Sharma for<br />

his initial investigations into developing variable and<br />

check node models using Simulink and related tools. The<br />

authors also acknowledge Pr<strong>of</strong> Bill Cowley <strong>of</strong> UniSA’s<br />

Institute <strong>of</strong> Telecommunications Research for his useful<br />

suggestions and critical feedback. The authors understand<br />

that Pr<strong>of</strong> Cowley’s time has been partially supported<br />

through a research grant from Sir Ross and Sir Keith<br />

Smith fund. Finally the authors would like to thank Dr<br />

Mark Ho <strong>of</strong> the School <strong>of</strong> Electrical and Information<br />

Engineering <strong>of</strong> UniSA for his suggestions on the<br />

performance simulations <strong>of</strong> the decoder.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 89<br />

REFERENCES<br />

[1] R. G. Gallager, Low-Density Parity-Check Codes.<br />

Cambridge, Mass: Monogram, 1963.<br />

[2] S. Johnson, Introducing Low-Density Parity-Check<br />

Codes. Australia: University <strong>of</strong> Newcastle, 2006.<br />

[3] S. Lin and D. J. Costello, Error Control Coding:<br />

Fundamentals and Applications. New Jersey: Prentice<br />

Hall, 2004.<br />

[4] B. Reiffen, “Sequential Decoding for Discrete Input<br />

Memoryless Channels,” IRE Trans. Inf. Theory, vol. 8,<br />

no. 3, pp. 208-220, April 1962.<br />

[5] A. J. Blanksby and C. J. Howland, “A 690- mW 1-Gb/s<br />

1024-b, rate-1/2 low-density parity check code decoder,”<br />

IEEE J. Solid State Circuits, vol. 37, no. 3, pp. 404–412,<br />

2002.<br />

[6] T. J. Richardson, M. A. Shokrollahi, and R. L. Urbanke,<br />

“Design <strong>of</strong> capacity-approaching irregular low-density<br />

parity-check codes,” IEEE Trans. Inf. Theory, vol. 47, pp.<br />

619-637, February 2001.<br />

[7] J. Nguyen, B. Nikolic, and E. Yeo, Design <strong>of</strong> a low<br />

density parity check iterative decoder. University <strong>of</strong><br />

California, Berkley: EECS, College <strong>of</strong> Engineering, 2002.<br />

[8] S. Hong and W. Stark, “Design and implementation <strong>of</strong> a<br />

low complexity VLSI turbo-code decoder architecture for<br />

low energy mobile wireless communications,” J. VLSI<br />

Signal Processing, vol. 24, pp. 43-57, 2000.<br />

[9] M. Karkooti, P. Radosavljevic, and J. R. Cavallaro,<br />

“Configurable, High Throughput, Irregular LDPC<br />

Decoder Architecture: Trade<strong>of</strong>f Analysis and<br />

Implementation,” Proc. Int. Conf. Application Specific<br />

Systems, Architectures and Processors, pp. 360-367,<br />

September 2006.<br />

[10] M. Karkooti, P. Radosavljevic, and J. R. Cavallaro,<br />

“Configurable LDPC Decoder Architectures for Regular<br />

and Irregular Codes”, J. Signal Processing Systems, vol.<br />

53, pp. 73-88, October 2008.<br />

[11] Y. Lei, L. Hui, and R. C. J. Shi, “Code Construction and<br />

FPGA Implementation <strong>of</strong> a low-error-floor multi-rate<br />

low-density Parity-check code decoder,” IEEE Trans.<br />

Circuits & Systems I, vol. 53, pp. 892-904, April 2006.<br />

[12] A. Darabiha, C. A. Carusone, R. F. Kschischang, and E.<br />

S. Rogers, “Multi-Gbit/sec Low Density Parity Check<br />

Decoders with Reduced Interconnect Complexity,” Proc.<br />

IEEE Int. Symp. Circuits & Systems, vol. 5, pp. 5194-<br />

5197, 2005.<br />

[13] A. Darabiha, C. A. Carusone, and R. F. Kschischang,<br />

“Block-Interlaced LDPC Decoders With Reduced<br />

Interconnect Complexity,” IEEE Trans. Circuits &<br />

Systems I I, vol. 55, pp. 74-78, January 2008.<br />

[14] J. Sha, M. Gao, Z. Zhang, Li Li, and Z. Wang, “An FPGA<br />

implementation <strong>of</strong> array LDPC decoder,” Proc. IEEE<br />

Asia Pacific Conf. Circ. & Systems, pp. 1675-1678,<br />

December 2006.<br />

[15] Mauro Cocco, “A scalable architecture <strong>of</strong> LDPC<br />

Decoding,” Proc. Design, Automation & Test in Europe<br />

Conf., vol. 3, pp. 88-93, February 2004.<br />

[16] J. A. Wicks and J. R. Armstrong, “Efficiency ratings for<br />

VHDL behavioral models,” IEEE Proc. Southeasrcon’98,<br />

pp. 401-404, April 1998.<br />

[17] M. Eroz, F.W. Sun, and L.N. Lee, “DVB-S2 low density<br />

parity check codes with near Shannon limit performance,”<br />

Int. J. Satellite Communications and Networking, pp.<br />

269-279, 2004.<br />

[18] W. E. Ryan, An Introduction to LDPC Codes. USA: The<br />

University <strong>of</strong> Arizona, 2003.<br />

© 2010 ACADEMY PUBLISHER<br />

[19] T. Mohsenin and B. M. Baas, “Split-Row: A reduced<br />

complexity, high throughput LDPC decoder architecture,”<br />

Proc. Int. Conf. on Computer Design (ICCD 2006), San<br />

Jose, CA, pp. 220-225, 1-4 Oct 2007.<br />

[20] Z. Jianguang, F. Zarkeshvari, and A. H. Banihashemi, “On<br />

implementation <strong>of</strong> min-sum algorithm and its<br />

modifications for decoding low-density Parity-check<br />

(LDPC) codes”, IEEE Trans. on Communications, vol. 53,<br />

no. 4, pp. 549-554, April 2005.<br />

[21] F. R. Kschischang, B. J. Frey, and H. Loeliger, “Factor<br />

graphs and the sum-product algorithm,” IEEE Trans. on<br />

Inf. Theory, vol. 47, no. 2, pp. 498-519, 2001.<br />

[22] Sae-Young Chung, T. J. Richardson, and R. L. Urbanke,<br />

“Analysis <strong>of</strong> Sum-Product Decoding <strong>of</strong> Low-Density<br />

Parity-Check Codes Using a Gaussian Approximation,”<br />

IEEE Trans. Info. Theory, vol. 47, no. 2, pp 657-670, 2001.<br />

[23] S. M. Aziz and S. Sharma, “New Methodologies for High<br />

Level Modeling and Synthesis <strong>of</strong> Low Density Parity<br />

Check Decoders“, Proc. 11 th Int. Conf. on <strong>Computers</strong> and<br />

IT (ICCIT 2008), Khulna, pp. 276-281, 24-27 December<br />

2008.<br />

[24] D. Sridhara and T. E. Fuja, “LDPC Codes Over Rings for<br />

PSK Modulation,” IEEE Trans. Inf. Theory, vol. 51, no. 9,<br />

pp. 3209-3220, September 2005.<br />

[25] J. K. S. Lee and J. Thorpe, “Memory-Efficient Decoding <strong>of</strong><br />

LDPC Codes,” Proc. IEEE Int. Symp. on Information<br />

Theory (ISIT 2005), Adelaide, Australia, pp. 459-463, 4-9<br />

November 2005.<br />

Syed Mahfuzul Aziz received<br />

Bachelor and Masters Degrees, both in<br />

electrical & electronic engineering,<br />

from Bangladesh University <strong>of</strong><br />

Engineering & Technology (BUET) in<br />

1984 and 1986 respectively. He<br />

received a Ph.D. degree in electronic<br />

engineering from the University <strong>of</strong><br />

Kent (UK) in 1993 and a Graduate<br />

Certificate in higher education from<br />

Queensland University <strong>of</strong> Technology, Australia in 2002.<br />

He was a Pr<strong>of</strong>essor in BUET until 1999, and led the<br />

development <strong>of</strong> the teaching and research programs in<br />

integrated circuit (IC) design in Bangladesh. He joined the<br />

University <strong>of</strong> South Australia in 1999, where he is currently an<br />

associate pr<strong>of</strong>essor and the inaugural academic director <strong>of</strong> first<br />

year engineering program. In 1996, he was a visiting scholar at<br />

the University <strong>of</strong> Texas at Austin when he spent time at Crystal<br />

Semiconductor Corporation designing advanced CMOS<br />

integrated circuits. He was a visiting pr<strong>of</strong>essor at the National<br />

Institute <strong>of</strong> Applied Science Toulouse, France in 2006, where he<br />

has collaborations in the area <strong>of</strong> nanoscale CMOS technology<br />

modelling and integration with educational IC design tools. He<br />

has been involved in numerous industry projects in Australia<br />

and overseas, and has attracted funding from reputed research<br />

organisations such as the Australian Defence Science and<br />

Technology Organisation (DSTO), and the Pork CRC<br />

(Cooperative Research Centre), Australia. He has authored<br />

eighty five refereed research papers. His research interests<br />

include digital CMOS IC design and testability, modelling and<br />

FPGA implementation <strong>of</strong> high performance processing systems,<br />

biomedical engineering and engineering education.


90 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Dr Aziz is a senior member <strong>of</strong> IEEE and a member <strong>of</strong><br />

Engineers Australia. He has received numerous pr<strong>of</strong>essional<br />

awards. These include: an Excellent Achievement Award in<br />

Networking and Internet System Development (1998) from the<br />

Centre <strong>of</strong> the International Co-operation for Computerisation,<br />

Japan; the International Network for Engineering Education and<br />

Research Achievement Award (2007); a Citation for outstanding<br />

contributions to student learning from both the Australian<br />

Learning & Teaching Council (2007) and the Australasian<br />

Association for Engineering Education (AaeE–2007); an AaeE<br />

Award for Teaching Excellence - Highly Commended (2008).<br />

He has served as member <strong>of</strong> the program committees <strong>of</strong> many<br />

international conferences. He reviews papers for the IEEE<br />

Transactions on Computer and Electronics Letters, UK.<br />

Recently he has been appointed a reviewer <strong>of</strong> the National<br />

Priorities Research Program, a flagship funding scheme <strong>of</strong> the<br />

Qatar National Research Fund.<br />

© 2010 ACADEMY PUBLISHER<br />

Minh Duc Pham received B.S.<br />

degree in electronic engineering from<br />

HCM National University <strong>of</strong><br />

Technology, Vietnam in 2003 and M.S.<br />

degree in microsystems technology from<br />

the University <strong>of</strong> South Australia in<br />

2008. He has been working as an<br />

ASIC/FPGA engineer since 2003 for<br />

Arrive Technologies Inc, a fab-less<br />

silicon supplier <strong>of</strong> Disruptive Next<br />

Generation Solutions for PDH, SONET, SDH and Ethernet<br />

Internetworking. Mr Pham is currently working as a Research<br />

Assistant in the School <strong>of</strong> Electrical and Information<br />

Engineering <strong>of</strong> the University <strong>of</strong> South Australia. His research<br />

interests are in the fields <strong>of</strong> VLSI implementation <strong>of</strong><br />

communication systems such as SoC for next generation<br />

networking, automation in VLSI design, forward error<br />

correction and coding theory.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 91<br />

A Formal Model for Abstracting the Interaction <strong>of</strong><br />

Web Services<br />

Li Bao<br />

Institute <strong>of</strong> S<strong>of</strong>tware Engineering, Dalian Maritime University, Dalian, China<br />

Email: ebond@163.com<br />

Weishi Zhang and Xiong Xie<br />

Institute <strong>of</strong> S<strong>of</strong>tware Engineering, Dalian Maritime University, Dalian, China<br />

Email: {teesiv, xxyj}@dlmu.edu.cn<br />

Abstract—This paper addresses the problems <strong>of</strong> modeling<br />

the interaction <strong>of</strong> Web services when they are composed<br />

together. Many subtle errors such as message not received<br />

and deadlock may occur due to uncontrolled concurrency <strong>of</strong><br />

Web services. A model called IMWSC (Interaction Module<br />

for Web Service Composition, IMWSC for short) is<br />

proposed. The proposed model is used to abstract and<br />

analyze the interaction <strong>of</strong> web services. IMWSC is given a<br />

formal semantics by means <strong>of</strong> CCS (Calculus <strong>of</strong><br />

Communicating System, CCS for short), which is a kind <strong>of</strong><br />

process algebra that can be used to model concurrent<br />

systems. The application <strong>of</strong> this model is further<br />

investigated in a case study. Some important points related<br />

to verify the correctness <strong>of</strong> interaction <strong>of</strong> Web service are<br />

discussed.<br />

Index Terms—Web Service, Interaction, Formal Method,<br />

IMWSC<br />

I. INTRODUCTION<br />

In order to survive the massive competition created by<br />

the new online economy, many organizations are rushing<br />

to put their core business competencies on the Internet as<br />

a collection <strong>of</strong> web services for more automation and<br />

global visibility [1] . The concept <strong>of</strong> web service has<br />

become recently very popular. Web services are s<strong>of</strong>tware<br />

applications which can be used through a network<br />

(intranet or Internet) via the exchange <strong>of</strong> messages based<br />

on XML standards [2] . It has become a vehicle <strong>of</strong> web<br />

services rather than just a repository <strong>of</strong> information.<br />

The ability to efficiently and effectively share services<br />

on the Web is a critical step towards the development <strong>of</strong><br />

the new online economy driven by the Business-to-<br />

Business (B2B) e-commerce [1] . Existing enterprises<br />

would form alliances and integrate their services to share<br />

costs, skills, and resources in <strong>of</strong>fering a value-added<br />

service to form what is known as composite service.<br />

A composite web service is a system that consists <strong>of</strong><br />

several conceptually autonomous but cooperating units.<br />

In order to establish a long-running service composition,<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.91-98<br />

many languages and tools emerged, which provide<br />

different schemas to glue service operations properly.<br />

Service composition approaches can be generally divided<br />

into two categories [3, 4] : business flow based approach<br />

and semantic based approach. Some famous projects on<br />

web service are based on business flow [24] , such as<br />

eFlow [5] , METEOR-S [6] , SELF-SERV [7] ; Semantics based<br />

approach composes services based on ontology and relies<br />

on the use <strong>of</strong> AI planning techniques to automatically<br />

search, orchestrate, compose and execute services.<br />

Representative projects on web service research that is<br />

based on Semantics are: WebDG [8] , SWORD [9] , SHOP [10] .<br />

From a s<strong>of</strong>tware engineering viewpoint, the<br />

construction <strong>of</strong> new services by the static or dynamic<br />

composition <strong>of</strong> existing services raises exciting new<br />

perspectives which can significantly impact the way<br />

industrial applications will be developed in the future —<br />

but they also raise a number <strong>of</strong> challenges. Among them<br />

is the essential problem <strong>of</strong> guaranteeing the correct<br />

interaction <strong>of</strong> independent, communicating s<strong>of</strong>tware<br />

pieces [2] .<br />

One legitimate question is therefore whether or not the<br />

correct and reliable interaction <strong>of</strong> web services can be<br />

guaranteed to a great extent by introducing the formal<br />

description techniques. Our investigations suggest a<br />

positive answer. This paper addresses the problem <strong>of</strong><br />

formally modeling the interaction <strong>of</strong> web services when<br />

they are composed together, be it in a dynamic or static<br />

way. A model for abstracting and analyzing one scenario<br />

<strong>of</strong> the interaction process <strong>of</strong> web services called IMWSC<br />

is proposed. After the interaction <strong>of</strong> web service is<br />

described in an abstract way, available supporting tool<br />

can be used to determine whether or not this interaction<br />

process satisfies the desired properties which are<br />

expressed in a kind <strong>of</strong> modal logic.<br />

This paper is structured as follows. Section 2 discusses<br />

the related work. In Section 3, we present IMWSC.<br />

Section 4 defines the semantics <strong>of</strong> IMWSC. The<br />

application <strong>of</strong> IMWSC is investigated in a case study in<br />

Section 5. And the conclusion and future work are drawn<br />

up in Section 6.


92 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

II. Related Work<br />

Petri nets are a formal model for concurrency. Since<br />

the semantics <strong>of</strong> Petri nets is formally defined, by<br />

mapping each BPEL process to a Petri net a formal model<br />

<strong>of</strong> BPEL can be obtained which allows the verification<br />

techniques and tools developed for Petri nets to be<br />

exploited in the context <strong>of</strong> BPEL processes. Many works<br />

such as [11, 12, 21, 22] introduce the Petri net based<br />

method for describing and verifying web service.<br />

In [21], Schmidt and Stahl discuss a mapping from<br />

BPEL to Petri nets by giving several examples. Each<br />

BPEL construct is mapped into a Petri net pattern.<br />

In [22], Schlingl<strong>of</strong>f, Martens and Schmidt also<br />

consider the usability problem. They show that usability<br />

can be expressed in alternating-time temporal logic. As a<br />

consequence, model checking algorithms for this logic<br />

can be exploited to check for usability.<br />

As research aiming at facilitating web services<br />

integration and verification, WS-Net introduced in [11] is<br />

an executable architectural description language<br />

incorporating the semantics <strong>of</strong> Colored Petri-net with the<br />

style and understandability <strong>of</strong> object-oriented concepts.<br />

In [12], Tao provide a web service composition model<br />

which is based on a kind <strong>of</strong> advanced Petri-net, OOPN<br />

(Object Oriented Petri Net). A web service can be<br />

mapped to an OOPN system based on this model and<br />

different OOPN system can be integrated together into a<br />

composite service via message passing.<br />

A process algebra is a rather small concurrent language<br />

that abstracts from many details and focuses on particular<br />

features. There are several relevant publications [1, 13, 14]<br />

for process algebra based methods.<br />

Gwen Salaün, Lucas Bordeaux present an overview <strong>of</strong><br />

the applicability <strong>of</strong> process algebras in the context <strong>of</strong> web<br />

services in [1].<br />

Authors present a framework for the design and the<br />

verification <strong>of</strong> WSs using process algebras and their tools<br />

in [13].<br />

Li Bao, Weishi Zhang present a CCS based method for<br />

describing and verifying the behaviour <strong>of</strong> web service in<br />

[14].<br />

III. Defining IMWSC<br />

A. Initiative <strong>of</strong> IMWSC<br />

For the Petri net based methods, one major defect is<br />

that the number <strong>of</strong> the places and the transitions described<br />

in a Petri net is too large. Researchers <strong>of</strong>ten map each<br />

element in a web service composition language to an<br />

element in Petri net and do not restrict the number <strong>of</strong> the<br />

places and the transitions in a Petri net. If the number <strong>of</strong><br />

the places and the transitions described in a Petri net is<br />

not restricted, the designers will meet a condition <strong>of</strong> state<br />

explosion, which is very difficult to be dealt with; another<br />

major defect for the Petri net based methods is the lack <strong>of</strong><br />

the description <strong>of</strong> interaction process <strong>of</strong> web services.<br />

The Petri net based methods <strong>of</strong>ten put their emphasis on<br />

describing the workflow inside a web service, and do not<br />

present the complicate interaction process <strong>of</strong> web services.<br />

© 2010 ACADEMY PUBLISHER<br />

For the process algebra based methods, one major<br />

defect is that some kinds <strong>of</strong> complex structure <strong>of</strong> web<br />

service composition can not been defined by using these<br />

methods; another major defect for the process algebra<br />

based methods is that the lack <strong>of</strong> rigorous translation<br />

mechanism between the element <strong>of</strong> web service<br />

composition language and the element <strong>of</strong> process algebra.<br />

These methods <strong>of</strong>ten give simple corresponding relations<br />

and translation rules. These relations and rules can not<br />

guarantee the correct reservation <strong>of</strong> the information<br />

related to behavior and are apt to lead to the loss <strong>of</strong><br />

information. We adopt a kind <strong>of</strong> hierarchically refined<br />

description method to define the interaction process <strong>of</strong><br />

web services, i.e., we divide the interaction process <strong>of</strong><br />

web services into smaller parts, which is defined as<br />

Interaction Module for Web Service Composition<br />

(IMWSC in short). For each <strong>of</strong> these parts, a scenario <strong>of</strong><br />

the interaction <strong>of</strong> web services is defined. These smaller<br />

parts, i.e., modules, have a common property that the<br />

outcome <strong>of</strong> each module is determinate, in other words,<br />

each <strong>of</strong> the module has only one terminative state. This<br />

important property suggests these modules can be<br />

composed. Therefore, by mapping each module to a<br />

transition in a Petri net, modules which describe the<br />

scenarios <strong>of</strong> the interaction <strong>of</strong> web services are strictly<br />

composed. However, for the limit <strong>of</strong> the length, we only<br />

introduce the definition and properties <strong>of</strong> a module, i.e.<br />

IMWSC model, method about how to compose these<br />

modules will be introduced in further work.<br />

Instead <strong>of</strong> composing activities <strong>of</strong> web service, we<br />

compose modules. The merit <strong>of</strong> our approach is that it<br />

can effectively reduce the number <strong>of</strong> the objects to be<br />

analysis, such that the interaction process <strong>of</strong> web service<br />

is described more concisely, as well as the state explosion<br />

can be avoided. At the same time, web service<br />

composition with complex structure can be described by<br />

composing these modules, while the process algebra<br />

based methods can not achieve.<br />

Another benefit <strong>of</strong> our approach is the introducing <strong>of</strong><br />

the semantic <strong>of</strong> IMWSC. The semantic <strong>of</strong> IMWSC<br />

comprises three parts: semantic domain, semantic range,<br />

and valuation function. A process calculus CCS (Calculus<br />

<strong>of</strong> Communicating Systems, CCS in short) [15, 16] is<br />

introduced as a semantic range, and then valuation<br />

functions are defined that translate an IMWSC(semantic<br />

domain) into a process term. Since the valuation<br />

functions are rigorously defined, the correct reservation<br />

<strong>of</strong> the information related to behavior can be guaranteed,<br />

such that the loss <strong>of</strong> information can be avoided.<br />

B. Formal Definition <strong>of</strong> IMWSC<br />

A web service is a s<strong>of</strong>tware application which can be<br />

used through a network (intranet or Internet). For a web<br />

service, the basic functional unit is operation. The process<br />

<strong>of</strong> web service invocation is actually the process <strong>of</strong><br />

operation invocation. For IMWSC, the invocation <strong>of</strong><br />

operation is modeled by Activity. For a better control <strong>of</strong><br />

the structure <strong>of</strong> activities, we introduce a set <strong>of</strong> processes,<br />

i.e. Proc, as the basic control unit. A process, i.e. an<br />

element in Proc, is a linear concatenation <strong>of</strong> activities. If


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 93<br />

the output data <strong>of</strong> one operation opr1<br />

is the input data <strong>of</strong><br />

another operation opr2<br />

, we consider that there is a<br />

corresponding relation between and opr . For<br />

opr1 2<br />

IMWSC, we introduce the binary relation a to<br />

represent this kind <strong>of</strong> relation. Symbol L is introduced<br />

into IMWSC to record the interaction history <strong>of</strong> web<br />

services. We described the interaction process <strong>of</strong> web<br />

services in a scenario in the way defined by IMWSC, in<br />

other words, the definition <strong>of</strong> an instance <strong>of</strong> IMWSC is<br />

the definition <strong>of</strong> the interaction process <strong>of</strong> web services in<br />

a scenario.<br />

Definition 1. (IMWSC) Formally, an IMWSC is a<br />

septuple ,<br />

where:<br />

● Service denotes a set <strong>of</strong> web services;<br />

● Proc is a set <strong>of</strong> processes ;<br />

● Activity is a set <strong>of</strong> activities ;<br />

● L is a set <strong>of</strong> sequences <strong>of</strong> activities;<br />

● Message is a set <strong>of</strong> messages that are exchanged by<br />

services;<br />

R ⊆ Activity×Activity is a binary relation;<br />

● a<br />

● F is a sextuple < , , , , ,<br />

f mA<br />

>, where:<br />

f → { c,<br />

b }<br />

R<br />

f pT f pS f pU f aP f aT<br />

─ pT : Proc is a mapping that<br />

describes the type <strong>of</strong> each process ( composite<br />

or basic ) ;<br />

─ f pS : Proc → Service is a mapping that<br />

describes the type <strong>of</strong> each process ( composite<br />

or atomic ) ;<br />

─ f pU : Proc → Proc is a mapping that<br />

associates a process with a composite process;<br />

─ f aP : Activity → Proc is a mapping that<br />

associates each activity with a process ;<br />

─ f aT : Activity → {ii, io, ei, eo, ex} is a<br />

─<br />

mapping that describes the type <strong>of</strong> each<br />

activity ( internal input, internal output,<br />

environmental input, environmental output,<br />

execute );<br />

f mA : Message → Activity is a mapping that<br />

associates each message with an Activity.<br />

f con<br />

( proc)<br />

{ a | a ∈ Activity ∧ (a)<br />

f aP<br />

We let = =<br />

proc} for p ∈Proc<br />

∧ f pT ( p)<br />

= b ; Let c < ⊆ Activity<br />

× Activity be an partial order relation over Activity,<br />

defined as: < c = { ( a1 , a2<br />

) | Activity<br />

a a1 2 ∈ ,<br />

∧ f aP ( a1)<br />

= f aP ( a2<br />

) ∧ ( a1<br />

happens earlier than<br />

a2<br />

)}; An element proc in Proc is constructed by the<br />

following grammar:<br />

© 2010 ACADEMY PUBLISHER<br />

proc = α | || proc | proc p proc ,<br />

1 2<br />

proc 1<br />

2<br />

where: α ∈ Activity; proc1, proc2∈Proc.<br />

● 1 || proc2<br />

is a new process that performs<br />

proc1 and proc2 independently;<br />

proc<br />

● proc1 p proc2<br />

is a new process that performs<br />

proc1 and proc2 sequentially.<br />

Fig. 1 presents an illustration <strong>of</strong> the structure <strong>of</strong><br />

IMWSC. In Fig.1, a service is visualized by a circle;<br />

interaction <strong>of</strong> services is visualized by a pair <strong>of</strong> parallel<br />

arrows (with opposite directions); the interaction process<br />

Definition, i.e., the definition <strong>of</strong> an instance <strong>of</strong> IMWSC,<br />

is visualized by a rectangle.<br />

Figure 1. Structure <strong>of</strong> IMWSC<br />

C. The Necessary Condition for the Correctness <strong>of</strong><br />

IMWSC<br />

The fundamental requirement for a correct interaction<br />

process <strong>of</strong> services is that each input <strong>of</strong> a service shall be<br />

met by another service. Thus the basic requirement that<br />

guarantees the correctness <strong>of</strong> IMWSC is:<br />

for any activity a1 ∈Activity,<br />

if it is an input activity,<br />

then, there shall be another activity a2<br />

∈ Activity, such<br />

that a1Ra a2<br />

. The necessary condition for the correctness<br />

<strong>of</strong> IMWSC can also be defined as the following<br />

predicative formula:<br />

∀ a ∈ Activity (( f a ii<br />

) (<br />

aT ( ) = ∨ f aT ( a)<br />

= io →<br />

∃a' ∈ Activity ( aR a'<br />

∨ )))<br />

a 'R<br />

a<br />

a a<br />

IV. Formal Semantics <strong>of</strong> IMWSC<br />

Formal semantic descriptions <strong>of</strong> a model are the basis<br />

for proving properties <strong>of</strong> this model. Moreover, they<br />

provide precise documentation <strong>of</strong> model design and<br />

standards for implementations, and (sometimes) they can<br />

be used for generation <strong>of</strong> prototype implementations.<br />

The formal semantics <strong>of</strong> IMWSC comprises three parts:<br />

semantic domain, semantic range, and valuation function.<br />

A process calculus CCS (Calculus <strong>of</strong> Communicating<br />

Systems, CCS for short) is introduced as a semantic range,


94 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

and then valuation functions are defined that translate an<br />

IMWSC (semantic domain) into a process term.<br />

A. Basic Syntax <strong>of</strong> CCS<br />

Let A be a countably infinite collection <strong>of</strong> names, and<br />

the set = { a | a ∈ A} be the set <strong>of</strong> complementary<br />

names (or co-names for short). Let L = A U be a set <strong>of</strong><br />

labels, and Act = L U {τ } be the set <strong>of</strong> actions, where<br />

τ denote the activities which are not externally visible.<br />

Let K be a countably infinite collection <strong>of</strong> process names.<br />

The collection <strong>of</strong> CCS expressions is given by the<br />

following grammar:<br />

P, Q :: = K | α . P | P | P | Q | P [ f ] |<br />

P \ L<br />

where:<br />

● K is a process name in K ;<br />

● α is an action in Act ;<br />

● I is an index set;<br />

● f : Act → Act is a relabelling function satisfying<br />

the following constraints:<br />

─ f ( τ ) = τ and<br />

─ f ( a)<br />

= f ( a)<br />

for each label a ;<br />

● L is a set <strong>of</strong> labels.<br />

B. Operational Semantics <strong>of</strong> CCS<br />

CCS is formalized using axiomatic and operational<br />

semantics. To formally capture the understanding <strong>of</strong> the<br />

semantics <strong>of</strong> the language CCS, the collection <strong>of</strong><br />

inference rules are therefore introduced as follows (a<br />

transition P Q holds for CCS expressions P, Q if,<br />

and only if, it can be proven using these rules) :<br />

α<br />

→<br />

For a detailed introduction to the syntax and<br />

operational semantics <strong>of</strong> CCS, readers are referred to [17,<br />

18].<br />

∑ ∈I<br />

i<br />

C. Defining Valuation Functions<br />

The valuation functions <strong>of</strong> IMWSC, and their<br />

corresponding semantic domains, semantic ranges are<br />

given in Tab. 1 ( symbols IMWSC denotes an IMWSC<br />

instance; P denotes process term in CCS; A denotes the<br />

set <strong>of</strong> atomic processes; Activity denotes a set <strong>of</strong> activities;<br />

Act denotes the set <strong>of</strong> actions in CCS).<br />

© 2010 ACADEMY PUBLISHER<br />

i<br />

where:<br />

TABLE I<br />

Valuation Functions and their Domains and Ranges<br />

● fm ( procr ) = fc (proc1) | fc (proc2) | ⋅⋅⋅ | fc (procn),<br />

where , proc ∈ Service ( 1 ≤ i ≤ n)<br />

, and<br />

procr i<br />

( ) = Ø<br />

s r proc<br />

f ∧ f s proci<br />

) = procr<br />

( ;<br />

● ( ) =<br />

iff = a ;<br />

c i proc f ) ( a i proc f ) ( f pT proci<br />

● ( ) = iff = c ;<br />

c i proc f ) ( r i proc f ) ( f pT proci<br />

● ( ) = , where<br />

a i proc f ) ( ) ( ) ( f e a1<br />

⋅ f e a2<br />

L f e an<br />

a ∈ Activity ∧ f ( a ) = proc , and<br />

i<br />

a < a < L <<br />

1<br />

c<br />

2<br />

c<br />

● f iff ii ei ;<br />

e ( ai<br />

) = ! ai<br />

f aT ( ai<br />

) = ∨ f aT ( ai<br />

) =<br />

e<br />

c<br />

● f iff io eo ;<br />

e ( ai<br />

) = ? ai<br />

f aT ( ai<br />

) = ∨ f aT ( ai<br />

) =<br />

● f ( ) ( ) | ( ) iff<br />

r proci<br />

= f c proc1<br />

f c proc2<br />

f pU ( proc1)<br />

= proci<br />

∧ f pU proc ) = proci<br />

|| proc proc = ;<br />

proc i<br />

1<br />

a<br />

i<br />

n<br />

2<br />

;<br />

i<br />

( 2 ∧<br />

● f ( ) ( ). ( ) iff<br />

r proci<br />

= f c proc1<br />

f c proc2<br />

f pU ( proc1)<br />

= proci<br />

∧ f pU proc ) = proci<br />

= proc p proc .<br />

proc i<br />

1<br />

2<br />

( 2 ∧<br />

By means <strong>of</strong> the valuation functions defined in Tab. 1,<br />

an algorithm aiming at translating an IMWSC instance to<br />

CCS terms can be developed:<br />

Algorithm. IMWSC_Instance_to_CCS<br />

INPUT: IMWSC Instance<br />

OUTPUT: The corresponding CCS terms<br />

Process Trans_fm (IMWSC Instance)<br />

{<br />

1. Str Exp = Empty ;<br />

2. For each p in Proc ;<br />

3. Exp= Exp | Trans_fc ( p ) ;<br />

4. Return Exp ;


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 95<br />

}<br />

Process Trans_fc ( process p ∈Proc<br />

)<br />

{<br />

1. If ( process Type = basic )<br />

{ Return Trans_fa ( p ) } ;<br />

2. Else { Return Trans_fr ( p ) };<br />

}<br />

Process Trans_fa ( process pi ∈Proc)<br />

{<br />

}<br />

1. Str name = getName( p ) ;<br />

2. SET name = NIL ;<br />

a i <strong>of</strong> process<br />

3. For each activity in Activity<br />

4. If ( activityType = output )<br />

name = ! getName( i ). name ;<br />

5. Else If (activityType = input )<br />

name = ? getName( i ). name.<br />

6. RETURN name ;<br />

Process Trans_fr (process pi ∈Proc)<br />

{<br />

1. Str Exp = Empty ;<br />

}<br />

2. For each subService j <strong>of</strong> process<br />

3. If ( compositionType <strong>of</strong> pi<br />

is parallel)<br />

a<br />

a<br />

p<br />

u i<br />

Exp = Exp | Trans_fc ( j ) ;<br />

4. Else Exp = Exp. Trans_fc ( u j ) ;<br />

5. Return Exp ;<br />

If the IMWSC instance to be translated comprises m<br />

basic processes, and n = max num(<br />

p )} , where<br />

num(<br />

pi<br />

)<br />

p<br />

O ( m×<br />

n)<br />

u<br />

pi<br />

returns the number <strong>of</strong> the activities contained<br />

in process , the complexity <strong>of</strong> above algorithm will<br />

be .<br />

i<br />

{ i<br />

V. Case Study: Application <strong>of</strong> IMWSC to a Concrete<br />

Scenario<br />

A. Abstracting the Interaction <strong>of</strong> Web Services<br />

We will investigate the application <strong>of</strong> IMWSC in a<br />

simple scenario. There are three services involved in this<br />

scenario:<br />

― The Client Service, which need to find out some<br />

useful information (for convenience, client here is<br />

considered as a service);<br />

― The Response Service, which is responsible for<br />

dealing with information inquiry requests;<br />

― The Information Service, which acts as a database<br />

and providing the useful information.<br />

© 2010 ACADEMY PUBLISHER<br />

The business process <strong>of</strong> this scenario is introduced<br />

briefly as follows:<br />

1. The Response Service receives a request from the<br />

Client Service which need to find out some useful<br />

information;<br />

2. The Response Service contacts the Information<br />

Service and relay the information inquiry request;<br />

3. The Response Service answers the questions to the<br />

Client Service.<br />

Fig. 3 presents an illustration <strong>of</strong> the structure <strong>of</strong> this<br />

scenario, where<br />

● A service is visualized by a rectangle (with round<br />

angles);<br />

● A state <strong>of</strong> a service is visualized by a circle (the<br />

initial and the terminative states <strong>of</strong> a service are<br />

visualized by icons , respectively);<br />

● A transition between states is visualized by an arrow<br />

(with curve line), from the source state to the target<br />

state ;<br />

● The supply channels <strong>of</strong> services in this scenario is<br />

visualized by a pair <strong>of</strong> parallel arrows (with opposite<br />

directions).<br />

Figure 2. A Scenario <strong>of</strong> Interaction <strong>of</strong> Services<br />

By applying IMWSC, the interaction process <strong>of</strong><br />

services in this scenario is described as follows:<br />

_____________________________________________<br />

f con (Client) = { cReq, cAsk, cInquiry, cInfo };<br />

f con (Reponse) = { rReq, rAsk, rInquiry, rAnswer };<br />

f (InfoS) = { iAnswer, iInfo }.<br />

con<br />

f aT (cReq) = ii; f aT (cAsk) = io; f aT (cInquiry) = ii;<br />

f aT (cInfo) = io; f aT (rReq) = io; f aT (rAsk) = ii;<br />

f aT (rInquiry) = io; f aT (rAnswer) = ii;<br />

f aT (iReq) = io; f eT (iInfo) = ii; f aT (iAnswer) = io.<br />

cReq < c cAsk < c cInquiry < c cInfo;


96 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

< c < c < c<br />

rReq rAsk rInquiry rAnswer;<br />

<<br />

iAnswer iInfo.<br />

c<br />

< rReq, cReq >∈ ; < cAsk, rAsk >∈ R ;<br />

Ra a<br />

R ∈ a<br />

< rInquiry, cInquiry >∈ ; < cInfo, iInfo ><br />

a<br />

R<br />

R ;<br />

< iAnswer, rAnswer >∈ a ;<br />

______________________________________________<br />

By means <strong>of</strong> the semantics <strong>of</strong> IMWSC defined in<br />

Section 4, the corresponding CCS terms translated are as<br />

follows:<br />

Client = ! Req. ? Ask. ! Inquiry. ? Info. nil ;<br />

Response = ? Req. ! Ask. ? Inquiry. ! Answer. nil;<br />

InfoS = ? Answer. ! Info. nil;<br />

Scenario = ( Client | Response | InfoS ) / { req, ask,<br />

info, Inquiry, Answer }<br />

B. Verifying the Interaction <strong>of</strong> Web Services<br />

CCS is an effective modeling language which has<br />

available supporting tool CWB-NC (Concurrency<br />

Workbench <strong>of</strong> the New Century, CWB-NC for short) [20] .<br />

We use this tool to reason on and verify the behavior <strong>of</strong><br />

an instance <strong>of</strong> IMWSC.<br />

Using the supporting tool <strong>of</strong> CCS, i.e., CWB-NC, aims<br />

at assist the design and verification <strong>of</strong> a system. Applying<br />

CCS in the design phase <strong>of</strong> a system is helpful to show<br />

explicitly the interaction <strong>of</strong> the components that compose<br />

this system; after the model <strong>of</strong> a system has been<br />

constructed, modal μ − calculus [23] can be used to reason<br />

on the system behavior. For a detailed introduction to<br />

modal logic, readers are referred to, for example, [19, 23].<br />

One type <strong>of</strong> verification supported by the tool is<br />

reachability analysis. Here, as in each type <strong>of</strong> verification,<br />

our first step in using the tool is to write a description <strong>of</strong><br />

the system supported by CWB-NC. The description is<br />

then parsed by the tool and checked for syntactic<br />

correctness. We then give a logical formula describing a<br />

“bad state” that the system should never reach. Given<br />

such a formula and system description, CWB-NC<br />

explores every possible state the system may reach during<br />

execution sequence and checks to see if a bad state is<br />

reachable. If a bad state is detected, a description <strong>of</strong> the<br />

execution sequence leading to the state is reported to the<br />

user. Many bugs such as deadlock and critical section<br />

violation may be found using this approach [20] .<br />

Correct termination is one <strong>of</strong> the main properties a<br />

proper web service should satisfy. We use can_terminate<br />

to define the state <strong>of</strong> termination <strong>of</strong> a system. And the<br />

explanation for this state is as follows:<br />

can_terminate is true <strong>of</strong> a system if it will reach a<br />

terminative state. We express this property the system<br />

should have in modal −<br />

μ calculus:<br />

prop can_terminate =<br />

min X = [−]ff \/ X<br />

© 2010 ACADEMY PUBLISHER<br />

Reachability analysis is actually a special case <strong>of</strong> a<br />

more general type <strong>of</strong> verification called model checking.<br />

In the model checking approach a system is again<br />

described using a design language and a property the<br />

system should have is formulated as a logical formula [20] .<br />

Another type <strong>of</strong> verification supported by CWB-NC<br />

involves using a design language for defining both<br />

systems and specifications. Here the specification<br />

describes a system behavior more abstractly than the<br />

system description [20] . A relation, i.e., Observational<br />

equivalence needs to be introduced before we conduct<br />

this type <strong>of</strong> verification.<br />

Observational equivalence is useful in verification as<br />

they lay the conceptual basis for deciding that the<br />

behavior <strong>of</strong> two web services can be considered to be the<br />

same. They can also be used as a tool for reducing<br />

verification effort by replacing a process by a smaller (in<br />

size), but equivalent one. The bisimulation equivalence<br />

between two processes is a relation between their<br />

evolutions such that for each evolution <strong>of</strong> one <strong>of</strong> the<br />

services there is a corresponding evolution <strong>of</strong> the other<br />

service such that the evolutions are observationally<br />

equivalent and lead to processes which are again<br />

bisimilar. This characterization <strong>of</strong> the behavior <strong>of</strong> web<br />

services using the notion <strong>of</strong> bisimulation helps service<br />

designer optimize composite services by, e.g., changing<br />

their component web services with equivalent ones.<br />

Another motivation is customization <strong>of</strong> services. To<br />

enhance competitiveness a service providers may modify<br />

their service for customers' convenience and this<br />

customized service must conform to the original one.<br />

Formally, the relation <strong>of</strong> observational equivalence is<br />

defined as:<br />

Definition 1 [Weak Transitions] [23] :<br />

● q q'<br />

iff , ;<br />

ε<br />

⇒ q q q qn<br />

q'<br />

= → → → = L n ≥ 0<br />

0<br />

● q q'<br />

iff ;<br />

τ<br />

⇒ q q'<br />

ε<br />

⇒<br />

● q q'<br />

iff , (<br />

α<br />

ε α<br />

⇒ q⇒<br />

q →q<br />

ε<br />

⇒ q'<br />

α ≠ τ ).<br />

Definition 2[Observational Equivalence] [23] :<br />

1<br />

τ<br />

Let S ⊆ Q× Q . The relation S is a weak<br />

bisimulation relation if whenever 1 2 then: q S q<br />

● q1 q'1<br />

implies for some such<br />

that ;<br />

α<br />

→ q2 q'2<br />

α<br />

⇒ 2 ' q<br />

q'1<br />

S q'2<br />

● q2 q'2<br />

implies for some such that<br />

.<br />

α<br />

→ q1 q'1<br />

α<br />

⇒ 1 ' q<br />

q'1<br />

S q'2<br />

q 1 and q2 are observationally equivalent, if 1 2<br />

for some weak bisimulation relation , written<br />

q S q<br />

q .<br />

1<br />

2<br />

τ<br />

τ<br />

S 1 q ≈ 2


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 97<br />

In this scenario, Client is considered as a service which<br />

interacts with the composition <strong>of</strong> the services Response<br />

and InfoS.<br />

The behaviour <strong>of</strong> the composition <strong>of</strong> the services<br />

Response and InfoS can be described in two ways:<br />

1. The system description <strong>of</strong> the composition <strong>of</strong><br />

services Response and InfoS is:<br />

Response = ? Req. ! Ask. ? Inquiry. ! Answer. nil;<br />

InfoS = ? Answer. ! Info. nil;<br />

Info_Response = ( Response | InfoS ) / {answer} ;<br />

2. The specification <strong>of</strong> this composition is:<br />

Spe = ? Req. ! Ask. ? Inquiry. ! Info. nil<br />

Command ‘ eq -S obseq ’ <strong>of</strong> CWB-NC tool can be<br />

used to examine whether or not two processes are<br />

observationally equivalent. By executing this command,<br />

we know that processes Info_Response and Spe are<br />

observationally equivalent.<br />

VI. Conclusions and Future Work<br />

Formal description and verification <strong>of</strong> the interaction<br />

<strong>of</strong> web services is an important research field. After the<br />

description and verification <strong>of</strong> a practical application <strong>of</strong><br />

web service, we come to a conclusion that IMWSC has<br />

very good capability in abstracting, simulating, and<br />

analyzing a scenario <strong>of</strong> the interaction process <strong>of</strong> web<br />

services, which will facilitate the correct implementation.<br />

Currently many service composition methods do not<br />

take into account abstracting and analyzing the interactive<br />

features <strong>of</strong> services in a composition. Therefore it is apt<br />

to make mistakes when using these methods. Our work is<br />

an attempt to abstract and verify the interaction process <strong>of</strong><br />

web services which will make the composition process<br />

more reliable.<br />

Further work will involve defining the way IMWSC<br />

instances are composed. An instance <strong>of</strong> IMWSC model<br />

defined only one scenario <strong>of</strong> the interaction process <strong>of</strong><br />

web services. To model the complete interaction process<br />

<strong>of</strong> web services, there is a need for composing the<br />

instances <strong>of</strong> IMWSC model. Since Petri nets are a well<br />

known formal model that is capable <strong>of</strong> defining the<br />

composition process, we plan to compose the instances<br />

by using Petri net. In our further work, we will present<br />

the fixed point property <strong>of</strong> IMWSC model. The fixed<br />

point property indicated the outcome <strong>of</strong> each instance <strong>of</strong><br />

IMWSC model is determinate, in other words, each <strong>of</strong> the<br />

module has only one terminative state. This property lays<br />

the mathematical foundation for mapping a module to a<br />

transition in a Petri net.<br />

ACKNOWLEDGMENT<br />

This research is supported by the National Natural<br />

Science Foundation <strong>of</strong> China under Grant No.60573087.<br />

© 2010 ACADEMY PUBLISHER<br />

REFERENCES<br />

[1] Rachid H., Boualem B.. A Petri net based model for Web<br />

service composition. Proc. <strong>of</strong> the 14th Australian Database<br />

Conference on Database Technologies, Adelaide, South<br />

Australia, 2003: 191-200.<br />

[2] Salaün G., Bordeaux L.. Describing and reasoning on Web<br />

services using process algebra. Proc. <strong>of</strong> the 2nd IEEE<br />

International Conference on Web Services, San Diego,<br />

California, USA, 2004: 43-51.<br />

[3] Schahram Dustdar, Wolfgang Schreiner. A survey on web<br />

services composition. Int. J. Web and Grid Services, 1(1):<br />

1-30, 2005.<br />

[4] Muhammad Adeel Talib. Modeling the Flow in Dynamic<br />

Web Services Composition. Information Technology<br />

<strong>Journal</strong>, 3 (2): 184-187, 2004.<br />

[5] Casati F, Sayal M, and Shan M C. Developing e-services<br />

for composing e-services. Proc. <strong>of</strong> the 13th International<br />

Conference on Advanced Information Systems<br />

Engineering (CAiSE2001), Interlaken, Switzerland, 2001:<br />

171-186.<br />

[6] Patil A, Oundhakar S, Sheth A, Verma K. METEOR-S<br />

Web service annotation framework [A]. Proc. <strong>of</strong> the 13th<br />

International World Wide Web Conference<br />

(WWW2004)[C], New York, USA, May 2004: 553 – 562.<br />

[7] Benatallah B, Sheng Q Z, Dumas M. The Self-Serv<br />

Environment for Web Services Composition[J], IEEE<br />

Internet Computing, 2003, 7(1): 40 – 48.<br />

[8] Medjahed B, Bouguettaya A, Elmagarmid A K.<br />

Composing Web services on the Semantic Web[J], VLDB<br />

<strong>Journal</strong>, 2003, 12(4): 333 – 351.<br />

[9] Shankar R P, Armando F. SWORD: A developer toolkit<br />

for Web service composition, Proc. <strong>of</strong> the 11th<br />

International World Wide Web Conference, Honolulu,<br />

Hawaii, USA, May 2002, 786 – 810<br />

[10] E. Sirin, B. Parsia, D. Wu, J. Hendler, and D. Nau. HTN<br />

Planning for Web Service Composition using SHOP.<br />

<strong>Journal</strong> <strong>of</strong> Web Semantics, 1(4):377-396, 2004.<br />

[11] Zhang Jia , Chung Jen Yao , Chang C. K. . WS-Net: A<br />

petri-net based specification model for web services. Proc.<br />

<strong>of</strong> the 2nd IEEE International Conference on Web<br />

Services,San Diego,California,USA, 2004:420-427.<br />

[12] Tao X. F. Formalizing Web service and modeling Web<br />

service based on object oriented Petri net. Lecture Notes in<br />

Computer Science. Berlin, Heidelberg. Springer-Verlag,<br />

2004.<br />

[13] A. Ferrara. Web Services: a Process Algebra Approach”,<br />

Proc. <strong>of</strong> the 2nd Int. Conf. on Service-Oriented Computing<br />

(ICSOC'04), ACM Press, 2004: 242-251.<br />

[14] Li Bao, Weishi Zhang, Xiuguo Zhang. Describing and<br />

Verifying Web Service Using CCS. In Proc. <strong>of</strong> the 7th<br />

International Conference on Parallel and Distributed<br />

Computing, Applications and Technologies, 2006: 421-426.<br />

[15] R. Milner. Communication and Concurrency. Prentice Hall,<br />

1989.<br />

[16] R. Milner. A calculi <strong>of</strong> Communication and Concurrency.<br />

Spinger-Verlag, 1980.<br />

[17] Colin Fidge. A comparative introduction to CSP, CCS and<br />

LOTOS. Technical Report, Department <strong>of</strong> Computer<br />

Science, University <strong>of</strong> Queensland, Brisbane, Australia,<br />

April 1994. Available at:<br />

http://sky.fit.qut.edu.au/~fidgec/Publications/fidge94g.pdf.<br />

[18] Luca Aceto, Kim G. An Introduction to Milner’s CCS.<br />

Larsen. Technical Report, Department <strong>of</strong> Computer<br />

Science, Aalborg University, Aalborg, Denmark, March<br />

2005. Available at:


98 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

http://www.dimi.uniud.it/miculan/Didattica/MFGC04/intro<br />

2ccs.pdf.<br />

[19] C. Stirling. Modal logics for communicating systems.<br />

Theoretical Computer Science, 49(2-3): 311-347, 1987.<br />

[20] R. Cleaveland and S. Sims. The NCSU concurrency<br />

workbench. In R. Alur and T. Henzinger, editors,<br />

Proceedings <strong>of</strong> the 8th International Conference on<br />

Computer Aided Verification, volume 1102 <strong>of</strong> Lecture<br />

Notes in Computer Science, New Brunswick, NJ, USA,<br />

1996: 394-397.<br />

[21] K. Schmidt and C. Stahl. A Petri net semantic for<br />

BPEL4WS - validation and application. Proc. <strong>of</strong> the 11th<br />

Workshop on Algorithms and Tools for Petri Nets,<br />

Paderborn, Germany, 2004: 1-6.<br />

[22] B. Schlinglo, A. Martens, and K. Schmidt. Modeling and<br />

model checking web services. Proc. <strong>of</strong> the 2nd<br />

Li Bao received the BS degree in<br />

computer science from Dalian<br />

Nationality University, China, in<br />

2003, and the MS degree in computer<br />

science from Dalian Maritime<br />

University, China, in 1996. From<br />

2006 to date, he works as a PhD<br />

candidate in the Institute <strong>of</strong> S<strong>of</strong>tware<br />

Engineering, Dalian Maritime<br />

University, China. His research interests include<br />

distributed computing, s<strong>of</strong>tware engineering, and formal<br />

description techniques.<br />

© 2010 ACADEMY PUBLISHER<br />

Weishi Zhang received the BS<br />

degree in computer science from<br />

Xi’an Jiaotong University, China, in<br />

1984, and the MS degree in<br />

computer science from the Chinese<br />

<strong>Academy</strong> <strong>of</strong> Science, China, in 1986.<br />

He received the PhD degree in<br />

computer science from the<br />

University <strong>of</strong> Munich, Germany, in<br />

International Workshop on Logic and Communication in<br />

Multi-Agent Systems. volume 126 <strong>of</strong> Electronic Notes in<br />

Theoretical Computer Science, Nancy, France, August<br />

2004: 3-26.<br />

[23] M. Hennessy and R. Milner, Algebraic laws for<br />

nondeterminism and concurrency, J. Assoc. Comput.<br />

Mach., 32: 137-161, 1985.<br />

[24] Hull R., Su J. (2005) Tools for Composite Web Services:<br />

A Short Overview. SIGMOD Record, 34 (2): 86-95, 2005.<br />

1996. From 1986 to1990, he was an assistant researcher<br />

at the Shenyang Institute <strong>of</strong> Computing, Chinese<br />

<strong>Academy</strong> <strong>of</strong> Science, China. From 1990 to 1992, he was<br />

a visiting scholar at Passau University, Germany. From<br />

1992 to 1997, he was an assistant pr<strong>of</strong>essor at the<br />

University <strong>of</strong> Munich, Germany. In 1997, he joined the<br />

Department <strong>of</strong> Computer Science, Dalian Maritime<br />

University, China, where he is currently a pr<strong>of</strong>essor <strong>of</strong><br />

computer science. His research interests include<br />

distributed computing, s<strong>of</strong>tware engineering, s<strong>of</strong>tware<br />

architecture, formal specification techniques, and<br />

program semantics models.<br />

Xiong Xie works as a PhD candidate<br />

in the Institute <strong>of</strong> S<strong>of</strong>tware<br />

Engineering, Dalian Maritime<br />

University, China. Her research<br />

interests include distributed<br />

computing, s<strong>of</strong>tware engineering,<br />

and formal description techniques


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 99<br />

Performance Evaluation <strong>of</strong> Elliptic Curve<br />

Projective Coordinates with Parallel GF(p) Field<br />

Operations and Side-Channel Atomicity<br />

Turki F. Al-Somani<br />

Computer Engineering Department, Umm Al-Qura University, P.O. Box: 715 Makkah 21955, Saudi Arabia<br />

Email: tfsomani@uqu.edu.sa<br />

Abstract—This paper presents performance analysis and<br />

evaluation <strong>of</strong> elliptic curve projective coordinates with<br />

parallel field operations over GF(p). Side-channel atomicity<br />

has been used in these comparisons. The field computations<br />

<strong>of</strong> point operations are segmented into atomic blocks that<br />

are indistinguishable from each other to resist against<br />

simple power analysis attacks. These atomic blocks are<br />

executed in parallel using 2, 3 and 4 multipliers.<br />

Comparisons between the Homogeneous, Jacobian and<br />

Edwards coordinate systems using parallel field operations<br />

over GF(p) are presented. Results show that Edwards<br />

coordinate system outperforms both the Homogeneous and<br />

Jacobian coordinate systems and gives better area-time<br />

(AT) and area-time 2 (AT 2 ) complexities.<br />

Index Terms— elliptic curve cryptosystems, projective<br />

coordinate systems, Edwards coordinates, side-channel<br />

atomicity.<br />

I. INTRODUCTION<br />

Elliptic Curve Cryptosystems (ECCs) have been recently<br />

attracting increased attention [1]. The ability to use<br />

smaller key sizes and the computationally more efficient<br />

ECC algorithms compared to those used in earlier public<br />

key cryptosystems such as RSA [2] and ElGamal [3] are<br />

two main reasons why ECCs are becoming more popular.<br />

They are considered particularly suitable for<br />

implementation on smart cards or mobile devices.<br />

Because <strong>of</strong> the physical characteristics <strong>of</strong> such devices<br />

and their use in potentially hostile environments, Side<br />

Channel Attacks (SCA) [4 - 8] on such devices are<br />

considered serious threats. Two main types <strong>of</strong> SCAs have<br />

gained considerable attention: simple power analysis<br />

(SPA) attacks and differential power analysis (DPA)<br />

attacks. An SPA attack uses only a single observation <strong>of</strong><br />

the power consumption, whereas a DPA attack uses many<br />

observations <strong>of</strong> the power consumption together with<br />

statistical tools.<br />

SCA seek to break the security <strong>of</strong> these devices<br />

through observing their power consumption trace or<br />

computations timing. Careless or naive implementation <strong>of</strong><br />

Manuscript received December 13, 2008; revised April 11, 2009;<br />

accepted April 27, 2009.<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.99-109<br />

cryptosystems allows side channel attacks to infer the<br />

secret key or obtain partial information about it. Thus,<br />

designers <strong>of</strong> cryptosystems seek to introduce algorithms<br />

and designs that are not only efficient, but also side<br />

channel attack resistant [9].<br />

The primary operation <strong>of</strong> ECCs is scalar<br />

multiplication. Scalar multiplication in the group <strong>of</strong><br />

points <strong>of</strong> an elliptic curve is analogous to exponentiation<br />

in the multiplicative group <strong>of</strong> integers modulo a fixed<br />

integer m. The scalar multiplication operation, denoted as<br />

kP, where k is an integer and P is a point on the elliptic<br />

curve, represents the addition <strong>of</strong> k copies <strong>of</strong> point P.<br />

Scalar multiplication is computed by a series <strong>of</strong> point<br />

doubling and point addition operations <strong>of</strong> the point P<br />

depending on the bit sequence representing the scalar<br />

multiplier k. Several scalar multiplication algorithms have<br />

been proposed in the literature. A good survey is<br />

conducted by Hankerson et. al. in [10].<br />

Several countermeasures against SCA have been<br />

proposed in the literature. Chevallier-Mames et al. [11]<br />

proposed side-channel atomicity as an efficient<br />

countermeasure against only SPA attacks. Side-channel<br />

atomicity involves almost no computational overhead to<br />

resist against SPA attacks. It splits the elliptic curve point<br />

operations into atomic blocks that are indistinguishable<br />

from each other. Hence, side-channel atomicity is<br />

considered to be an inexpensive countermeasure that does<br />

not leak any data regarding the operation being<br />

performed [11 - 13].<br />

The group operations in an affine coordinate system<br />

involve finite field inversion, which is a very costly<br />

operation, particularly over prime fields. Projective<br />

coordinate systems are used to eliminate the need for<br />

performing inversion. Several projective coordinate<br />

systems have been proposed in the literature including the<br />

Homogeneous, Jacobian and Edwards coordinate systems<br />

[9][14][15].<br />

The selection <strong>of</strong> a projective coordinate is based on<br />

the number <strong>of</strong> arithmetic operations, mainly<br />

multiplications. This is to be expected due to the<br />

sequential nature <strong>of</strong> these architectures where a single<br />

multiplier is used. For high performance<br />

implementations, such sequential architectures are too<br />

slow to meet the demand <strong>of</strong> increasing number <strong>of</strong><br />

operations. One solution for meeting this requirement is


100 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

to exploit the inherent parallelism within the elliptic<br />

curve point operations in projective coordinate [16 - 19].<br />

The performance <strong>of</strong> these projective coordinates varies<br />

when parallel field multipliers are used. This is because<br />

<strong>of</strong> the nature <strong>of</strong> their critical paths. This paper<br />

investigates and compares the performance <strong>of</strong> the<br />

Homogeneous, Jacobian and Edwards coordinate systems<br />

with side-channel atomicity when parallel field<br />

multipliers are employed. The rest <strong>of</strong> this paper is<br />

organized as follows. Section II gives a brief introduction<br />

to ECCs. Section III introduces projective coordinate<br />

systems. Section IV shows how the point operations <strong>of</strong><br />

the projective coordinate systems are segmented into<br />

atomic blocks and how they are executed in parallel.<br />

Section V shows the performance evaluation <strong>of</strong> the<br />

selected projective coordinate systems using parallel field<br />

multipliers. Finally, Section VI concludes the paper.<br />

II. ELLIPTIC CURVE PRELIMINARIES<br />

The elliptic curve cryptosystem (ECC), which was<br />

originally proposed by Niel Koblitz and Victor Miller in<br />

1985, is seen as a serious alternative to RSA because the<br />

key size <strong>of</strong> ECC is much shorter than that <strong>of</strong> RSA and<br />

ElGamal. To date, no significant breakthroughs have<br />

been made in determining weaknesses in the EC<br />

algorithm, which is based on the discrete logarithm<br />

problem over points on an elliptic curve. The fact that the<br />

problem appears so difficult to crack means that key sizes<br />

can be reduced considerably, even exponentially. This<br />

makes ECC a serious challenger to RSA and ElGamal.<br />

Extensive research has been done on the underlying<br />

math, security strength, and efficient implementation <strong>of</strong><br />

ECCs [20]. Among the different fields that can underlie<br />

elliptic curves, prime fields GF(p) and binary fields<br />

GF(2 m ) have been shown to be best suited for<br />

cryptographic applications. An elliptic curve E over the<br />

finite field GF(p) defined by the parameters a, b ∈ GF(p)<br />

with p > 3, consists <strong>of</strong> the set <strong>of</strong> points P = (x, y), where<br />

x, y ∈ GF(p), that satisfy the equation:<br />

y 2 = x 3 + ax + b,<br />

where a, b ∈ GF(p) and 4a 3 + 27b 2 ≠ 0 mod p together<br />

with the additive identity <strong>of</strong> the group point O known as<br />

the “point at infinity”.<br />

Scalar multiplication (kP) is the primary operation <strong>of</strong><br />

ECCs Several scalar multiplication algorithms have been<br />

proposed in the literature [10]. Computing kP can be<br />

done with the straightforward double-and-add algorithm,<br />

the so-called binary algorithm, based on the binary<br />

expression <strong>of</strong> k = (km-1,…,k0) where km-1 is the most<br />

significant bit <strong>of</strong> the multiplier k. The double-and-add<br />

scalar multiplication algorithm is the most<br />

straightforward scalar multiplication algorithm. It<br />

inspects the bits <strong>of</strong> the scalar multiplier k, and if the<br />

inspected bit ki = 0, only point doubling is performed. If,<br />

however, the inspected bit ki = 1, both point doubling and<br />

addition are performed. The double-and-add algorithm<br />

requires (m-1) point doublings and an average <strong>of</strong> (m/2)<br />

point additions [10].<br />

Non-adjacent form (NAF) reduces the average number<br />

<strong>of</strong> point additions to (m/3) [21]. In NAF, signed-digit<br />

© 2010 ACADEMY PUBLISHER<br />

representations are used such that the scalar multiplier’s<br />

coefficient ki ∈ {0, ±1}. NAF has the property that no<br />

two consecutive coefficients are nonzero. NAF also has<br />

the property that every positive integer k has a unique<br />

NAF encoding, denoted NAF(k).<br />

III. PROJECTIVE COORDINATE SYSTEMS<br />

Projective coordinate systems are used to eliminate the<br />

need for performing inversion. Several projective<br />

coordinate systems have been proposed in the literature<br />

[9][14][15], including the Homogeneous, Jacobian and<br />

Edwards coordinate systems. For the Homogeneous, so<br />

called projective, coordinate system, an elliptic curve<br />

point P takes the form (x, y) = (X/Z, Y/Z), while for the<br />

Jacobian coordinate system, P takes the form (x, y) =<br />

(X/Z 2 , Y/Z 3 ) [9].<br />

Let P1, P2 and P3 be three different points on the<br />

elliptic curve over GF(p), where P1=(X1, Y1, Z1), P2=(X2,<br />

Y2, Z2=1) and P3=(X3, Y3, Z3). Point addition with the<br />

Homogenous coordinate systems can be computed as:<br />

A=Y2Z1, B=X2Z1−X1, C=A 2 Z1−B 3 −2B 2 X1, X3=BC,<br />

Y3=A(B 2 X1−C)−B 3 Y1, Z3=B 3 Z1. Point doubling, on the<br />

other hand, can be computed as: A=aZ1 2 +3X1 2 , B=Y1Z1,<br />

C=X1Y1B, D=A 2 −8C, X3=2BD, Y3=A(4C−D)−8Y1 2 B 2 ,<br />

Z3=8B 3 .<br />

With the Jacobian coordinate system, point addition<br />

can be computed as: A=X1, B=X2Z1 2 , C=Y1, D=Y2Z1 3 ,<br />

E=B−A, F=D−C, X3=F 2 –(E3+2AE2),<br />

Y3=F(AE 2 −X3)−CE 3 , Z3=Z1E. Point doubling, on the<br />

other hand, can be computed as: A=4X1Y1 2 , B=3X1 2 +aZ1 4 ,<br />

X3=B 2 −2A, Y3=B(A−X3)−8Y1 4 , Z3=2Y1Z1.<br />

Recently, Edwards showed in [14] that all elliptic<br />

curves over prime fields could be transformed to the<br />

shape: x 2 + y 2 = c 2 (1 + x 2 y 2 ), with (0, c) as neutral<br />

element and with the surprisingly simple and symmetric<br />

addition law <strong>of</strong> two points P1 = (x1, y1) and P2 = (x2, y2)<br />

as:<br />

P1 + P2 → ((x1y2+x2y1)/(c(1+x1x2y1y2)),(y1y2x1x2)/(c(1-x1x2y1y2))).<br />

To capture a larger class <strong>of</strong> elliptic curves over the<br />

original field, the notion <strong>of</strong> Edwards form have been<br />

modified in [15] to include all curves x 2 + y 2 = c 2 (1 +<br />

dx 2 y 2 ) where cd(1−dc 4 ) ≠ 0.<br />

Point addition with the Edwards coordinate systems<br />

can be computed as: B=Z1 2 Z1, C=X1X2, D=Y1Y2, E=G–<br />

(C+D), F=dCD, G=(X1+Y1)(X2+Y2), X3=Z1E(B–F),<br />

Z3=(B–F)(B+F), Y3=Z1(D–C)(B+F). Point doubling, on<br />

the other hand, can be computed as: A=X1+Y1, B=A 2 ,<br />

C=X1 2 , D=Y1 2 , E=C+D, F=B–E, H=Z1 2 , I=2H, J=E–I,<br />

X3=FJ, Z3=EJ, Y3=E(C–D).<br />

IV. THE PROPOSED METHODOLOGY<br />

Since field multiplications and squarings are the<br />

dominant operation in elliptic curve point operations in<br />

projective coordinates that require much higher<br />

computation time than field additions and subtractions,<br />

the emphasis in this paper is to perform comparisons<br />

between projective coordinate systems when parallel<br />

multiplications or squarings are performed at the same


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 101<br />

time. Furthermore, the field computations <strong>of</strong> point<br />

operations are segmented into atomic blocks that are<br />

indistinguishable from each other to resist against SPA<br />

attacks, which is called side-channel atomicity [11]. The<br />

approach adopted in this paper is:<br />

1. Analyzing the dataflow <strong>of</strong> point operations for<br />

each projective coordinate system in the<br />

following manner:<br />

a. Find the critical path which has the lowest<br />

number <strong>of</strong> field multiplications.<br />

b. Find the maximum number <strong>of</strong> multipliers<br />

that are needed to meet this critical path.<br />

2. Segmenting the field computations <strong>of</strong> point<br />

operations for each as follows:<br />

a. An atomic block contains at most one field<br />

multiplication, two field additions, and one<br />

field subtraction.<br />

b. A Field squaring is performed by a<br />

multiplier instead <strong>of</strong> using a special<br />

hardware unit for squaring.<br />

3. Varying the number <strong>of</strong> parallel multipliers from<br />

two to the number <strong>of</strong> multipliers specified by the<br />

critical path to find the following:<br />

a. The best schedule <strong>of</strong> each dataflow using<br />

the specified number <strong>of</strong> multipliers.<br />

b. The area-time (AT) and area-time 2 (AT 2 )<br />

complexities.<br />

Table I shows the field arithmetic operations <strong>of</strong> the<br />

selected projective coordinate systems according to the<br />

presented formulas in Section III. In Table I, αis and βjs,<br />

represent multiplications/squarings and<br />

additions/subtractions respectively. For example, the first<br />

possible multiplication for point addition in the<br />

Homogenous coordinate system (Y2 × Z1) is represented<br />

by α1. The second possible field addition for point<br />

doubling in Edwards coordinate system (C + D), as<br />

another example, is represented by β2. The data<br />

dependencies between the αis and βjs in point operations<br />

for the Homogenous, Jacobian and coordinate systems<br />

are depicted in Fig. 1, 2 and 3 respectively.<br />

In Table II, the αis and βjs are grouped in atomic<br />

blocks. Table II shows the atomic blocks for point<br />

doubling and point addition, denoted by ∆ and Γ<br />

respectively. An empty field operations within an atomic<br />

block are marked by “*”. In Table II, for example, the<br />

atomic block ∆1 <strong>of</strong> point doubling in the Jacobian<br />

coordinate system contains the on field multiplication α1,<br />

one field addition β1 and two empty slots. The atomic<br />

block Γ7 <strong>of</strong> point addition in the Homogenous coordinate<br />

system, as another example, contains one field<br />

multiplication α7 and three field additions β2, β3 and β4.<br />

Let the unit <strong>of</strong> time be the required time to execute<br />

an atomic block. In Table II, point addition requires 11<br />

time units for the three selected projective coordinate<br />

systems. Point doubling, on the other hand, requires 13,<br />

10 and 7 for the Homogenous, Jacobian and Edwards<br />

coordinate systems respectively.<br />

© 2010 ACADEMY PUBLISHER<br />

Table III, IV and V show the scheduling <strong>of</strong> the atomic<br />

blocks <strong>of</strong> the Homogenous, Jacobian and Edwards<br />

coordinate systems respectively on parallel multipliers<br />

according to the proposed methodology early in this<br />

section. In Table III, IV and V, the first column shows the<br />

number <strong>of</strong> multipliers. The second column shows the<br />

required time units to perform point operations using<br />

parallel multipliers. The utilizations <strong>of</strong> the parallel<br />

multipliers depends on the number <strong>of</strong> multipliers and the<br />

critical path <strong>of</strong> the projective coordinate system. Adding<br />

more multipliers, on the other hand, does not imply better<br />

performance. For example, the number <strong>of</strong> the required<br />

time units to perform point addition using the Jacobian<br />

projective coordinate is the same when three or four<br />

multipliers.<br />

V. RESULTS & PERFORMANCE ANALYSIS<br />

The lower bound on the area-time cost <strong>of</strong> a given<br />

design is usually employed as a performance metric<br />

(area) x (time) 2α , 0 ≤ α ≤ 1, where the choice <strong>of</strong> α<br />

determines the relative importance <strong>of</strong> area and time [22].<br />

Such lower bounds have been obtained for several<br />

problems, e.g., discrete Fourier transform, matrix<br />

multiplication, binary addition, and others [22]. Once the<br />

lower bound on the chosen performance metric is known,<br />

designers attempt to devise algorithms and designs which<br />

are optimal for a range <strong>of</strong> area and time values. Even<br />

though a design might be optimal for a certain range <strong>of</strong><br />

area and time values, it is nevertheless <strong>of</strong> interest to<br />

obtain designs for minimum values <strong>of</strong> time, i.e.,<br />

maximum speed performance, as well as designs for<br />

minimum area. In order to make a more meaningful<br />

comparison between the selected projective coordinate<br />

systems with parallel multipliers, both the AT and AT 2<br />

measures are evaluated.<br />

Table IV shows the AT and AT 2 measures for the<br />

selected projective coordinate systems with m = 160 bits.<br />

In Table IV, the Area (A) is the number <strong>of</strong> multipliers.<br />

The Time (T), on the other hand, is calculated using the<br />

NAF binary algorithm as:<br />

T = m(DBL) + m/3(ADD),<br />

where DBL and ADD are the required time units for<br />

performing point doubling and addition respectively in<br />

Tables III, IV and V. For example, T = 160 ×(4) + ×<br />

160 × (6) = 960 time units for Edwards coordinate system<br />

with two parallel multipliers. Another example with the<br />

Jacobian coordinate system with three multipliers gives:<br />

T = 160 ×(5) + × 160 × (5) = 1066.66667 time units.<br />

Fig. 4 and Fig. 5 depict the comparisons results <strong>of</strong><br />

Table IV for AT and AT 2 respectively. The results show<br />

that the Edwards coordinate system provides the best AT<br />

and AT 2 results. A key observation is that the Edwards<br />

coordinate system provides better AT and AT 2 using only<br />

two multipliers when compared to the other two<br />

coordinate systems with four multipliers, which makes<br />

the Edwards coordinate system more attractive.<br />

Despite that the Jacobian coordinate system provides<br />

better performance than the Homogenous coordinate<br />

system with sequential designs [23], the results show that


102 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

the Homogenous and the Jacobian coordinate systems<br />

provide the same AT and AT 2 when three multipliers are<br />

used. The results also show that the Homogenous<br />

coordinate system provides better AT and AT 2 than the<br />

Jacobian coordinate system when four multipliers are<br />

used. This is because <strong>of</strong> the nature <strong>of</strong> the critical path <strong>of</strong><br />

the Homogenous coordinate system that allows for more<br />

parallelism when four multipliers are employed.<br />

VI. CONCLUSION<br />

In this paper, the performance <strong>of</strong> the Homogeneous,<br />

Jacobian and Edwards coordinate systems with sidechannel<br />

atomicity have been analyzed when parallel<br />

GF(p) field multipliers are used. The point operations <strong>of</strong><br />

the selected projective coordinate systems have been<br />

segmented into atomic blocks. These atomic block are<br />

executed in parallel using 2, 3 and 4 multipliers. An<br />

atomic block can contain at most one field multiplication,<br />

two field additions, and one field subtraction. A Field<br />

squaring is performed by a multiplier instead <strong>of</strong> using a<br />

special hardware unit for squaring.<br />

The AT and AT 2 performance metric have been<br />

evaluated for each <strong>of</strong> the selected projective coordinate<br />

systems. The results show that the Edwards coordinate<br />

system provides the best AT and AT 2 as compared to the<br />

other two coordinate systems. The results also show that<br />

the Homogenous coordinate system provides better<br />

performance than the Jacobian coordinate systems when<br />

four multipliers are used.<br />

ACKNOWLEDGMENT<br />

The author would like also to acknowledge the support<br />

<strong>of</strong> Umm Al-Qura University (UQU).<br />

REFERENCES<br />

[1] N. Koblitz, “Elliptic curve cryptosystems,” Mathematics <strong>of</strong><br />

Computation, Vol. 48, pp. 203-209, 1987.<br />

[2] R. Rivest, A. Shamir, and L. Adleman, “A method for obtaining<br />

digital signatures and public key cryptosystems,”<br />

Communications <strong>of</strong> the ACM, Vol. 21, No.2, pp. 120-126, 1978.<br />

[3] T. ElGamal, “A Public-Key Cryptosystem and a Signature<br />

Scheme Based on Discrete Logarithms,” Advances in<br />

Cryptology: Proceedings <strong>of</strong> CRYPTO 84, Springer Verlag, pp.<br />

10-18, 1985.<br />

[4] P. Kocher, J. Jaffe, and B. Jun, “Differential power analysis,”<br />

CRYPTO '99, LNCS 1666, pp. 388-397, 1999.<br />

[5] P. Kocher, “Timing Attacks on Implementations <strong>of</strong> Diffe-<br />

Hellman, RSA, DSS, and Other Systems,” CRYPTO '96, LNCS<br />

1109, pp. 104-113, 1996.<br />

[6] P. Fouque and F. Valette, “The doubling attack – why upwards is<br />

better than downwards,” Cryptographic Hardware and Embedded<br />

Systems – CHES’03, LNCS 2779, Springer-Verlag, pp.269–280,<br />

2003<br />

[7] L. Goubin, “A refined power-analysis attack on elliptic curve<br />

cryptosystems,” Public Key Cryptography – PKC’03, LNCS<br />

2567, Springer-Verlag, pp.199–210, 2003.<br />

[8] T. Akishita, and T. Takagi, “Zero-value point attacks on elliptic<br />

curve cryptosystem,” Information Security Conference – ISC’03,<br />

LNCS 2851, Springer-Verlag, pp.218–233, 2003.<br />

[9] H. Cohen, G. Frey, R. M. Avanzi, C. Doche, T. Lange, K.<br />

Nguyen and F. Vercauteren, “Handbook <strong>of</strong> Elliptic and<br />

Hyperelliptic Curve Cryptography,” Discrete Mathematics and<br />

Its Applications, vol. 34, Chapman & Hall/CRC, 2005.<br />

© 2010 ACADEMY PUBLISHER<br />

[10] D. Hankerson, A. J. Menezes, and S. Vanstone, “Guide to Elliptic<br />

Curve Cryptography,” Springer-Verlag, 2004.<br />

[11] B. Chevallier-Mames, M. Ciet, and M. Joye, “Low-cost solutions<br />

for preventing simple side-channel analysis: side-channel<br />

atomicity,” IEEE Trans. <strong>Computers</strong>, Vol. 53, No. 6, pp. 760-768,<br />

2004.<br />

[12] P. Mishra, , “Pipelined computation <strong>of</strong> scalar multiplication in<br />

elliptic curve cryptosystems (extended version),” IEEE Trans. On<br />

<strong>Computers</strong>, Vol. 55, No. 8, pp. 1000-1010, 2006.<br />

[13] T.F. Al-Somani, “Overlapped parallel computations <strong>of</strong> scalar<br />

multiplication with resistance against Side Channel Attacks,” Int.<br />

J. Information and Computer Security, Vol. 2, No. 3, pp.261–<br />

278, 2008.<br />

[14] H. M. Edwards, “A normal form for elliptic curves,” Bulletin <strong>of</strong><br />

the American Mathematical Society 44, pp. 393–422, 2007.<br />

[15] D. J. Bernstein and T. Lange, “Faster addition and doubling on<br />

elliptic curves,”, Advances in Cryptology – ASIACRYPT 2007,<br />

LNCS 4833, Springer-Verlag, pp.29-50, 2007.<br />

[16] A. Gutub and M. K. Ibrahim, “High Radix Parallel Architecture<br />

For GF(p) Elliptic Curve Processor,” IEEE Conference on<br />

Acoustics, Speech, and Signal Processing, ICASSP 2003, Pages:<br />

625- 628, Hong Kong, April 6-10, 2003.<br />

[17] A. Gutub, “Fast 160-Bits GF(p) Elliptic Curve Crypto Hardware<br />

<strong>of</strong> High-Radix Scalable Multipliers,” International Arab <strong>Journal</strong><br />

<strong>of</strong> Information Technology (IAJIT), Vol. 3, No. 4, Pages: 342-<br />

349, October 2006.<br />

[18] A. Gutub, M. K. Ibrahim and T. Al-Somani, “Parallelizing GF(P)<br />

Elliptic Curve Cryptography Computations for Security and<br />

Speed,” IEEE International Symposium on Signal Processing and<br />

its Applications in conjunction with the International Conference<br />

on Information Sciences, Signal Processing and their<br />

Applications (ISSPA), Sharjah, United Arab Emirates, February<br />

12-15,2007.<br />

[19] A. Gutub, “Efficient Utilization <strong>of</strong> Scalable Multipliers in<br />

Parallel to Compute GF(p) Elliptic Curve Cryptographic<br />

Operations,” Kuwait <strong>Journal</strong> <strong>of</strong> Science & Engineering (KJSE),<br />

Vol . 34, No. 2, Pages: 165-182, December 2007.<br />

[20] A. Menezes, “Elliptic Curve Public Key Cryptosystems,” Kluwer<br />

Academic <strong>Publisher</strong>s, 1993.<br />

[21] M. Joye, and C. Tymen, “Compact Encoding <strong>of</strong> Non-Adjacent<br />

Forms with Applications to Elliptic Curve Cryptography,” Public<br />

Key Cryptography, LNCS 1992, Springer-Verlag, pp. 353-364,<br />

2001.<br />

[22] D. Thompson, “A complexity theory for VLSI,” Ph.D.<br />

dissertation, Carnegie Mellon University, Dep. Computer<br />

Science, 1980.<br />

[23] I. Blake, G. Seroussi and N. Smart, “Elliptic Curve in<br />

Cryptography,” Cambridge University Press, New York, 1999.<br />

Turki F. Al-Somani received his B.Sc. and M.Sc. degrees in<br />

Electrical and Computer Engineering from King Abdul-Aziz<br />

University, Saudi Arabia in 1997 and 2000, respectively. He<br />

obtained his PhD degree from King Fahd University <strong>of</strong><br />

Petroleum and Minerals (KFUPM), Saudi Arabia in 2006.<br />

Currently, he is an assistant pr<strong>of</strong>essor at the Computer<br />

Engineering Department in Umm Al-Qura University (UQU),<br />

Saudi Arabia. His research interests include computer<br />

arithmetic, System-on-Chip designs, security and<br />

cryptosystems, theories <strong>of</strong> information, application specific<br />

processors and FPGAs. He published several journal and<br />

conference papers in the areas <strong>of</strong> his research.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 103<br />

TABLE I<br />

FIELD ARITHMETIC OPERATIONS OF THE SELECTED PROJECTIVE COORDINATE SYSTEMS<br />

Homogeneous Coordinate System Jacobian Coordinate System Edwards Coordinate System (with c = 1)<br />

Mixed Addition Doubling Mixed Addition Doubling Mixed Addition Doubling<br />

α1 A = Y2 × Z1 α1 Z1 2 = Z1 × Z1 α1 Z1 2 = Z1 × Z1 α1 Y1 2 = Y1 × Y1 α1 B = Z1 × Z1 β1 A = X1 + Y1<br />

α2 X2 × Z1 α2 X1 × Y1 α2 Y2 × Z1 β1 2Y1 2 = Y1 2 +<br />

Y1 2<br />

α2 C = X1 × X2 α1 C = X1 × X1<br />

β1 B = X2Z1– X1 α3 B = Y1 × Z1 α3 B = X2 × Z1 2 α2 X1 2 = X1 × X1 α3 D = Y1 × Y2 α2 D = Y1 × Y1<br />

α3 B 2 = B × B α4 X1 2 = X1 × X1 β1 E = B – A β2 2X1 2 = X1 2 +<br />

X1 2<br />

β1 X1 + Y1 β2 E = C + D<br />

α4 A 2 = A × A β1 2X1 2 = X1 2 +<br />

X1 2<br />

α5 B 3 = B 2 × B β2 3X1 2 = 2X1 2 +<br />

X1 2<br />

α4<br />

D = Y2 Z1 ×<br />

Z1 2<br />

β3<br />

3X1 2 = 2X1 2 +<br />

X1 2<br />

β2 X2 + Y2 β3 C – D<br />

β2 F = D – C α3 Z1 2 = Z1 × Z1 α4 G = (X1 + Y1) ×<br />

(X2 + Y2)<br />

α3<br />

B = A × A<br />

α6 A 2 × Z1 α5 a × Z1 2 α5 E 2 = E × E α4 Y1 × Z1 β3 C + D β4 F = B – E<br />

α7 B 2 × X1 β3 A = a4 Z1 2 +<br />

3X1 2<br />

α6 F 2 = F × F β4 Z3 = Y1Z1 + β4 D – C α4 H = Z1 × Z1<br />

Y1Z1<br />

β2 2B 2 X1 = B 2 X1 +<br />

B 2 α6 C = X1Y1 × B α7 Z3 = Z1 × E α5 X1 × Y1<br />

X1<br />

2 β5 E = G – (C + β5 I = H + H<br />

D)<br />

β3 (B 3 + 2B 2 X1) β4 2C = C + C α8 E 3 = E 2 × E β5 2X1Y1 2 =<br />

X1Y1 2 + X1Y1 2<br />

α5 C × D β6 J = E – I<br />

β4<br />

C = A 2 Z1 – (B 3<br />

+ 2B 2 X1)<br />

β5 4C = 2C + 2C α9 A × E 2 β6 A = 2X1Y1 2 +<br />

2X1Y1 2<br />

α8 X3 = B × C β6 8C = 4C + 4C β3 2AE 2 = AE 2 +<br />

AE 2<br />

α9 Z3 = B 3 × Z1 α7 B 2 = B × B β4 E 3 +2AE 2 α6 4Y1 4 = 2Y1 2 ×<br />

2Y1 2<br />

β5 (B 2 X1– C) β7 2B 2 = B 2 + B 2 β5 X3 = F 2 – (E 3<br />

α10 A × (B 2 X1– C) β8 4B 2 = 2B 2 +<br />

2B 2<br />

α11 B 3 × Y1 β9 8B 2 = 4B 2 +<br />

4B 2<br />

β6<br />

Y3 = A ×<br />

(B 2 X1– C) –<br />

B 3 Y1<br />

© 2010 ACADEMY PUBLISHER<br />

+2AE 2 )<br />

α8 Y1 2 = Y1 × Y1 β6 Y3 = F (AE 2 –<br />

X3) – CE 3<br />

α6 Z1 × (D – C) α5 X3 = F × J<br />

β7 2A= A + A α7 Z1 × E α6 Z3 = E × J<br />

β8<br />

8Y1 4 = 4Y1 4 +<br />

4Y1 4<br />

α8 F = d × CD α7 Y3 = E × (C – D)<br />

β6 B – F<br />

α10 C × E 3 α7 Z1 4 = Z1 2 × Z1 2 β7 B + F<br />

α11 F × (AE 2 – X3) α8 a × Z1 4 α9 X3 = Z1E × (B<br />

β9<br />

B = 3X1 2 +<br />

a4Z1 4<br />

α10<br />

– F)<br />

Z3 = (B – F) ×<br />

(B + F)<br />

α9 A 2 = A × A α9 B 2 = B × B α11 Y3 = Z1(D – C)<br />

× (B + F)<br />

β10 D = A 2 – 8C β10 X3 = B 2 – 2A<br />

β11 4C – D β11 A– X3<br />

α10 B × (A– X3)<br />

α10 Z3 = 8B 2 × B<br />

α11 Y1 2 × –8B 2 β12 Y3 = B(A– X3)<br />

– 8Y1 4<br />

α12 B × D<br />

β12 X3 = BD + BD<br />

α13 A × (4C – D)<br />

β13 Y3 = A(4C –<br />

D) – 8Y1 2 B 2


TABLE II<br />

104 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

© 2010 ACADEMY PUBLISHER<br />

POINT OPERATIONS IN ATOMIC BLOCKS<br />

Homogeneous Coordinate System Jacobian Coordinate System Edwards Coordinate System (with c = 1)<br />

Mixed Addition Doubling Mixed Addition Doubling Mixed Addition Doubling<br />

Γ1 α1 ∆1 α1 Γ1 α1 ∆1 α1 Γ1 α1 ∆1 β1<br />

* * * β1 * α1<br />

* * * * * *<br />

* * * * * *<br />

Γ2 α2 ∆2 α2 Γ2 α2 ∆2 α2 Γ2 α2 ∆2 α2<br />

β1 * * β2 * *<br />

* * * β3 * β2<br />

* * * * * β3<br />

Γ3 α3 ∆3 α3 Γ3 α3 ∆3 α3 Γ3 α3 ∆3 α3<br />

* * β1 * β3 *<br />

* * * * β4 *<br />

* * * * * β4<br />

Γ4 α4 ∆4 α4 Γ4 α4 ∆4 α4 Γ4 β1 ∆4 α4<br />

* β1 β2 β4 β2 β5<br />

* β2 * * α4 *<br />

* * * * β5 β6<br />

Γ5 α5 ∆5 α5 Γ5 α5 ∆5 α5 Γ5 α5 ∆5 α5<br />

* * * β5 * *<br />

* * * β6 * *<br />

* β3 * β7 * *<br />

Γ6 α6 ∆6 α6 Γ6 α6 ∆6 α6 Γ6 α6 ∆6 α6<br />

* β4 * β8 * *<br />

* β5 * * * *<br />

* β6 * * * *<br />

Γ7 α7 ∆7 α7 Γ7 α7 ∆7 α7 Γ7 α7 ∆7 α7<br />

β2 β7 * * * *<br />

β3 β8 * * * *<br />

β4 β9 * * * *<br />

Γ8 α8 ∆8 α8 Γ8 α8 ∆8 α8 Γ8 α8<br />

* β10 * β9 β6<br />

* β11 * * β7<br />

* * * * *<br />

Γ9 α9 ∆9 α9 Γ9 α9 ∆9 α9 Γ9 α9<br />

* * β3 β10 *<br />

* * β4 * *<br />

* * β5 * *<br />

Γ10 β5 ∆10 α10 Γ10 α10 ∆10 α10 Γ10 α10<br />

α10 * * β11 *<br />

* * * * *<br />

* * * * *<br />

Γ11 α11 ∆11 α11 Γ11 α11 Γ11 α11<br />

β6 * β6 *<br />

* * * *<br />

* * * *<br />

∆12 α12<br />

β12<br />

*<br />

*<br />

∆13 α13<br />

β13<br />

*<br />

*


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 105<br />

TABLE III<br />

POINT OPERATIONS FOR THE HOMOGENEOUS COORDINATE SYSTEM WITH PARALLEL MULTIPLIERS<br />

No. <strong>of</strong><br />

Multipliers<br />

Homogeneous Coordinate System<br />

Time Mixed Addition Doubling<br />

Mul1 Mul2 Mul1 Mul2<br />

2 1 Γ1 Γ2 ∆1 ∆2<br />

2 Γ3 Γ4 ∆3 ∆4<br />

3 Γ5 Γ6 ∆5 ∆6<br />

4 Γ7 Γ8 ∆7 ∆8<br />

5 Γ9 Γ10 ∆9 ∆10<br />

6 Γ11 ∆11 ∆12<br />

7 ∆13<br />

Mul1 Mul2 Mul3 Mul1 Mul2 Mul3<br />

3 1 Γ1 Γ2 ∆1 ∆2 ∆3<br />

2 Γ3 Γ4 ∆4 ∆5 ∆6<br />

3 Γ5 Γ6 Γ7 ∆7 ∆8 ∆9<br />

4 Γ8 Γ9 Γ10 ∆10 ∆11 ∆12<br />

5 Γ11 ∆13<br />

Mul1 Mul2 Mul3 Mul4 Mul1 Mul2 Mul3 Mul4<br />

4 1 Γ1 Γ2 ∆1 ∆2 ∆3 ∆4<br />

2 Γ3 Γ4 ∆5 ∆6 ∆7 ∆8<br />

3 Γ5 Γ6 Γ7 ∆9 ∆10 ∆11<br />

4 Γ8 Γ9 Γ10 Γ11 ∆12 ∆13<br />

TABLE IV<br />

POINT OPERATIONS FOR THE JACOBIAN COORDINATE SYSTEM WITH PARALLEL MULTIPLIERS<br />

No. <strong>of</strong><br />

Multipliers<br />

© 2010 ACADEMY PUBLISHER<br />

Jacobian Coordinate System<br />

Time Mixed Addition Doubling<br />

Mul1 Mul2 Mul1 Mul2<br />

2 1 Γ1 Γ2 ∆1 ∆2<br />

2 Γ3 Γ4 ∆3 ∆4<br />

3 Γ5 Γ6 ∆5 ∆6<br />

4 Γ7 Γ8 ∆7 ∆8<br />

5 Γ9 Γ10 ∆9<br />

6 Γ11 ∆10<br />

Mul1 Mul2 Mul3 Mul1 Mul2 Mul3<br />

3 1 Γ1 Γ2 ∆1 ∆2 ∆3<br />

2 Γ3 Γ4 ∆4 ∆5 ∆6<br />

3 Γ5 Γ6 Γ7 ∆7 ∆8<br />

4 Γ8 Γ9 ∆9<br />

5 Γ10 Γ11 ∆10<br />

Mul1 Mul2 Mul3 Mul4 Mul1 Mul2 Mul3 Mul4<br />

4 1 Γ1 Γ2 ∆1 ∆2 ∆3 ∆4<br />

2 Γ3 Γ4 ∆5 ∆6 ∆7<br />

3 Γ5 Γ6 Γ7 ∆8<br />

4 Γ8 Γ9 ∆9<br />

5 Γ10 Γ11 ∆10


106 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

TABLE V<br />

POINT OPERATIONS FOR THE EDWARDS COORDINATE SYSTEM WITH PARALLEL MULTIPLIERS<br />

No. <strong>of</strong><br />

Multipliers<br />

Edwards Coordinate System (with c = 1)<br />

Time Mixed Addition Doubling<br />

Mul1 Mul2 Mul1 Mul2<br />

2 1 Γ1 Γ2 ∆1 ∆2<br />

2 Γ3 Γ4 ∆3 ∆4<br />

3 Γ5 Γ6 ∆5 ∆6<br />

4 Γ7 Γ8 ∆7<br />

5 Γ9<br />

6 Γ10 Γ11<br />

Mul1 Mul2 Mul3 Mul1 Mul2 Mul3<br />

3 1 Γ1 Γ2 Γ3 ∆1 ∆2<br />

2 Γ4 Γ5 Γ6 ∆3 ∆4<br />

3 Γ7 Γ8 ∆5 ∆6 ∆7<br />

4 Γ9 Γ10 Γ11<br />

Mul1 Mul2 Mul3 Mul4 Mul1 Mul2 Mul3 Mul4<br />

4 1 Γ1 Γ2 Γ3 Γ4 ∆1 ∆2 ∆3 ∆4<br />

2 Γ5 Γ6 Γ7 ∆5 ∆6 ∆7<br />

3 Γ8<br />

4 Γ9 Γ10 Γ11<br />

TABLE VI<br />

AT & AT 2 COMPARISONS (with m = 160 bits)<br />

Projective Coordinate System Jacobian Coordinate System Edwards Coordinate System<br />

Area (A) = No. <strong>of</strong> Multipliers Time (T) AT AT 2 Time (T) AT AT 2 Time (T) AT AT 2<br />

2 1440 2880 4147200 1280 2560 3276800 960 1920 1843200<br />

3 1066.6667 3200 3413333.3 1066.6667 3200 3413333.3 693.33333 2080 1442133<br />

4 853.33333 3413.3333 2912711.1 1066.6667 4266.6667 4551111.1 533.33333 2133.333 1137778<br />

© 2010 ACADEMY PUBLISHER


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 107<br />

α2<br />

β1<br />

α3<br />

© 2010 ACADEMY PUBLISHER<br />

α1<br />

α4<br />

α5 α6 α7<br />

β2<br />

β3<br />

β4<br />

β5<br />

α8 α9 α10 α11<br />

β6<br />

α1 α2 α3 α4<br />

α5 α6 α7<br />

(a) Point Addition (b) Point Doubling<br />

Figure1. The data dependency graph <strong>of</strong> the Homogenous coordinate system.<br />

β3<br />

α9<br />

β10<br />

β11<br />

α12<br />

β12<br />

β4<br />

β5<br />

β6<br />

α13<br />

β13<br />

β7<br />

β8<br />

β9<br />

α10<br />

β1<br />

β2<br />

α8<br />

α11


108 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

α2<br />

α3<br />

β1<br />

α1<br />

α4<br />

α5 α6 α7<br />

α8<br />

α10<br />

© 2010 ACADEMY PUBLISHER<br />

β2<br />

α9<br />

β3<br />

β4<br />

β5<br />

α11<br />

β6<br />

α1 α2 α3 α4<br />

β1<br />

β2<br />

β3<br />

α5 α6 α7<br />

(a) Point Addition (b) Point Doubling<br />

Figure 2. The data dependency graph <strong>of</strong> the Jacobian coordinate system.<br />

β5<br />

β6<br />

β7<br />

β8<br />

α8<br />

β9<br />

α9<br />

β10<br />

β11<br />

α10<br />

β12<br />

β4


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 109<br />

© 2010 ACADEMY PUBLISHER<br />

(a) Point Addition (b) Point Doubling<br />

Figure 3. The data dependency graph <strong>of</strong> the Edwards coordinate system.<br />

Figure 4. Area x Time (AT) Comparisons.<br />

Figure 5. Area x Time 2 (AT 2 ) Comparisons.


110 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

VPRS-Based Knowledge Discovery Approach in<br />

Incomplete Information System<br />

Shibao SUN 1,2<br />

1. Electronic Information Engineering College, Henan University <strong>of</strong> Science and Technology, Luoyang<br />

Henan 471003, China<br />

2. National Lab. Of S<strong>of</strong>tware Development Environment, Beijing University <strong>of</strong> Aeronautics & Astronautics,<br />

Beijing, 100191, China<br />

Email: sunshibao@126.com<br />

Ruijuan ZHENG 1 , Qingtao WU 1 , and Tianrui LI 3<br />

1. Electronic Information Engineering College, Henan University <strong>of</strong> Science and Technology, Luoyang<br />

471003, China<br />

3. School <strong>of</strong> Information Science and Technology, Southwest Jiaotong University, Chengdu, 610031,China.<br />

Email: rjwo@163.com, wqt8921@126.com, trli30@gmail.com<br />

Abstract—Through changing the equivalence relation in the<br />

incomplete information system, a new variable precision<br />

rough set model and an approach for knowledge reduction<br />

are proposed. To overcome no monotonic property <strong>of</strong> the<br />

lower approximation, a cumulative variable precision rough<br />

set model is explored, and the basic properties <strong>of</strong> cumulative<br />

lower and upper approximation operators are investigated.<br />

The example proves that the cumulative variable precision<br />

rough set model has wide range <strong>of</strong> applications and better<br />

result than variable precision rough set model.<br />

Index Terms—Variable precision rough set, Incomplete<br />

information system, Decision table, Cumulative<br />

approximation<br />

I. INTRODUCTION<br />

Rough set theory (RST) has been proposed by<br />

Pawlak [1] as a tool to conceptualize, organize and<br />

analyze various types <strong>of</strong> data in knowledge discovery.<br />

This method is especially useful for dealing with<br />

uncertain and vague knowledge in information systems.<br />

Many examples about applications <strong>of</strong> the rough set<br />

method to process control, economics, medical diagnosis,<br />

biochemistry, environmental science, biology, chemistry,<br />

psychology, conflict analysis and other fields can be<br />

found in [2,3]. However, the classical rough set theory is<br />

based on an equivalence relation and can not be applied<br />

in many real situations. Therefore, many extended RST<br />

models, e.g. binary relation based rough sets [4], covering<br />

This work is supported by National Natural Science Foundation <strong>of</strong> China<br />

(Grant No. 60873108), the Special Research Funding to Doctoral Subject<br />

<strong>of</strong> Higher Education Institutes in P.R. China (Grant No. 20060613007),<br />

Supported by Natural Science Foundation <strong>of</strong> Henan Province <strong>of</strong><br />

China(Grant No. 072300410210), Natural Science Research Foundation <strong>of</strong><br />

Henan University <strong>of</strong> Science and Technology (Grant No.09001172).<br />

Corresponding author:<br />

Email: sunshibao@126.com (Shibao SUN).<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.110-116<br />

based rough sets [5,6], and fuzzy rough sets [7,8] have<br />

been proposed. In order to solve classification problems<br />

with uncertain data and no functional relationship<br />

between attributes and relax the rigid boundary definition<br />

<strong>of</strong> the classical rough set model to improve the model<br />

suitability, the variable precision rough set (VPRS) model<br />

was proposed by Ziarko [9] in 1993. It is an effective<br />

mathematical tool with an error-tolerance capability to<br />

handle uncertainty problem. Basically, the VPRS is an<br />

extension <strong>of</strong> classical rough set theory [1-3], allowing for<br />

a partial classification. By setting a confidence threshold,<br />

β (0 ≤ β < 0.5) , the VPRS can allow noise data or<br />

remove error data [10]. Recently the VPRS model has<br />

been widely applied in many fields [11].<br />

The key issues <strong>of</strong> VPRS model mainly concentrates<br />

on generalization <strong>of</strong> models and development <strong>of</strong><br />

reduction approaches under the equivalence relation. For<br />

example, β -reduct [12], β lower (upper) distribution<br />

reduction [13] and reduction based on structure [14], etc,<br />

are reduction approaches under the equivalence relation.<br />

However, in many practical problems, the equivalence<br />

relation <strong>of</strong> objects is difficult to construct, or the<br />

equivalence relation <strong>of</strong> objects essentially does not exist.<br />

In this case, we need to generalize the VPRS model. The<br />

ideas <strong>of</strong> generalization are from two aspects. One is to<br />

generalize approximated objects from a crisp set to a<br />

fuzzy set [15]; The other is to generalize the relation on<br />

the universe from the equivalence relation to the fuzzy<br />

relation [15], binary relation [16], or covering relation<br />

[17,18]. The idea <strong>of</strong> the VPRS was introduced to fuzzy<br />

rough set and the theory and application <strong>of</strong> fuzzy rough<br />

set were discussed in [15]. The equivalence relation was<br />

generalized to a binary relation R on the universe U in<br />

the VPRS model, so that a generalized VPRS model was<br />

obtained [16]. Covering rough set model [19] has been<br />

obtained when the equivalence relation on the universe<br />

was generalized to cover on the universe in rough set<br />

model. The equivalence relation was generalized to cover


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 111<br />

on universe U in the VPRS model and two kinds <strong>of</strong><br />

variable precision covering rough set models were<br />

obtained in [17,18]. The definition <strong>of</strong> the variable<br />

precision rough fuzzy set model under the equivalence<br />

relation was given in [20].<br />

The classical rough set approach requires the data<br />

table to be complete, i.e., without missing values. In<br />

practice, however, the data table is <strong>of</strong>ten incomplete. To<br />

deal with these cases, Greco, et al [21] proposed an<br />

extension <strong>of</strong> the rough set methodology to the analysis <strong>of</strong><br />

incomplete data tables. The extended indiscernible<br />

relation between two objects is considered as a<br />

directional statement where a subject is compared to a<br />

referent object. It requires that the referent object has no<br />

missing values. The extended rough set approach<br />

maintains all good characteristics <strong>of</strong> its original version.<br />

It also boils down to the original approach when there is<br />

no missing value. The rules induced from the rough<br />

approximations defined according to the extended<br />

relation verify a suitable property: they are robust in a<br />

sense that each rule is supported by at least one object<br />

with no missing value on the condition attributes<br />

represented in the rule. Obviously, these ideas can be<br />

used to the VPRS model.<br />

The classical and the generalized VPRS approach<br />

based on indiscernible relations also require the data table<br />

to be complete. In this paper, two kinds <strong>of</strong> VPRS<br />

approaches for dealing with incomplete dada table are<br />

proposed. The paper is organized as follows. In Section 2,<br />

a general view <strong>of</strong> VPRS approach and incomplete<br />

information system are given. In Section 3, based on the<br />

extended indiscernible relation, we propose a new VPRS<br />

model and an approach for knowledge reduction in the<br />

incomplete information system. In Section 4, a<br />

cumulative VPRS model in the incomplete information<br />

system is discussed. They are based on the cumulative β<br />

lower (upper) approximation <strong>of</strong> X . In Section 5, we<br />

present an illustrative example which is intended to<br />

explain the concepts introduced in Section 3 and Section<br />

4. The paper ends with conclusions and further research<br />

topics in Section 6.<br />

II. PRELIMINARIES AND NOTATIONS<br />

Definition 1 [1]. An information system is the 4tuple<br />

S = ( U, Q, V, f)<br />

, where U is a non-empty finite<br />

set <strong>of</strong> objects (universe), Q= { q1, q2, L , qm}<br />

is a finite<br />

set <strong>of</strong> attributes, V q is the domain <strong>of</strong> the attribute q ,<br />

V = U V and f : U× Q→ V is a total function such<br />

q∈Q q<br />

that f ( xq , ) ∈ Vq<br />

for each q∈ Q , x ∈ U , called an<br />

information function. If Q= CU { d}<br />

and<br />

CI { d } =∅,<br />

then S = ( U, CU { d}, V, f)<br />

is called<br />

a decision table, where d is a decision attribute.<br />

© 2010 ACADEMY PUBLISHER<br />

To every (non-empty) subset <strong>of</strong> attributes P⊆ C is<br />

associated an indiscernible relation on U , denoted by<br />

R P :<br />

RP = {( xy , ) ∈ U× U: f( xq , ) = f( yq , ) ∀q∈ P}.<br />

(1)<br />

If ( x, y) ∈ RP,<br />

it is said that the objects x and y are P -<br />

indiscernible. Clearly, the indiscernible relation thus<br />

defined is an equivalence relation (reflexive, symmetric<br />

and transitive). The family <strong>of</strong> all the equivalence classes<br />

<strong>of</strong> the relation R p is denoted by U / R p and the<br />

equivalence class containing an element x ∈ U by<br />

[ x] = { y∈U :( x, y) ∈ Rp}<br />

. The equivalence classes<br />

<strong>of</strong> the relation R p are called P -elementary sets. If<br />

P = C , the C -elementary sets are called atoms.<br />

Definition 2 [9]. Let X and Y be subsets <strong>of</strong> nonempty<br />

finite universe U , if every e∈ X then e∈ Y ,<br />

we call Y contain X . It is described as Y ⊇ X . Let<br />

⎧1<br />

− | X IY<br />

|/| X |, |X|>0,<br />

cXY ( , ) = ⎨ (2)<br />

⎩0,<br />

|X|=0,<br />

where | X | is cardinality <strong>of</strong> set X . cXY ( , ) is called<br />

the relative error ratio for X with regard to Y .<br />

Definition 3 [9]. Let S be a decision table, X a<br />

nonempty subset <strong>of</strong> U , 0≤ < 0.5 and ∅≠P⊆ C .<br />

The β lower approximation and the β upper<br />

approximation <strong>of</strong> X in S are defined, respectively, by:<br />

P ( X) = { x∈U: c([ x], X)<br />

≤ β}.<br />

(3)<br />

β<br />

β<br />

Pβ( X) = { x∈ U: c([ x], X)<br />

< 1 − β}.<br />

(4)<br />

The elements <strong>of</strong> Pβ ( X)<br />

are those objects x ∈ U<br />

which belong to the equivalence classes generated by the<br />

indiscernible relation R p , contained in X with the error<br />

β<br />

ratio β ; the elements <strong>of</strong> P ( X)<br />

are all and only those<br />

objects x ∈ U which belong to the equivalence classes<br />

generated by the indiscernible relation R p , contained in<br />

X with the error ratio 1− β .<br />

Definition 4 [21]. An information system is called an<br />

incomplete information system if there exists x ∈ U and<br />

a∈ C that satisfy that the value f ( xa , ) is unknown,<br />

denoted as “*”. It assumes here that at least one <strong>of</strong> the<br />

states <strong>of</strong> x in terms <strong>of</strong> P is certain where P⊆ C , i.e.<br />

∃a∈ P such that f ( xa , ) is known. Thus,<br />

V = VC UVd U {*} .<br />

Definition 5 [21]. ∀x, y∈ U , object y is called<br />

subject and object x , referent. Subject y is<br />

indiscernible with referent x , with respect to condition<br />

attributes from P⊆ C (denoted as yI Px<br />

), if for every


112 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

q∈ P the following conditions satisfy: (1) f( x, q) ≠ * ,<br />

(2) f( x, q) = f( y, q) or f( y, q)<br />

= * , where “*”<br />

denotes a missing value.<br />

The above definition means that the referent object<br />

considered for indiscernible with respect to P should<br />

have no missing values on attributes from set P . The<br />

binary relation I P is not necessarily reflexive and also<br />

not necessarily symmetric. However, I P is transitive.<br />

For each P⊆ C , let us define a set <strong>of</strong> objects<br />

having no missing values on attributes from P :<br />

U x U f x q for eachq P<br />

P<br />

= { ∈ : ( , ) ≠* ∈ }. (5)<br />

III. VARIABLE PRECISION ROUGH SET MODEL IN THE<br />

INCOMPLETE INFORMATION SYSTEM<br />

Definition 6. Let S be an incomplete information<br />

system, X a nonempty subset <strong>of</strong> U , 0≤ β < 0.5 and<br />

P C<br />

∅≠ ⊆ . The β lower approximation and the β<br />

upper approximation <strong>of</strong> X in S are defined,<br />

respectively, by:<br />

I<br />

P X x U c I x X β<br />

β<br />

I<br />

( ) = { ∈ : ( ( ), ) ≤ }. (6)<br />

P P<br />

Pβ( X) = { x∈ UP: c( IP( x), X)<br />

< 1 − β}.<br />

(7)<br />

I<br />

The elements <strong>of</strong> Pβ ( X)<br />

are those objects x ∈ U<br />

which belong to the equivalence classes generated by the<br />

indiscernible relation I P , contained in X with the error<br />

I<br />

ratio β ; the elements <strong>of</strong> Pβ ( X)<br />

are all and only those<br />

objects x ∈ U which belong to the equivalence classes<br />

generated by the indiscernible relation I P , contained in<br />

X with the error ratio 1− β .<br />

The β boundary <strong>of</strong> X in S , denoted by<br />

I<br />

BN ( X)<br />

, is:<br />

β<br />

I<br />

BNβ ( X ) = { x∈ UP: β < c( IP( x), X ) < 1 − β}.<br />

(8)<br />

The β negative domain <strong>of</strong> X in S , denoted by<br />

NEGβ ( X ) , is:<br />

I<br />

NEGβ ( X ) = { x∈UP: c( IP( x), X ) ≥1 − β}.<br />

(9)<br />

Corollary 1. When β = 0 , the VPRS model defined<br />

above is equivalent to rough set model in incomplete<br />

information system [21].<br />

Pro<strong>of</strong>. In formula (10), cI ( P ( x), X) ≤ β is<br />

equivalent to cI ( P ( x), X) ≤ 0 , so<br />

1 ≤| I ( x) I X |/| I ( x)|<br />

, such that I ( x) ⊆ X , that<br />

P P<br />

I<br />

is to say, P ( X)<br />

β<br />

is equivalent to PX ( ) .<br />

I<br />

Analogously, Pβ ( X)<br />

is equivalent to PX ( ) .<br />

© 2010 ACADEMY PUBLISHER<br />

P<br />

Corollary 2. If an information system is complete,<br />

the VPRS model defined above is equivalent to the<br />

classical VPRS model.<br />

Pro<strong>of</strong>. ∀x, y∈ U , P⊆ C , yI Px<br />

, then for every<br />

q∈ P , we have (1) f( x, q) ≠ * , (2)<br />

f( x, q) = f( y, q) or f( y, q)<br />

= * . In a complete<br />

information system, we have f ( xq , ) = f( yq , ) , so<br />

IP ( x ) is equal to [ x ] , such that formula (6) is<br />

equivalent to formula (3) and formula (7) is equivalent to<br />

formula (4).<br />

Theorem 1. ∀X ⊆ U<br />

where (~ X = UX - ) .<br />

I I<br />

, P (~ X) = NEG ( X)<br />

β β<br />

,<br />

Pro<strong>of</strong>. From Definition 6,<br />

I | IP( x) I (~ X)|<br />

Pβ(~ X) = { x∈UP:1 − ≤ β}<br />

| I ( x)|<br />

| IP( x) I (~ X)|<br />

= { x∈UP: ≥1 −β}<br />

| IP( x)|<br />

| IP( x) I X |<br />

= { x∈UP: ≤ β}<br />

| IP( x)|<br />

| IP( x) I X |<br />

I<br />

= { x∈UP:1− ≥1 −β}<br />

= NEG ( X ) .<br />

β<br />

| I ( x)|<br />

P<br />

Theorem 2. Let S be an incomplete information<br />

system, X , Y are two nonempty subsets <strong>of</strong> U ,<br />

0≤ β < 0.5 and ∅ ≠ P⊆ C . The rough<br />

approximations defined as above satisfy the following<br />

properties:<br />

I<br />

β ⊆<br />

I<br />

β ;<br />

I<br />

β<br />

I<br />

I<br />

β =<br />

I<br />

β = ;<br />

I I<br />

β β<br />

⊆ ⇒<br />

I<br />

β ⊆<br />

I<br />

β<br />

I<br />

β U ⊇<br />

I<br />

β U<br />

I<br />

β<br />

;<br />

I<br />

β I ⊆<br />

I<br />

β I<br />

I<br />

β<br />

;<br />

I<br />

β U ⊇<br />

I<br />

β U<br />

I<br />

β ;<br />

I<br />

β I ⊆<br />

I<br />

β I<br />

I<br />

β ;<br />

I<br />

β =<br />

I<br />

β ;<br />

I<br />

β =<br />

I<br />

β<br />

;<br />

① P ( X) P ( X)<br />

② P ( ∅ ) = P β ( ∅ ) =∅; P ( U) P ( U) U<br />

③ X ⊆Y ⇒ P ( X) ⊆ P ( Y)<br />

;<br />

④ X Y P ( X) P ( Y)<br />

⑤ P ( X Y) P ( X) P ( Y)<br />

⑥ P ( X Y) P ( X) P ( Y)<br />

⑦ P ( X Y) P ( X) P ( Y)<br />

⑧ P ( X Y) P ( X) P ( Y)<br />

⑨ P (~ X) ~ P ( X)<br />

⑩ P (~ X) ~ P ( X)<br />

Pro<strong>of</strong>. ① Because <strong>of</strong> 0 β 0.5<br />

I<br />

β (<br />

I<br />

) such that x satisfies Pβ ( X)<br />

.<br />

P X<br />

P<br />

≤ < , x satisfies


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 113<br />

I<br />

② Because <strong>of</strong> 0≤ β < 0.5 and X =∅, we have<br />

I<br />

P ( ∅ ) =∅ and P ( )<br />

β<br />

β ∅ =∅ . Therefore,<br />

I<br />

I<br />

= β<br />

β = .<br />

P ( U) P ( U) U<br />

X Y<br />

I<br />

③ ∀x∈ P ( X)<br />

, cI ( ( x), X) β<br />

β<br />

P<br />

≤ , when<br />

⊆ , we have cI ( ( x), Y) ≤ β , that is to say,<br />

x P ( Y)<br />

I<br />

∈ .<br />

β<br />

P<br />

I I<br />

④ Similar to ③, we have P ( X) ⊆ P ( Y)<br />

.<br />

β β<br />

⑤ From ③, we have<br />

I I I<br />

P ( X UY) ⊇ P ( X) U P ( Y)<br />

.<br />

β β β<br />

⑥ From ③, we have<br />

I I I<br />

P ( X IY) ⊆ P ( X) I P ( Y)<br />

.<br />

β β β<br />

⑦ From ④, we have<br />

I I I<br />

P ( X UY) ⊇ P ( X) U P ( Y)<br />

.<br />

β β β<br />

⑧ From ④, we have<br />

I I I<br />

P ( X IY) ⊆ P ( X) I P ( Y)<br />

.<br />

β β β<br />

⑨ From Theorem 1,<br />

I | IP( x) I X |<br />

Pβ(~ X) = { x∈UP:1− ≥1 −β}<br />

| IP( x)|<br />

| IP( x) I X |<br />

I<br />

= ~{ x∈UP:1− < 1 −β}<br />

= ~ P β ( X)<br />

.<br />

| I ( x)|<br />

P<br />

I I<br />

⑩ Similar to ③, we have P (~ X) ~ P ( X)<br />

β<br />

= .<br />

The following ratio defines a β accuracy <strong>of</strong> the<br />

approximation <strong>of</strong> X ⊆ U , X ≠∅, by means <strong>of</strong> the<br />

attributes from P⊆ C :<br />

I<br />

| P ( X)|<br />

β<br />

α P ( X ) = I .<br />

(10)<br />

| P ( X)|<br />

Obviously, 0 ( ) 1 α ≤ < .<br />

P X<br />

Another ratio defines a β quality <strong>of</strong> the<br />

approximation <strong>of</strong> X by means <strong>of</strong> the attributes from<br />

P⊆ C :<br />

I<br />

| P ( X)|<br />

β λ P ( X ) = .<br />

(11)<br />

| X |<br />

The quality λ ( ) represents the relative frequency <strong>of</strong><br />

P X<br />

the objects with error ratio β correctly classified by<br />

means <strong>of</strong> the attributes from P .<br />

A primary use <strong>of</strong> rough set theory is to reduce the<br />

number <strong>of</strong> attributes in databases thereby improving the<br />

performance <strong>of</strong> applications in a number <strong>of</strong> aspects<br />

including speed, storage, and accuracy. For a data set<br />

with discrete attribute values, this can be done by<br />

reducing the number <strong>of</strong> redundant attributes and find a<br />

© 2010 ACADEMY PUBLISHER<br />

β<br />

β<br />

subset <strong>of</strong> the original attributes that are the most<br />

informative.<br />

Definition 7. ( β dependability) Suppose that<br />

S = ( U, CU { d}, V, f)<br />

is an incomplete information<br />

system, β dependability is defined as follows:<br />

γ ( Cd , , β) = | posCd ( , , β)|/|<br />

U|.<br />

(12)<br />

where<br />

I<br />

pos( C, d, β ) = U C ( Y ).<br />

(13)<br />

Y∈U / d<br />

Definition 8. ( β approximation reduction) Suppose<br />

that S = ( U, CU { d}, V, f)<br />

is an incomplete<br />

information system, X ⊆ U , a conditional attribute<br />

subset A⊆ C is called a β approximation reduction if<br />

and only if it satisfies: ① γ ( Ad , , β) = γ( Cd , , β)<br />

and<br />

② there does not exist a conditional attribute subset<br />

B ⊆ A , such that γ ( Bd , , β) = γ( Cd , , β)<br />

.<br />

Based on Definition 8, through removing<br />

superfluous attributes, we can obtain a reductive database.<br />

IV. CUMULATIVE VARIABLE PRECISION ROUGH SET<br />

MODEL IN THE INCOMPLETE INFORMATION SYSTEM<br />

Let us observe that a very useful property <strong>of</strong> the<br />

lower approximation within the classical rough set theory<br />

is that if an object x ∈ U belongs to the lower<br />

approximation <strong>of</strong> X with respect to P⊆ C , then x<br />

belongs also to the lower approximation <strong>of</strong> X with<br />

respect to R ⊆ C when P⊆ R (this is a kind <strong>of</strong><br />

monotonic property). However, formula (6) does not<br />

satisfy this property <strong>of</strong> the lower approximation, because<br />

it is possible that f( x, q) ≠ * for all q∈ P but<br />

f( x, q ) = * for some q∈R− P . This is quite<br />

problematic for some key concepts <strong>of</strong> the variable<br />

precision rough set theory, like β accuracy and β<br />

quality <strong>of</strong> approximation, and β dependability.<br />

Therefore, another definition <strong>of</strong> the lower<br />

approximation should be considered. Then the concepts<br />

<strong>of</strong> β accuracy, β quality , and β dependability <strong>of</strong><br />

approximation can be still valid in the case <strong>of</strong> missing<br />

values.<br />

Definition 9. Given X ⊆ U and P⊆ C ,<br />

* I<br />

P ( X) = U P ( X).<br />

(14)<br />

Then<br />

β<br />

R⊆P β<br />

*<br />

Pβ ( X)<br />

is called as the cumulative β lower<br />

approximation <strong>of</strong> X because it includes all the objects<br />

belonging to all β lower approximations <strong>of</strong> X , where<br />

R ⊆ P .<br />

It can be shown that another type <strong>of</strong> the indiscernible<br />

*<br />

relation, denoted by I , permits a direct definition <strong>of</strong> the<br />

P<br />

cumulative β lower approximation in a usual way. For<br />

β


114 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

each x, y∈ U and for each P⊆ C ,<br />

*<br />

yI x means that<br />

P<br />

f( x, q) = f( y, q) or f( x, q)<br />

= *<br />

and/or<br />

( , ) *<br />

∈ . Let<br />

f y q = for every q P<br />

* *<br />

I ( x) = { y∈ U : yI x}<br />

for each x ∈ U and for each<br />

P P<br />

*<br />

P⊆ C . I is reflexive and symmetric but not transitive.<br />

P<br />

We can prove that Definition 9 is equivalent to the<br />

following definition:<br />

* * *<br />

Pβ( X) = { x∈UP: c( I ( x), X)<br />

≤ β.<br />

(15)<br />

P<br />

where<br />

*<br />

U = { x∈U: f( x, q) ≠* for at least one q∈ P}.<br />

P<br />

Using the indiscernible relation<br />

I , we can define<br />

the cumulative β upper approximation <strong>of</strong> X ,<br />

*<br />

β<br />

*<br />

Pβ ( X)<br />

*<br />

P<br />

*<br />

P β<br />

* *<br />

complementary to<br />

P ( X) = { x∈ U : c( I ( x), X)<br />

< 1 − }. (16)<br />

For each X ⊆ U , let X = X I U . Let us remark<br />

*<br />

P<br />

P P<br />

*<br />

that x ∈ U if and only if there exists R ≠∅ such that<br />

P<br />

R ⊆ P and x ∈ U R .<br />

Rough approximations<br />

*<br />

Pβ ( X)<br />

and<br />

*<br />

Pβ ( X)<br />

satisfies the following properties:<br />

① For each X ⊆ U and for each P⊆ C :<br />

* *<br />

Pβ( X) ⊆ Pβ( X)<br />

;<br />

② For each X ⊆ U and for each P⊆ C :<br />

* *<br />

P<br />

*<br />

β<br />

Pβ ( X) = U −P ( U − X)<br />

;<br />

③ For each X ⊆ U and for each PR , ⊆ C , if<br />

P⊆ R , then<br />

*<br />

β<br />

*<br />

Pβ( X) ⊆ R ( X)<br />

. Furthermore, if<br />

* *<br />

* *<br />

UP= UR,<br />

then Pβ( X) ⊇ Rβ( X)<br />

.<br />

Due to the property <strong>of</strong> monotonic, when augmenting<br />

attributes set P , we get a lower approximation <strong>of</strong> X<br />

that is at least <strong>of</strong> the same cardinality. Thus, we can<br />

define analogously for the case <strong>of</strong> missing values the<br />

following key concepts <strong>of</strong> the variable precision rough<br />

sets theory: the cumulative β accuracy <strong>of</strong> approximation<br />

*<br />

<strong>of</strong> X (denoted as ( ) X α ), the cumulative β quality<br />

P<br />

*<br />

λ ( ) <strong>of</strong> approximation <strong>of</strong> X (denoted as ( ) X λ ),<br />

P X<br />

and the cumulative β dependability (denoted as<br />

*<br />

γ ( Cd , , β ) ). These concepts have the same definitions<br />

as those given in Sections 3 but they use rough<br />

*<br />

approximation<br />

Pβ ( X)<br />

.<br />

*<br />

Pβ ( X)<br />

and<br />

© 2010 ACADEMY PUBLISHER<br />

V. AN EXAMPLE<br />

P<br />

The illustrative example presented in this section is<br />

to explain the concepts introduced in Section 3 and<br />

Section 4. The director <strong>of</strong> the school wants to make a<br />

global evaluation to some students. This evaluation<br />

should be based on the level in Mathematics, Physics and<br />

Literature. However, not all the students have passed all<br />

three exams and, therefore, there are some missing values.<br />

The director made the examples <strong>of</strong> evaluation as shown<br />

in Table 1.<br />

TABLE I<br />

STUDENT EVALUATIONS WITH MISSING VALUES<br />

Stud<br />

ent<br />

Mathem<br />

atics<br />

Physics Literature<br />

Global<br />

evaluation<br />

1 medium bad bad bad<br />

2 good medium * good<br />

3 medium * medium bad<br />

4 * medium medium good<br />

5 * good bad bad<br />

6 good medium bad good<br />

For β = 0.35 , The lower and upper<br />

approximations can be calculated from Table 1:<br />

Let C = { Mathematics, Physics, Literature}<br />

be<br />

condition attributes and { Global evaluation} be<br />

decision attribute. Let bad = {1,3,5} and<br />

good = {2, 4,6} .<br />

U = {1, 6} , I (1) = {1} , I (6) = {2,6} ,<br />

C<br />

I<br />

C<br />

I<br />

C β ( bad)<br />

= {1} , C β ( bad)<br />

= {1} , C β ( good)<br />

= {6} ,<br />

I<br />

C β ( good)<br />

= {6} , γ ( Cd , , β ) = 1/3.<br />

Let L = { Literature}<br />

, such that<br />

γ ( Ld , , β ) = 1/3 . It is easy to validate that L is<br />

reduction <strong>of</strong> condition attribute set C .<br />

For β = 0.35 , the cumulative lower and upper<br />

approximations can be calculated from Table 1:<br />

*<br />

*<br />

U = {1,2,3,4,5,6} , I (1) = {1} ,<br />

C<br />

*<br />

I (2) = {2, 4,6} ,<br />

C<br />

C<br />

I<br />

C<br />

*<br />

I (3) = {3, 4} ,<br />

*<br />

I (4) = {2,3,4} , * I (5) = {5} , * I (6) = {2,6} ,<br />

C<br />

C<br />

*<br />

C β ( bad)<br />

= {1,5} ,<br />

*<br />

C ( good)<br />

{2,4,6}<br />

β = , *<br />

*<br />

C<br />

C<br />

C β ( bad)<br />

= {1,3,4,5} ,<br />

C β ( good)<br />

= {2,3,4,6} ,<br />

*<br />

γ ( Cd , , β ) = 5/6.<br />

Let L = { Literature}<br />

and P= { Physics}<br />

, such<br />

that γ ( Ld , , β ) = 5/6 and γ ( Pd , , β ) = 5/6 . It is<br />

easy to validate that L and P are cumulative β<br />

approximation reductions <strong>of</strong> condition attribute set C .<br />

From this example, we can see that the cumulative<br />

variable precision rough set model better reflects the<br />

rough set’s essence.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 115<br />

VI. CONCLUSIONS<br />

In incomplete information system, a new VPRS<br />

model was obtained through defining the relation <strong>of</strong><br />

objects. To overcome no monotonic property <strong>of</strong> the<br />

proposed VPRS model, a cumulative data relation was<br />

defined and a cumulative VPRS model was established.<br />

However, these models were limited in applications on a<br />

small database with incomplete information. Moreover,<br />

this paper only presented the basic reduction approach for<br />

a decision table. In our future work, we will focus on the<br />

development <strong>of</strong> reduction algorithms and extracting<br />

minimal exact rules from the large decision table. How to<br />

deal with fuzzy data in incomplete information system<br />

will also be one <strong>of</strong> our future research work.<br />

ACKNOWLEDGMENT<br />

The authors thank the editor and anonymous referees<br />

for their constructive comments and suggestions, which<br />

have improved the quality <strong>of</strong> this paper.<br />

REFERENCES<br />

[1] Z. Pawlak, A. Skowron, Rudiments <strong>of</strong> rough sets.<br />

Information Sciences, vol. 177, no. 1, pp. 3–27, 2007.<br />

[2] Z. Pawlak, A. Skowron, Rough sets: some extensions.<br />

Information Sciences, vol. 177, no. 1, pp. 28–40, 2007.<br />

[3] Z. Pawlak, A. Skowron, Rough sets and boolean reasoning.<br />

Information Sciences, vol. 177, no. 1, pp. 41–73, 2007.<br />

[4] W. Zhu, F.-Y. Wang, Binary relation based rough sets, in:<br />

IEEE FSKD 2006, LNAI, vol. 4223, pp. 276–285, 2006.<br />

[5] W. Zhu, Topological approaches to covering rough sets,<br />

Information Sciences, vol. 177, no. 6, pp. 1499–1508,<br />

2007.<br />

[6] W. Zhu, F.-Y. Wang, On three types <strong>of</strong> covering rough sets,<br />

IEEE Transactions on Knowledge and Data Engineering,<br />

vol. 19, no. 8, 2007.<br />

[7] K.Y. Qin, Z. Pei, On the topological properties <strong>of</strong> fuzzy<br />

rough sets, Fuzzy Sets and Systems, vol. 151, no. 3, pp.<br />

601–613, 2005.<br />

[8] W.Z. Wu, W.X. Zhang, Constructive and axiomatic<br />

approaches <strong>of</strong> fuzzy approximation operators, Information<br />

Sciences, vol. 159, no. 3–4, pp. 233–254, 2004.<br />

[9] W. Ziarko, Variable precision rough set model, <strong>Journal</strong> <strong>of</strong><br />

computer system science, vol. 46, no. 1, pp. 39–59, 1993.<br />

[10] D. Slezak, W. Ziarko, The investigation <strong>of</strong> the Bayesian<br />

rough set model, International <strong>Journal</strong> <strong>of</strong> Approximation<br />

Reason, vol. 40, pp. 81–91, 2005.<br />

[11] Z. Tao, B. D. Xu, D. W. Wang, R. Li, Rough Rules Mining<br />

Approach Based on Variable Precision Rough Set Theory,<br />

Information and Control,vol. 33, no. 1, pp. 18-22, 2004<br />

(in Chinese).<br />

[12] M. Beynon, Reducts within the variable precision rough<br />

sets model: A further investigation, European journal <strong>of</strong><br />

operational research, vol. 134, pp. 592-605, 2001.<br />

[13] W. X. Zhang, Y. Liang, W. Z. Wu, Information System<br />

and Knowledge Discovery, Science Press, Beijing, China,<br />

2003 (in Chinese).<br />

[14] M. Inuiguchi, Structure-Based Approaches to Attribute<br />

Reduction in Variable Precision Rough Set Models,<br />

Proceeding <strong>of</strong> 2005 IEEE ICGC, pp. 34-39, 2005.<br />

[15] A. Mieszkowicz-Rolka, L. Rolka, Remarks on<br />

approximation quality in variable precision fuzzy rough<br />

sets model Rough Sets and Current Trends in Computing:<br />

© 2010 ACADEMY PUBLISHER<br />

4th International Conference, Springer-Verlag, pp. 402-<br />

411, 2004.<br />

[16] Z. T. Gong, B. Z. Sun, Y. B Shao, D. G. Chen, Variable<br />

precision rough set model based on general relations,<br />

<strong>Journal</strong> <strong>of</strong> Lanzhou University (Natural Sciences), vol. 41,<br />

no. 6, pp. 110-114, 2005 (in Chinese).<br />

[17] Y. J. Zhang, Y. P. Wang, Covering rough set model based<br />

on variable precision, <strong>Journal</strong> <strong>of</strong> Liaoning Institute <strong>of</strong><br />

Technology, vol. 26, no. 4, pp. 274-276, 2006 (in Chinese).<br />

[18] S. B. Sun, R. X. Liu, K. Y. Qin, Comparison <strong>of</strong> Variable<br />

Precision Covering Rough Set Models, Computer<br />

engineering, vol. 34, no. 7, pp. 10-13, 2008 (in Chinese).<br />

[19] W. Zhu,F. Y. Wang, Reduction and axiomization <strong>of</strong><br />

covering generalized rough sets, Information Sciences, vol.<br />

152, pp. 217-230, 2003.<br />

[20] A. Mieszkowicz-Rolka, L. Rolka, Fuzziness in Information<br />

Systems, Electronic Notes in Theoretical Computer<br />

Science, vol. 82, no. 4, pp. 1-10, 2003.<br />

[21] X. B. Yang, J. Y. Yang, C. Wu, D. J. Yu, Dominancebased<br />

rough set approach and knowledge reductions in<br />

incomplete ordered information system, Information<br />

Sciences, vol. 178, pp. 1219–1234, 2008.<br />

Shibao SUN was born in Henan, China on 07/10/1970. He<br />

received B.S. degree in computer application from Henan<br />

University, Kaifeng, China in 1994, the M.S. degree in<br />

computer application from Zhengzhou University, Zhengzhou,<br />

China in 2004, the D.E. degree in traffic information<br />

engineering and control from Southwest Jiaotong University,<br />

Chengdu, China in 2008.<br />

In 2008, he was a Post-Doc <strong>of</strong> Computer Science and<br />

Technology at the National Lab. Of S<strong>of</strong>tware Development<br />

Environment, Beijing University <strong>of</strong> Aeronautics & Astronautics,<br />

Beijing, China. He is currently an Associate Pr<strong>of</strong>essor in<br />

Electronic Information Engineering College, Henan University<br />

<strong>of</strong> Science and Technology, Luoyang, China. His research<br />

interests can be summarized as intelligent information<br />

processing, machine learning. Particularly, he is currently<br />

interested in rough sets theory and approaches, as well as their<br />

applications in information processing.<br />

Ruijuan ZHENG was born in Henan Province, China, on<br />

01/20/80. She received B.S. degree in Computer Science and<br />

Technology from Henan University, Kaifeng, China in 2003,<br />

the M.S. and D.E. in bio-inspired computer network security<br />

theory and technology from Harbin Engineering University,<br />

Harbin, China in 2006 and 2008, respectively.<br />

She works in Electronic Information and Engineering<br />

College, Henan University <strong>of</strong> Science and Technology now. Her<br />

research interests involve Computer immunology, Bio-inspired<br />

dependability, etc.<br />

She is to join the China Computer Federation.<br />

Qingtao WU was born in Jiangxi, China on 03/13/1975. He<br />

received M.S. degrees in computer science from Henan<br />

University <strong>of</strong> Science and Technology, Luoyang, China in 2003,<br />

the D.E. degree in computer applications from East China<br />

University <strong>of</strong> Science and Technology, Shanghai, China in 2006.<br />

Currently he is working as Associate Pr<strong>of</strong>essor and Head in<br />

Dept. <strong>of</strong> Computer Science, Henan University <strong>of</strong> Science and<br />

Technology, Luoyang, China. His area <strong>of</strong> interest includes<br />

network & information security, s<strong>of</strong>tware formal methods.<br />

Tianrui LI was born in Fujian, China on 06/14/1969. He<br />

received B.S. and M.S. in mathematics from Southwest Jiaotong<br />

University, Chengdu, China in 1992 and 1995, respectively. He


116 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

received D.E. degree in traffic information engineering and<br />

control from Southwest Jiaotong University, Chengdu, China in<br />

2002.<br />

In 2005-2006, he was a Post-Doc <strong>of</strong> Computer Science and<br />

Engineering at the Belgian Nuclear Research Centre, Belgium.<br />

In 2008, he was a visiting pr<strong>of</strong>essor for three months in Hasselt<br />

University, Belgium. He is currently a Pr<strong>of</strong>essor in School <strong>of</strong><br />

Information Science and Technology <strong>of</strong> Southwest Jiaotong<br />

University, Chengdu, China. His research interests can be<br />

summarized as developing effective and efficient data analysis<br />

techniques for novel data intensive applications. Particularly, he<br />

is currently interested in various techniques <strong>of</strong> data mining,<br />

granular computing and mathematical modeling, as well as their<br />

applications in traffic.<br />

Pr<strong>of</strong>. Li has served as ISKE2007, ISKE2008, ISKE2009<br />

program chairs, IEEE GrC 2009 program vice chair and<br />

RSKT2008, FLINS2010 organizing chair, etc. and has been a<br />

reviewer for several leading academic journals.<br />

© 2010 ACADEMY PUBLISHER


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 117<br />

NaXi Pictographs Input Method and WEFT<br />

Abstract—NaXi Pictograph , which is the only hieroglyph in<br />

use is important for researching into the evolution <strong>of</strong> the<br />

character. In the past, processing NaXi Pictograph by hand,<br />

that is very inefficient. The NaXi Pictograph information<br />

processing modules is developed, such as pictograph Outline<br />

Font lib, the input method module, the embedded module<br />

and so on. A method <strong>of</strong> NaXi Pictographs Outline font<br />

extraction is proposed, which has been testified better in the<br />

Linux. As the specialty <strong>of</strong> NaXi Pictographs,two input<br />

mothods -- NaXi pictographs pinyin and graphic primitive<br />

input method are advanced, by evaluating ,which is found<br />

that the second is better than the first in precision. For<br />

display in web, The web embedding fonts technology <strong>of</strong><br />

NaXi Pictographs is brought forward, and The web<br />

embedding fonts technology <strong>of</strong> NaXi pictographs makes<br />

Internet clients browse NaXi pictographs web without<br />

downloading NaXi pictographs font. The development <strong>of</strong> the<br />

NaXi Pictograph Information Processing System is<br />

significant to research into NaXi pictographs and apply it.<br />

Index Terms—NaXi pictographs, information processing,<br />

outlines font, IME (Input Method Editors), embedded font,<br />

WEFT<br />

I. INTRODUCTION<br />

NaXi pictograph belongs to the NaXi language <strong>of</strong> yi<br />

language branch <strong>of</strong> Tibetan-Burmese languages which<br />

was created by the ancestor <strong>of</strong> NaXi. It’s credited as “the<br />

only living ancient hieroglyph” and still being used in<br />

writing lection and composition and in the field <strong>of</strong><br />

communication, therefore, NaXi pictograph has a special<br />

role in the history <strong>of</strong> human character. Since hieroglyph<br />

appeared in the early stage <strong>of</strong> the development <strong>of</strong><br />

characters, through a deep study <strong>of</strong> it we can get<br />

something about the evolutionary history <strong>of</strong> human<br />

characters and human culture which will make a great<br />

contribution to research on the origin <strong>of</strong> modern<br />

characters. Many experts and scholars at home and<br />

aboard have been working on NaXi pictograph for a long<br />

time, among which Harvard and Yunnan <strong>Academy</strong> <strong>of</strong><br />

Social Sciences lead a dominant role. But the problem<br />

that a lot <strong>of</strong> literature and ancient books can’t be<br />

processed efficiently makes it urgent to realizing an<br />

information processing system for NaXi pictograph.<br />

The traditional hand-drawing method <strong>of</strong> processing<br />

NaXi pictograph has low efficiency and can’t guarantee<br />

the problem can be solved by the output <strong>of</strong> computer’s<br />

*Corresponding author: Jing-ying Zhao Email: dalianzjy@gmail.com<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.117-124<br />

Hai Guo<br />

Dalian Nationalities University, Dalian, China<br />

Email: guohai@dlnu.edu.cn<br />

Jing-ying Zhao*<br />

Dalian Nationalities University, Dalian, China<br />

Email: dalianzjy@gmail.com<br />

standard font, therefore, our project designs and develops<br />

the NaXi pictograph information processing system for<br />

the first time which ends the processing history <strong>of</strong> NaXi<br />

pictograph without computerization.<br />

II. NAXI PICTOGRAPH PROCESSING SUMMARIZATION<br />

The Naxi Pictograph input platform is developed for<br />

special groups, including units <strong>of</strong> printing and publication,<br />

Naxi pictograph research institutes and art designing<br />

companies, so it’s not a universal s<strong>of</strong>tware platform.<br />

These reasons make it definite that our development must<br />

meet the requirement <strong>of</strong> different customers. The analysis<br />

<strong>of</strong> application level <strong>of</strong> this project can be summarized as<br />

Table I.<br />

According to the analysis above, our project has<br />

designed various Naxi pictograph input processing<br />

systems which can meet specific requirement <strong>of</strong> different<br />

customers. For pr<strong>of</strong>essional customer doing publication<br />

and printing, we developed Naxi pictograph standard<br />

edition with TrueType and PostScript outline fonts, and<br />

Four input methods including internal code input method,<br />

Latin input method, graphic primitive Method and English<br />

input method, which can fully satisfy the needs <strong>of</strong><br />

printing and typesetting. As for the Naxi pictograph<br />

research institutes, we developed Naxi pictograph<br />

TrueType outline font and Naxi Pinyin input method.<br />

Considering that the artistic designing units just need the<br />

font style outline, their system only have Naxi pictograph<br />

TrueType outline fonts and Naxi pictograph English input<br />

method. At last, we developed web embedding fonts and<br />

PDF document creating technology <strong>of</strong> Naxi pictograph<br />

TABLE I.<br />

THE ANALYSIS OF CUSTOMER REQUIREMENT OF NAXI PICTOGRAPH<br />

INPUT PLATFORM<br />

Regular<br />

customer requirement<br />

customer group high accuracy, fast input, output, various<br />

convenient input method<br />

Printing<br />

Publication<br />

general output accuracy, advanced input method<br />

research various <strong>of</strong> output font styles, input method easily<br />

institutes<br />

to learned<br />

artistic <strong>of</strong>fer web pages and electronic document<br />

designing<br />

browsing<br />

ordinary user customer requirement


118 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

for ordinary customers.<br />

III. THE PRINCIPLE OF NAXI PICTOGRAPH INFORMATION<br />

PROCESSING<br />

A. The principle <strong>of</strong> NaXi Pictograph Outline Fonts<br />

Since outline font can be zoomed in and out at will<br />

without distortion, it is widely applied in printing,<br />

typesetting, character processing and art creating, and<br />

Windows we uses everyday is displayed with outline font<br />

too. This type <strong>of</strong> font is composed <strong>of</strong> Bézier curve, and<br />

the TrueType font uses quadratic Bézier curve, the<br />

PostScript font uses cubic Bézier curve, so the<br />

reducibility <strong>of</strong> PostScript font is better than the TrueType<br />

font. A Bézier curve is controlled by three points, as is<br />

shown in Fig. 1, when the middle control point changes<br />

the whole curve changes too. If an outline word consists<br />

<strong>of</strong> n+1 points (P0, P1 … Pn), it needs m Bézier curves to<br />

form the font. Equation (1) shows the detail.<br />

m =<br />

n<br />

∑<br />

i=<br />

0<br />

⎛ i ⎞<br />

⎜ ⎟t<br />

⎝n<br />

⎠<br />

i<br />

( 1−<br />

t)<br />

n−i<br />

A PostScript outline is formed <strong>of</strong> a group <strong>of</strong> cubic Bézier<br />

curves which can be described in (2), (3):<br />

3<br />

2<br />

x = a * t + b * t + c * t + d<br />

X<br />

y<br />

X<br />

3<br />

2<br />

y = a * t + b * t + c * t + d<br />

y<br />

A TrueType outline is formed <strong>of</strong> a group <strong>of</strong> quadratic<br />

Bézier curves and every curve is defined by three control<br />

points. For a quadratic Bézier curve’s three control points<br />

are (Ax, Ay),(Bx, By)and(Cx, Cy)described in (4)<br />

and (5) :<br />

P<br />

X<br />

=<br />

© 2010 ACADEMY PUBLISHER<br />

X<br />

y<br />

P<br />

2<br />

2<br />

( 1 − t)<br />

AX<br />

+ 2t(<br />

1 − t)<br />

B X + t C X<br />

i<br />

X<br />

y<br />

(1)<br />

(2)<br />

(3)<br />

(4)<br />

P<br />

y<br />

=<br />

Figure 1. Bézier Curve<br />

2<br />

2<br />

( 1 − t)<br />

Ay<br />

+ 2t(<br />

1 − t)<br />

B y + t C y<br />

By modifying the parameter t from 0 to 1, all values <strong>of</strong><br />

p defined by A, B and C can be generated, from which<br />

the quadratic Bézier curve is obtained.<br />

Font is defined as a combination <strong>of</strong> a set <strong>of</strong> outline<br />

curves and every curve includes three or more points. The<br />

illustration using Bézier outline curve <strong>of</strong> NaXi pictograph<br />

“deer” is shown in Fig. 2. The outline is constituted <strong>of</strong> a<br />

set <strong>of</strong> instructions which pictured the character’s exterior.<br />

All the parameter information <strong>of</strong> outline fonts is stored<br />

in a NaXi pictograph table “glyf”. Because <strong>of</strong> the high<br />

complexity and similarity <strong>of</strong> Naxi pictograph, the<br />

precision <strong>of</strong> outline curve delineation is greatly higher<br />

than the dot matrix font delineation. Based on the two<br />

outline font technique, we developed NaXi pictograph<br />

TrueType font and PostScript font which basically met<br />

the requirement <strong>of</strong> processing basic model <strong>of</strong> NaXi<br />

pictograph with computer.<br />

B. The Feature Extraction Method <strong>of</strong> NaXi Pictograph<br />

Outline Font<br />

The outline font is filled with a series <strong>of</strong> outline<br />

curves and delineating the outline accurately is the key<br />

point for the success <strong>of</strong> a font. It can be seen from<br />

Figure 2. the Outline Curve delineation <strong>of</strong> NaXi Pictograph “deer”<br />

(5)


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 119<br />

Figure3 that the NaXi pictograph is complicated, various<br />

and also with many strokes which make it difficult for<br />

truly reducing the outline <strong>of</strong> NaXi pictograph. According<br />

to these characteristics, our project proposes a dual-mode<br />

transformation algorithm for extracting the NaXi<br />

pictograph outline points and uses some rules to check<br />

whether a pixel point is in the outline.<br />

Rule1: if the center <strong>of</strong> a pixel point is in the outline, the<br />

point is lightened and becomes a part <strong>of</strong> the outline curve.<br />

Rule2: if an outline line passes the center <strong>of</strong> a pixel,<br />

the pixel is lightened.<br />

Rule3: if a scanning line located in the center <strong>of</strong> two<br />

adjacent pixels (horizontal or vertical) intersects with the<br />

on-Transition and the <strong>of</strong>f-Transition and the points on<br />

this line haven’t lightened by rule1 and rule2, the left<br />

endpoint is lightened when this line is horizontal, while<br />

the right endpoint is lighted when it’s vertical.<br />

Rule4: rule3 can be used only in the case that two<br />

contour surfaces still intersect the scanning line in twoway,<br />

but this doesn’t mean these pixels are “stubs”. By<br />

checking the scanning line-segment formed a square with<br />

crossing scan line-segment, whether they intersect each<br />

other through two contour surfaces can be verified. There<br />

is the possibility which is small but exists that more than<br />

one contour intersect with discontinuity point, so it’s<br />

necessary to control some characters outline using gridfitting.<br />

The method discussed above is used in the secondary<br />

development <strong>of</strong> Pgaedit based on Linux which effectively<br />

prevents the generation <strong>of</strong> discontinuity point, and the<br />

accuracy <strong>of</strong> outline point extraction <strong>of</strong> NaXi pictograph<br />

reaches 99.99%.<br />

IV NAXI PICTOGRAPH FONT DEVELOPMENT<br />

A computer font is an electronic data file containing a<br />

set <strong>of</strong> glyphs, characters, or symbols such as dingbats.<br />

Although the term font first referred to a set <strong>of</strong> metal type<br />

sorts in one style and size, since the 1990s most fonts are<br />

digital, used on computers.There are three basic kinds <strong>of</strong><br />

computer font file data formats:<br />

� Bitmap fonts consist <strong>of</strong> a series <strong>of</strong> dots or pixels<br />

representing the image <strong>of</strong> each glyph in each face<br />

and size.<br />

� Outline fonts (also called vector fonts) use Bézier<br />

curves, drawing instructions and mathematical<br />

formulas to describe each glyph, which make the<br />

character outlines scalable to any size.<br />

� Stroke fonts use a series <strong>of</strong> specified lines and<br />

additional information to define the pr<strong>of</strong>ile, or size<br />

and shape <strong>of</strong> the line in a specific face, which<br />

together describe the appearance <strong>of</strong> the glyph.<br />

Bitmap fonts are faster and easier to use in computer<br />

code, but inflexible, requiring a separate font for each<br />

size. Outline and stroke fonts can be resized using a<br />

single font and substituting different measurements for<br />

components <strong>of</strong> each glyph, but are somewhat more<br />

complicated to use than bitmap fonts as they require<br />

additional computer code to render the outline to a bitmap<br />

for display on screen or in print.<br />

© 2010 ACADEMY PUBLISHER<br />

The difference between bitmap fonts and outline fonts<br />

is similar to the difference between bitmap and vector<br />

image file formats. Bitmap fonts are like image formats<br />

such as Windows Bitmap (.bmp), Portable Network<br />

Graphics (.png) and Tagged Image Format (.tif or .tiff),<br />

which store the image data as a grid <strong>of</strong> pixels, in some<br />

cases with compression. Outline or stroke image formats<br />

such as Windows Metafile format (.wmf) and Scalable<br />

Vector Graphics format (.svg), store instructions in the<br />

form <strong>of</strong> lines and curves <strong>of</strong> how to draw the image rather<br />

than storing the image itself.<br />

A bitmap image can be displayed in a different size<br />

only with some distortion, but renders quickly; outline or<br />

stroke image formats are resizable but take more time to<br />

render as pixels must be drawn from scratch each time<br />

they are displayed.<br />

Fonts are designed and created using font editors.<br />

Fonts specifically designed for the computer screen and<br />

not printing are known as screenfonts.<br />

B. NaXi pictograph font library<br />

Font library is the basis and also the core <strong>of</strong> the system,<br />

accurate font and correct code set solid foundation for<br />

developing the complete system. The NaXi pictograph<br />

font library includes NaXi pictograph TrueType outline<br />

font and NaXi pictograph PostScript font. TrueType<br />

outline font is composed <strong>of</strong> quadratic Bézier curves and<br />

PostScript is built with cubic Bézier curves. Since a<br />

quadratic Bézier curve can be transformed to a cubic<br />

Bézier curve, we develop TrueType outline font first and<br />

then realize the transformation by expert tools.<br />

The developement <strong>of</strong> NaXi Pictographs Outline Font is<br />

mostly going by to design character draft, to scan the<br />

font,to digitize the font、to modify and coordinate the<br />

font、to examine the quality <strong>of</strong> character、to conformity<br />

character storeroom. After calculation,draft is scanned as<br />

lattice character storeroom in high precision by scanner,at<br />

the same time the character storeroom code is given.To<br />

simulate and conformity digitallization is according to the<br />

method <strong>of</strong> double pattern switch ,which tries its best to<br />

shift lattice graph to numeral infomation as real as<br />

manuscript automatically (curve outline).The outline<br />

point,line,angle and location can be rectified through<br />

parameter controling,which present extraordinarily<br />

important in the process <strong>of</strong> producing NaXi Pictographs<br />

with complex font and large diverse manner.<br />

The outline font development can be divided into four<br />

steps: font and script designing, digital fitting, modifying<br />

and font generating. Our project uses the original script <strong>of</strong><br />

A dictionary <strong>of</strong> NaXi pictograph sound-indication which<br />

is transformed to standard bit map by scanning, and then<br />

the describing points are extracted for digital fitting, after<br />

that the NaXi pictograph outline font is integrated and<br />

created. This kind <strong>of</strong> technique can guarantee the veracity<br />

<strong>of</strong> original script and the generated outline font has the<br />

features <strong>of</strong> excellent reducibility and vector property as<br />

well..<br />

V NAXI PICTOGRAPH INPUT METHOD BASED ON IMM-<br />

IME


120 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

A. IMM-IME Introduction<br />

As Windows is the most widely used operation system at<br />

present, this paper focuses on the input system for NaXi<br />

pictograph based on Windows. The input method based<br />

on Windows transforms standard ASCII string into<br />

NaXi word or string using some particular coding rule.<br />

With different application program the user can not<br />

design a transformation program himself, due to which<br />

the task <strong>of</strong> inputting NaXi pictograph should be taken by<br />

the Windows system administration.<br />

As shown in Fig.4, at first, the keyboard event <strong>of</strong> NaXi<br />

pictograph input system is received by the Windows file<br />

use.exe, then use.exe transfers the event to the Input<br />

Method Manager (IMM), after that the IMM conveys the<br />

event to the input method editor which translates the<br />

keyboard event to its corresponding NaXi character (or<br />

string) with reference to user’s encoding dictionary, when<br />

this is done the translated event is propagated back to<br />

use.exe and then to the executing application, until now<br />

the whole input process <strong>of</strong> NaXi pictograph is finished[4-<br />

5].<br />

B. The Basic Structure <strong>of</strong> NaXi Pictograph IMM-IME<br />

The IMM-IME structure provides various input<br />

methods for applications, each tread <strong>of</strong> an application can<br />

keep an active input window. The processing order <strong>of</strong><br />

other messages won’t be disturbed by inserting the NaXi<br />

pictograph message to message circle. The head file<br />

TABLE II. NAXI PINYIN CODE<br />

IPA Latin letter IPA Latin letter IPA Latin letter IPA Latin letter<br />

p‘ p p<br />

b b bb f(ɯ) f(w)<br />

t d t’ t d dd n n<br />

l l k g k‘ k g gg<br />

Ŋ ng h h ʈɕ j ʈɕ‘ q<br />

dʐ jj ȵ ni ɕ(ʑ) x(y) ʐ r<br />

ʂ sh dʐ rh tʂ zh tʂ‘ ch<br />

z ss s s dz zz ts‘ c<br />

ts z i i u u y iu<br />

a a o o ә e v v<br />

ɯ ee әr er e ei ӕ ai<br />

ie iei iӕ iai ia ia iә ie<br />

uei ui uӕ uai ua ua uә ue<br />

Figure 3. the Input Method Principle <strong>of</strong> NaXi Pictograph.<br />

© 2010 ACADEMY PUBLISHER<br />

immdev.h should be included for using these new<br />

features. The detailed working principle <strong>of</strong> NaXi<br />

pictograph Pinyin input method is shown in Fig. 3.<br />

C. NaXi pictograph pinyin input method<br />

Current input method includes two types: Pinyin and font.<br />

The font input method can be divided by strokes which<br />

needs the user has the ability to write. Unfortunately,<br />

writing NaXi pictograph is so hard for the ordinary user<br />

that makes the shape code unsuitable for NaXi pictograph<br />

being inputted to the computer. The phonetic code input<br />

method just requires the user know how to read the<br />

character, therefore, Pinyin input method is more suitable<br />

for NaXi pictograph.<br />

Early dictionaries <strong>of</strong> NaXi pictograph sound-indication<br />

employ International Phonetic Alphabet to mark NaXi<br />

character, while the computer uses Latin letters as input<br />

code, the conversion between NaXi Phonetic and Latin<br />

Pinyin becomes necessary. Table II lists the mapping<br />

between International Phonetic Alphabet and Latin<br />

Pinyin in detail. When designing the input method <strong>of</strong><br />

NaXi pictograph one can encounter the problem <strong>of</strong> too<br />

long encoding due to the characteristics <strong>of</strong> NaXi<br />

pronunciation. For instance, the NaXi character �<br />

can be coded as “ssoxiqssoddassa”, it needs fifteen<br />

English characters to map this single one character which<br />

will result in very low efficiency when input an article.<br />

Research shows that the initials repetition phenomenon is<br />

common in NaXi pictograph pronounced coding, through<br />

the method <strong>of</strong> designing code with simplified initials the<br />

Pinyin input method <strong>of</strong> NaXi pictograph can greatly<br />

reduce the coding length and improve the coding<br />

efficiency. Let’s take the character � as an example,<br />

its pronounced coding is “ssoxiqssoddassa”, after the<br />

simplification <strong>of</strong> pronunciation it becomes to<br />

soxiqsodasa, the length reduces to eleven from fifteen.<br />

NaXi pictograph consists <strong>of</strong> 2120 characters and the<br />

average coding length is twelve bits which is reduced to<br />

eight bits after the simplification <strong>of</strong> pronunciation, so the<br />

input speed is also increased.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 121<br />

D. NaXi pictograph graphic primitive input method<br />

1) the Structure Coding Method <strong>of</strong> NaXi<br />

Pictograph:The NaXi Pictograph has four common<br />

structures, those are undivided whole structure codedby b,<br />

up and lower structure coded by s, right and left structure<br />

coded by z, surounding structure coded by b. The NaXi<br />

Pictograph character <strong>of</strong> undivided whole structure are<br />

such as�,�,�,�,�and so on, the upper and<br />

lower structure,�,�,�,�,�,�; right and left<br />

structure, �,�,�,�,�surounding structure,<br />

�,�,�,�,�. After the coarse segmentation and<br />

coding above, the fine granularity coding is introduced.<br />

2) the Graphic Primitive Coding Method <strong>of</strong> NaXi<br />

Pictograph:The NaXi pictograph character hasn’t radical<br />

component such as Chinese characters, so the<br />

representation method using Graphic Primitive is<br />

proposed in this paper,which inspired by syntactic pattern<br />

recognition. The basic elements <strong>of</strong> graph, graphic<br />

TABLE III.<br />

GRAPHIC PRIMITIVE CODE OF NAXI PICTOGRAPH<br />

Graphic Primitive code<br />

point a<br />

line b<br />

circle c<br />

circular curve f<br />

left oblique line g<br />

right oblique line h<br />

vertical line i<br />

vertical curve g<br />

oval curve k<br />

rectangle l<br />

right oblique line h<br />

primitives, are point, line, circle, circular curve, left<br />

oblique line. right oblique line, vertical line, vertical<br />

© 2010 ACADEMY PUBLISHER<br />

curve, oval curve and rectangle. As showed in Table III,<br />

the basic graphic primitives are coded. Different with<br />

Chinese and other characters, many NaXi pictograph<br />

characters contains digit, for example � (dice), the<br />

number <strong>of</strong> dots, and � (fire), the number <strong>of</strong> vertical<br />

curve, and � (treasure),the number <strong>of</strong> circle. So the<br />

quantity is coded, one is 'y', two is 'e', three is 's', four is 'f',<br />

five is 'w', six is 'l', seven is 'q', eight is 'b', nine is 'j', the<br />

number greater than nine is 'd'. The user interface <strong>of</strong><br />

NaXi primitive input method is shown in Fig. 4.<br />

E. Evaluation <strong>of</strong> NaXi Pictograph Input Method<br />

In order to evaluate the efficiency <strong>of</strong> NaXi proposed by<br />

this paper, we develop an evaluating system for NaXi<br />

pictograph input method. Its flow procedure is shown in<br />

Fig. 6. The evaluating system employs the Windows<br />

message mechanism to automatically converse the NaXi<br />

Pinyin text to NaXi pictograph text under the conditions<br />

<strong>of</strong> activating the NaXi input method with and without<br />

optimization. After getting the evaluation result, we can<br />

calculate the conversion accuracy.<br />

In the experiment, we choose five NaXi texts to the<br />

evaluating system, the results demonstrate that the NaXi<br />

graphic primitive input method achieved higher average<br />

conversion accuracy than the Pinyin input method. Table<br />

IV shows the details.<br />

VI WEB EMBEDDING APPLICATION<br />

Aiming at the ordinary customers’ requirement, our<br />

project also made some study on the application <strong>of</strong> NaXi<br />

pictograph and developed Web embedding and PDF<br />

embedding technology.<br />

A. The Classification <strong>of</strong> Web Embedding<br />

The lattice font has been gradually eliminated at the<br />

Figure 4. NaXi Pictograph Primitive Input Method.


122 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Conversion<br />

Accuracy<br />

Pinyin<br />

Method<br />

graphic<br />

primitive<br />

Method<br />

beginning <strong>of</strong> 90s in last century with the updating <strong>of</strong><br />

operating system, the new outlines font has replaced it.<br />

The mainstream outlines font includes:<br />

①PostScript Type 1 font, brought forward by Adobe<br />

corporation years ago, applied in publication typesetting<br />

system, belongs to the first generation <strong>of</strong> outlines font.<br />

② TrueType font, brought forward by Apple and<br />

Micros<strong>of</strong>t. Because it has so many merits, it has been<br />

used in a variety <strong>of</strong> operating system on Mac and Pc,<br />

belongs to the second generation <strong>of</strong> outlines font.<br />

③ OpenType font, Put forward by Adobe and<br />

Micros<strong>of</strong>t as a new generation <strong>of</strong> outlines font standard. It<br />

fuses the merits <strong>of</strong> Type 1 and TrueType, belongs to the<br />

third generation <strong>of</strong> outlines font.<br />

The TrueType font embedding technology <strong>of</strong> NaXi<br />

pictographs can be divided into embedded OpenType and<br />

True Doc. Put forward by Micros<strong>of</strong>t, Embedded<br />

OpenType technology can compresse TrueType font into<br />

Eot file, and then embeds it into HTML web pages.<br />

While TrueDoc brought forward by Netscape and<br />

Bitstream can compress TrueType font into TrueDoc file<br />

and then embed it into HTML web pages.<br />

B. The Principal <strong>of</strong> Web Embedding Technology <strong>of</strong> NaXi<br />

Pictographs<br />

Web embedding technology <strong>of</strong> NaXi pictographs uses<br />

Figure 5. NaXi Pictograph Input Method.<br />

© 2010 ACADEMY PUBLISHER<br />

TABLE IV.<br />

COMPARISON OF THE NAXI PINYIN INPUT METHODS<br />

text1 text2 text3 text4 text5 Average<br />

Accuracy<br />

99.1% 98.1% 98.4% 96.1% 97.8% 98.1%<br />

99.6% 99.1% 98.9% 97.1% 98.1% 98.6%<br />

CSS2 calling compressed OpenType font files to embed<br />

NaXi pictographs into web page. Downloading<br />

compressed fonts <strong>of</strong> NaXi pictographs downloaded to<br />

clients’ temporary directories lets clients browse web<br />

pages with NaXi pictographs<br />

correctly without installing NaXi pictographs font..<br />

The principle is that a client sends requirement for<br />

browsing, and then HTTP server sends HTML files to<br />

client browser. Client sends the information <strong>of</strong> web pages<br />

contained NaXi pictographs to server through CSS2, the<br />

server send this information to EOT database. EOT calls<br />

the TrueType font files stored in HTTP server, then<br />

HTTP server sends this inmessage back to the browser.<br />

The NaXi pictographs will be deleted autonomously after<br />

the client closes the browser. In this way fonts copyright<br />

can be better protected from piracy. By calling CSS2<br />

several times in a web page, not only NaXi pictographs<br />

but Chinese, Mongolian, Tibetan and other minority<br />

languages can be displayed in the same web page.<br />

C. Realization <strong>of</strong> Web Embedding Fonts Technology <strong>of</strong><br />

NaXi Pictographs<br />

1) The environment <strong>of</strong> developing web embedding fonts<br />

<strong>of</strong> NaXi pictographs:The development environment is an<br />

environment <strong>of</strong> making web pages, EOT files, and CSS<br />

tables, it is mainly composed <strong>of</strong> DreamWeaver, WETF<br />

(Web Embedding Fonts Tool), Font Creator and etc. Free<br />

BSD installing Apache is adopted as the server. Firstly<br />

this structure is totally compatible with Micros<strong>of</strong>t IIS<br />

system. Secondly, it provides more useful functions,<br />

faster operating speed and better stability than Micros<strong>of</strong>t<br />

IIS system.<br />

2) The application <strong>of</strong> CSS2 in web embedding fonts <strong>of</strong><br />

NaXi pictographs:pictographs TrueType font into web<br />

pages possible. From the way that CSS is inserted, there<br />

are three kinds <strong>of</strong> CSS: inline mode list, embedded mode<br />

list and exterior mode list, and the inline mode list and<br />

embedded mode list are broadly used in web embedding<br />

fonts technology <strong>of</strong> NaXi pictographs. The key sentence<br />

<strong>of</strong> CSS is @font-face, which has defined the name, type,<br />

thickness and other information <strong>of</strong> a planted font.<br />

3) The generation <strong>of</strong> planted font database <strong>of</strong> NaXi<br />

pictographs: The substance in creating font database is to<br />

compress NaXi pictographs TrueType fonts into<br />

OpenType fonts. There are many ways in generating<br />

NaXi pictographs planted databases, this paper adopts<br />

Micros<strong>of</strong>t WETF ( Web Embedding Fonts Tool). Before<br />

planting the validity <strong>of</strong> NaXi pictographs TrueType fonts<br />

in the development environment are checked by WEFT.<br />

WEFT displays the font validity in graph。.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 123<br />

After the success <strong>of</strong> font-checking, add the needed<br />

NaXi pictographs into EOT files, then calling NaXi<br />

pictographs font while browsing will not be a problem.<br />

4) The embedding <strong>of</strong> NaXi pictographs font:You can<br />

input NaXi pictographs by using NaXi pictographs input<br />

method developed by the information system lab, then<br />

create a web page containing NaXi pictographs with<br />

Dreamweaver. Then insert codes as follows between<br />

and :<br />

<br />

<br />

<br />

Embedding function @font-face provides with four<br />

parameters: you can use font-family to name this font in<br />

the current webpage, this project is defined as NaXi; fontstyle<br />

can be anyone <strong>of</strong> normal, italic or oblique,<br />

commonly defined as normal; font-weight can be normal,<br />

bold, bolder, lighter or other legal thickness value;<br />

FontURL is a URL pointing to OpenType files, normally<br />

adopts absolute pathway. After saving the NaXi<br />

pictographs webpage, you can test it by transfering it to<br />

the HTTP server. The testing Figure can be seen in Fig. 6.<br />

Up to now, the preliminary process <strong>of</strong> planting NaXi<br />

pictographs is <strong>of</strong>ficially finished.<br />

VII CONCLUSION<br />

A complete NaXi pictograph information processing<br />

platform is developed in this paper. It ends the history <strong>of</strong><br />

© 2010 ACADEMY PUBLISHER<br />

Figure 6. NaXi Pictograph WEFT Web.<br />

NaXi pictograph processing without computer, provides<br />

valuable reference for creating other minority languages<br />

information processing system and also plays a<br />

significant role in promoting the computerization process<br />

<strong>of</strong> minority characters in China.<br />

ACKNOWLEDGMENT<br />

This work is supported by National Natural Science<br />

Foundation <strong>of</strong> China (No. 60803096).<br />

REFERENCES<br />

[1] G. Eason, B. Noble, and I. N. Sneddon, “On certain<br />

integrals <strong>of</strong> Lipschitz-Hankel type involving products <strong>of</strong><br />

Bessel functions,” Phil. Trans. Roy. Soc. London, vol.<br />

A247, pp. 529–551, April. 1955.<br />

[2] Joseph Francis Charles Rock,A Nakhi-English<br />

encyclopedic dictionary, I.M.E.O, Rome,1963.<br />

[3] Liu Yongkui, Guo Hai, Lu Guiyan,Li Hongyan,"Input<br />

technology and information processing <strong>of</strong> NaXi<br />

pictograph",<strong>Journal</strong> <strong>of</strong> Computational Information<br />

Systems,vol.3, no.1, p361-368, February, 2007.<br />

[4] Guo Hai, Che Wengang,Nie Juan,Li Bin etc,"Web<br />

embedding fonts technology <strong>of</strong> NaXi pictographs",Jisuanji<br />

Gongcheng/Computer Engineering, vol.31, no.17, pp.203-<br />

204+207, Sep. 2005.<br />

[5] Guo Hai, Zhao Jing-ying,"Development <strong>of</strong> the NaXi<br />

Pictographs Information Processing System",Control &<br />

Automation,vol.22, no. 22, pp.122-124, 2006.<br />

[6] Xie Qian, Jiang Li,Wu Jian,etc,"Research on Chinese<br />

Linux input method engine standard",Jisuanji Yanjiu yu<br />

Fazhan/Computer Research and Development, vol.43,<br />

no.11, pp.1965-1971,November, 2006.<br />

[7] Tseng Chun-Han, Chen Chia-Ping,"Chinese input method<br />

based on reduced Mandarin phonetic alphabet", in Proc.<br />

INTERSPEECH 2006 and 9th International Conference on<br />

Spoken Language Processing, 2006, pp.733-736.


124 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

[8] Tanimoto Yoshio,Nanba Kuniharu,Rokumyo Yasuhiko,<br />

etc,"Evaluation system <strong>of</strong> suitable computer input device<br />

for patients", Proceedings <strong>of</strong> the Third Workshop - 2005<br />

IEEE Intelligent Data Acquisition and Advanced<br />

Computing Systems, 2007, pp. 369-373.<br />

Hai Guo received the M.Sc. degree in pattern recognition<br />

and intelligent system from the Kun Ming University <strong>of</strong> science<br />

and technology, China, in 2004.<br />

He has been teaching at Dalian Nationalities University<br />

since graduation. For many years, he has done research in<br />

© 2010 ACADEMY PUBLISHER<br />

image processing, pattern recognition. He has published<br />

more than 10 papers.<br />

Jing-ying Zhao received the M.Sc. degree in computer<br />

application from the Chang Chun University <strong>of</strong> science and<br />

technology, China, in 2003.<br />

She has been teaching at Dalian Nationalities University<br />

since 2003. For many years, she has done research in image<br />

processing, pattern recognition. He has published more than 10<br />

papers


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 125<br />

A Systematic Decision Criterion for Urban<br />

Agglomeration: Methodology for Causality<br />

Measurement at Provincial Scale<br />

Yaobin Liu<br />

Research Center <strong>of</strong> Central China Economic Development, Nanchang University, Nanchang, P.R.China<br />

Email: liuyaobin2003@163.com<br />

Li Wan<br />

Research Center <strong>of</strong> Central China Economic Development, Nanchang University, Nanchang, P.R.China<br />

Email: Sandy_gf@163.com<br />

Abstract—The paper employs the synergism theory and grey<br />

relative technique to analyze the inner nonlinear<br />

relationships among factors that attribute to process <strong>of</strong><br />

urban agglomeration, and builds a synergic model to reveal<br />

the causality running urban agglomeration system. The grey<br />

relative analysis shows that the urban agglomeration system<br />

is an open and dissipative system, and it is affected by many<br />

factors, which are not just simple linear relative but<br />

relevant, non-uniform and irreversible. Meanwhile, the<br />

synergic model reveals that the key parameters that<br />

dominated the process <strong>of</strong> urban agglomeration in Jiangxi<br />

province are the rate <strong>of</strong> industrialization, percentage <strong>of</strong><br />

urban fixed asset investment in the total fixed asset<br />

investment and the highway mileage on per unit area.<br />

Obviously, the simulated results are available in practice, so<br />

the nonlinear systematical methods can be applied to<br />

analyze the causality mechanism in process <strong>of</strong> urban<br />

agglomeration.<br />

Index Terms—Urban agglomeration; causality<br />

measurement; grey relative technique; synergic model<br />

I. INTRODUCTION<br />

Urban agglomeration is made up <strong>of</strong> cities with<br />

different sizes to be linked by traffic network in a given<br />

area, and it is an inevitable result when urbanization<br />

reaches a certain level [1]. Today, while the global<br />

economic development is integrated, the urban<br />

agglomeration has become a carrier, by which a country<br />

or region can participate in international competition. For<br />

example, in the United States, three urban agglomerations<br />

including the New York area, Los Angeles area and the<br />

Great Lakes concentrated about 46% <strong>of</strong> the national<br />

population and 67% <strong>of</strong> the GDP. So, it is vital for a<br />

nation and area to nurture and build a stronger and<br />

competitive urban agglomeration for participating in<br />

international competition. How to nurture and build the<br />

urban agglomerations, rapidly? This is not only an actual<br />

Manuscript received January 1, 2009; revised June 1, 2009; accepted<br />

July 1, 2009.<br />

Corresponding author. Tel.: +86791 3163385; fax: + 867918304401<br />

E-mail address: liuyaobin2003@163.com (Y.B.Liu).<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.125-130<br />

problem for city planners and urban managers, but also<br />

an important academic issue for the theoretical scholars.<br />

Although many scholars pay more attention to the city<br />

cluster in the developed areas <strong>of</strong> western countries, the<br />

modern researches have been extended to the developing<br />

areas including Africa and Asia countries. Here,<br />

mechanism and pattern <strong>of</strong> urban agglomeration are still a<br />

focus and topic in urban planning field. For example,<br />

Naude and Krugell(2003)analyzed the spatial<br />

development <strong>of</strong> urban agglomeration in South Africa, and<br />

thought that the size <strong>of</strong> the primate city in Johannesmoreeast<br />

Rand might be relatively too large[2]. Kanemoto et<br />

al.(2005)took Tokyo metropolitan as an example, and<br />

analyzed the rational size <strong>of</strong> Tokyo as the primate city[3].<br />

Qin et al.(2006) analyzed formation mechanism and<br />

spatial pattern <strong>of</strong> urban agglomeration in central Jilin <strong>of</strong><br />

China[4].<br />

Most modern scholars <strong>of</strong> urban development<br />

acknowledge that transnational processes are having an<br />

increasingly important influence on the evolution <strong>of</strong><br />

urban agglomeration. An early observation was the<br />

recognition <strong>of</strong> an emerging system <strong>of</strong> world cities[5], a<br />

kind <strong>of</strong> urban elite which is shaped in part by the new<br />

international division <strong>of</strong> labor. These urban<br />

agglomerations are also thought to be controlling and<br />

coordinating global finance, producer and business<br />

services[6]. The view <strong>of</strong> world cities as the “key nodes”<br />

<strong>of</strong> the international urban system is a widely held one,<br />

underpinned in particular by rapid advances in the<br />

development <strong>of</strong> information technology and<br />

telecommunications. However, because the surrounding<br />

metropolitan area has experienced pr<strong>of</strong>ound changes <strong>of</strong><br />

spatial organization, with suburbanization bringing the<br />

most radical reorganization <strong>of</strong> metropolitan<br />

space[7][8][9], the growing role <strong>of</strong> suburbanization in<br />

metropolitan development is not unique as other major<br />

cities in post-communist countries follow a similar path<br />

[10][11][12][13][14][15][16][17].Suburbanization should<br />

thus be considered as one <strong>of</strong> the crucial topics in the<br />

study <strong>of</strong> urban agglomeration in post communist cities.<br />

Consequently, a variety <strong>of</strong> explanation attribute to urban<br />

agglomerations at present.


126 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

When we carefully review the relevant operation<br />

mechanism <strong>of</strong> urban system, we may find that urban<br />

agglomeration being a complicatedly non-linear systems,<br />

has a lot <strong>of</strong> “disturbance” and “fluctuation” in orderly<br />

appearance. The “disturbance” and “fluctuation” can<br />

make the self-organized process changed and promoted,<br />

and then the system can change from disordered to<br />

ordered (or from junior orderly to senior orderly). The<br />

process <strong>of</strong> urban agglomeration also can appear a<br />

“Lorenz Butterfly Effect” phenomenon when the system<br />

inclines to recession or collapse[18]. Therefore, we have<br />

to depend on non-linear mathematical methods to analyze<br />

the interaction mechanism <strong>of</strong> formation and evolution <strong>of</strong><br />

urban agglomeration, by which we can find the<br />

quantitative relationship among the key factors and reveal<br />

the causality in the system. However, there is still a lack<br />

<strong>of</strong> studies on the integrated systems from the holistic<br />

region point <strong>of</strong> view, thus we take Jiangxi province in<br />

China as a case, and use the grey relative technique to<br />

analyze the main factors <strong>of</strong> urban agglomeration<br />

evolution and develop a synergic method to reveal the<br />

causality. The objective <strong>of</strong> this study is to investigate the<br />

key factors <strong>of</strong> urban agglomeration in Jiangsu province.<br />

Improved understanding <strong>of</strong> its interactive mechanism will<br />

certainly help planning efforts for future urbanization<br />

management.<br />

II. METHODOLOGY AND DATE<br />

A. Grey relative technique<br />

Grey system theory thinks that the world is the<br />

material world, and it is also the information world. In the<br />

information world, the white system can be understood<br />

and the black system can not be known relatively and<br />

temporarily, only the grey system can partly be explained<br />

eternally and absolutely. The grey system theory is just<br />

an analytical method which generally is used to study<br />

relationships with incomplete information. The main<br />

characteristic <strong>of</strong> the grey system theory is to compare the<br />

data arrays and to calculate the grey relational degrees<br />

between each element <strong>of</strong> the system with incomplete<br />

information. Hereinto, the grey relative technique is an<br />

effective way to reveal the grey relation. So-called grey<br />

relative technique is to find the links among the elements<br />

through the quantitative analysis. Thus, we can reveal the<br />

incomplete information world by the grey relative<br />

technique. The basic idea <strong>of</strong> grey relative technique is to<br />

judge similar <strong>of</strong> its close link by grey relational degrees<br />

[19]. To calculate the grey relational degree rij, the first<br />

step must calculate the grey relational coefficient between<br />

main-array and sub-array. The grey relational coefficient<br />

is defined as:<br />

minmin xi( k) − xj( k) + ξ max max xi( k) −xj(<br />

k)<br />

j k j k<br />

rij() k =<br />

xk () − xk () + ξ maxmax xk () −xk<br />

()<br />

i j i j<br />

j k<br />

Where rij(k) is the grey relational coefficient <strong>of</strong> the<br />

main-array and sub-array at time k; xi(k) is the mainarray;<br />

xj(k) is the sub-array and ξ the differentiation<br />

© 2010 ACADEMY PUBLISHER<br />

(1)<br />

coefficient, which is used to increase the most prominent<br />

differences between two arrays. Generally, the value is<br />

assumed to be 0.5. The second step is to calculate the<br />

grey relational degree between the main-array and subarray.<br />

It is defined as:<br />

n 1<br />

r r( x ( k), x ( k))<br />

= ∑ (2)<br />

ij i j<br />

n k = 1<br />

Where rij is the grey relational degree <strong>of</strong> sub-array j<br />

and main-array i; n is the length <strong>of</strong> the arrays.<br />

B. Synergic model<br />

The formation <strong>of</strong> urban agglomeration is the result <strong>of</strong><br />

nonlinear links among the elements <strong>of</strong> system, and its<br />

evolution results from their synergy, cooperation and<br />

competition. Therefore, there exists a relatively stable<br />

form in process <strong>of</strong> urban agglomeration, in which the<br />

form changes from the disorder state to orderly another.<br />

Besides, the process <strong>of</strong> urban agglomeration is also an<br />

interminable developing period with temporal-spatial<br />

structure on the whole. In order to reveal the inner<br />

mechanism and evolution causality, we develop a<br />

synergic model to analyze the nonlinear function and find<br />

out theirs quantitative relationship[20].<br />

If the dynamic system <strong>of</strong> urban agglomeration have n<br />

state variable, the x 1 , 2 x ,…, x m are the date sequences<br />

during 1-m. Because the variables have different units,<br />

they can not directly be applied for the synergic model<br />

formerly, and the variables have to be normalized.<br />

Supposed normalized variables<br />

(0)<br />

be x ()( t i = 1,2, L m)<br />

, and the corresponding<br />

i<br />

sequence after first accumulation is<br />

variation rate is<br />

(1)<br />

dxi () t<br />

dt<br />

(1)<br />

x i , thus the<br />

. The variation rate is<br />

determined by two aspects. The first aspect results from<br />

the inner synergic effects among the elements <strong>of</strong> system,<br />

and it is self-development result. If the self-development<br />

ax t , the restrain items is just<br />

(1) ()<br />

ii i<br />

items is<br />

(1) 2<br />

− bii ( xi ( t))<br />

. The second one lies in the exterior<br />

synergic effects among the subsystems, and it is so-called<br />

(1)<br />

the synergic function. If the synergic items is ax ij i () t ,<br />

(1) 2<br />

the restrain items is just − b ( x ( t))<br />

. Thus, the total<br />

variation rate<br />

dx<br />

(1)<br />

i<br />

ij i<br />

(1)<br />

xi () t can be expressed as follows:<br />

m<br />

(1) (1) 2 (1)<br />

ii i ( ii ij)( i ) ij j<br />

j<br />

ax b b x ax<br />

dt + =− + +∑ (3)<br />

If bii + bij = bi,<br />

we can get the following nonlinear<br />

equation:


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 127<br />

dx<br />

dt<br />

(1)<br />

i<br />

m<br />

(1) (1) 2 (1)<br />

ii i i i ij j<br />

j<br />

∑ (4)<br />

+ ax =− b( x ) + ax ( i≠ j)<br />

Because the evolution <strong>of</strong> system is from one critical<br />

point to another, the fluctuation is only a disturbance.<br />

Correspondingly, the stability mechanism <strong>of</strong> system<br />

always makes the fluctuation to decay or even disappear.<br />

Considering the synergic model <strong>of</strong> urban agglomeration<br />

that we build is to find out the dominant driving<br />

parameters, they can lead to formation and evolution <strong>of</strong><br />

urban agglomeration. In practical, we will give the<br />

parameters an important action to strengthen the synergic<br />

function between systems. Beside, the purpose <strong>of</strong> our<br />

work help the systems promote a higher orderly<br />

development and not forecast its trend when the system<br />

happens to change or transition. Therefore, we neglect the<br />

role <strong>of</strong> the fluctuation when we build model.<br />

The parameters aii, aij and bi are indicators, by which<br />

we measure the intensity <strong>of</strong> synergy and competitive<br />

among the elements. These parameters can be solved<br />

through using the nonlinear differential equations. To<br />

analyze the status equations <strong>of</strong> the model, we can found<br />

which is the positive relaxation coefficient among the<br />

state variables? And which is the negative relaxation<br />

coefficient in the status equation? When the state<br />

variables with the negative relaxation coefficient are<br />

eliminate with adiabatic approximation approach, the<br />

remained state variables are all the slow ones <strong>of</strong> this<br />

system, and they is so-called order parameter. On the<br />

other hand, we can also use numerical method, i.e.<br />

Runge-Kutta approach with four times differences, to<br />

gain the numerical solution <strong>of</strong> the equation, and then<br />

eliminate the rapid state variables <strong>of</strong> system by adiabatic<br />

approximation approach. At last, the remaining slow state<br />

variables are just the order parameters <strong>of</strong> system. Because<br />

the<br />

x t is obtained by first accumulation and<br />

(1) ()<br />

i<br />

normalization in the equation. After the numerical<br />

solution <strong>of</strong> the equation is reduced, the simulated values<br />

<strong>of</strong> state variables in line with synergic development <strong>of</strong><br />

urban agglomeration system can be obtained by Runge-<br />

Kutta approach, subsequently.<br />

C. Date collection<br />

Jiangxi province is located in Southeast China,<br />

bordering Fujian, Guangdong, Zhejiang, Hunan, Hubei<br />

and Anhui provinces. It represents about 1.8% <strong>of</strong> the<br />

surface <strong>of</strong> the P.R. <strong>of</strong> China and 3.5% <strong>of</strong> its population.<br />

In Jiangxi province, agricultural production dominates its<br />

economy. The share <strong>of</strong> agriculture in GDP was 17.93% in<br />

2005, i.e. 5.32% higher than the average level <strong>of</strong> the<br />

whole country. Its GDP per capita in 2006 was equal to<br />

9440.62 Yuan (US$8.19), i.e. 67.24% <strong>of</strong> the national<br />

average[21].<br />

The data <strong>of</strong> non-agricultural population and GDP <strong>of</strong><br />

provincial cities and the other major cities <strong>of</strong> central<br />

region origin from “China city statistical yearbook<br />

(2007)”which is drawn up by urban social-economic<br />

survey department <strong>of</strong> National statistics bureau[22]. The<br />

social-economic data <strong>of</strong> major cities <strong>of</strong> Jiangxi province<br />

© 2010 ACADEMY PUBLISHER<br />

origin from “Statistical yearbook <strong>of</strong> Jiangxi province<br />

(2007)”, which is edited by statistics bureau <strong>of</strong> Jiangxi<br />

province[23]. The distance between every city <strong>of</strong> Jiangxi<br />

province and the other cities is measured by mileage <strong>of</strong><br />

railway <strong>of</strong> National railway ministry, these data origin<br />

from http://qq.ip138.com/train/ , specially, when there is<br />

direct train between the two cities, we adopted their<br />

nearest distance. Taking into account that the<br />

considerable number <strong>of</strong> cities doesn’t have any direct<br />

train, we use the shortest distance <strong>of</strong> transit based on the<br />

accessibility.<br />

III. RESULT AND ANANLYSIS<br />

A. Factors analysis<br />

For the evolution <strong>of</strong> urban agglomeration is interaction<br />

process among variables, in order to find out their<br />

behavior characterize, we have to inspect the relationship<br />

between elements <strong>of</strong> urban agglomeration system.<br />

According to qualitative analysis, it can be found that the<br />

dominant driving force <strong>of</strong> formation and evolution <strong>of</strong><br />

urban agglomeration in Jiangxi province comes from six<br />

aspects, i.e. industrialization, migration and transferring<br />

<strong>of</strong> industries, foreign investment, pressure <strong>of</strong> competition<br />

in the central area, construction <strong>of</strong> traffic network and<br />

macro-control <strong>of</strong> government[24]. Because the<br />

relationship among the variable in the internal dynamic<br />

systems is relatively complex, and they are affected by<br />

some man-made policy, therefore, it is very difficult to<br />

directly quantify the action characteristics <strong>of</strong> urban<br />

agglomeration system. Thus, we can use the indirect<br />

variables to character the dynamic systems. First <strong>of</strong> all,<br />

we selected six variables as the original series during<br />

2000-2006. The six variables are respectively the rate <strong>of</strong><br />

industrialization, percentage <strong>of</strong> the tertiary industry in<br />

GDP, percentage <strong>of</strong> the actual utilized foreign investment<br />

in GDP, percentage <strong>of</strong> urban fixed asset investment in<br />

total fixed assets investment, the highway mileage on per<br />

unit area, and percentage <strong>of</strong> financial income in GDP<br />

(Table 1). We can use grey relative technique to calculate<br />

the grey relational degrees <strong>of</strong> the six variables, and<br />

then obtain cross table <strong>of</strong> the dynamic elements during<br />

2000-2006 in Jiangxi province (Table 2). Through grey<br />

relative analysis, we can have four results from table 2.<br />

The first result shows that the grey relative degrees are all<br />

above 0.45, which indicates the interactive intensity and<br />

the mutual constrains <strong>of</strong> the various elements in urban<br />

agglomeration are significant. The second result shows<br />

that the grey relative degrees <strong>of</strong> the variables are<br />

different, and they are not simple linear relative but<br />

relevant, non-uniform and irreversible, which indicates<br />

the system is complex. The third result shows that there is<br />

a higher grey relative degree between percentage <strong>of</strong> the<br />

actual utilized foreign investment in GDP and the other<br />

variables, which indicates that the ability <strong>of</strong> attract<br />

foreign investment is more important than that <strong>of</strong> other<br />

elements in process <strong>of</strong> urban agglomeration in Jiangxi<br />

province. At the same time, the rate <strong>of</strong> industrialization,<br />

percentage <strong>of</strong> the tertiary industry in GDP, percentage <strong>of</strong><br />

urban fixed asset investment in total fixed assets


128 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

investment, the highway mileage on per unit area and<br />

percentage <strong>of</strong> financial income in GDP pay an important<br />

role in the ability <strong>of</strong> attracting foreign investment. The<br />

last aspect shows that there exists a higher relationship<br />

between percentage <strong>of</strong> urban fixed asset investment in<br />

total fixed assets investment and the other variables,<br />

which indicates that the city construction investments<br />

have an important impact on the evolution <strong>of</strong> urban<br />

agglomeration. However, the rate <strong>of</strong> industrialization,<br />

percentage <strong>of</strong> the tertiary industry in GDP, financial<br />

income and the highway mileage on per unit area are also<br />

play a vital role in urban fixed asset investment.<br />

Table 1. The data <strong>of</strong> action characteristics <strong>of</strong> urban agglomeration during 2000-2006 in Jiangxi province,China<br />

items variables times<br />

2000 2001 2002 2003 2004 2005 2006<br />

The rate <strong>of</strong> industrialization (%)<br />

Percentage <strong>of</strong> the tertiary industry in GDP (%)<br />

Percentage <strong>of</strong> the actual utilized foreign investment in<br />

GDP (%)<br />

x1 x2<br />

x3<br />

27.2<br />

40.8<br />

1.021<br />

27.7<br />

40.6<br />

1.637<br />

28.7<br />

39.6<br />

3.993<br />

30.8<br />

37.2<br />

5.169<br />

33.0<br />

35.5<br />

5.344<br />

35.9<br />

34.8<br />

5.375<br />

38.7<br />

33.5<br />

5.408<br />

Percentage <strong>of</strong> urban fixed asset investment in total x4 84.4 84.6 85.1 85.8 86.4 87.7 88.5<br />

fixed assets investment (%)<br />

The highway mileage on per unit area(km/km 2 ) x 5 0.361 0.364 0.368 0.369 0.371 0.373 0.768<br />

Percentage <strong>of</strong> financial income in GDP (%) x6 0.01 0.01 0.01 0.01 0.01 0.01 0.01<br />

Table 2. The cross table <strong>of</strong> factors <strong>of</strong> urban agglomeration in Jiangxi province,China<br />

x 1 x 2 x 3 x 4 x 5 x 6<br />

x 1 1 0.66 0.65 0.76 0.59 0.62<br />

x 2 0.62 1 0.74 0.72 0.55 0.67<br />

x 3 0.65 0.77 1 0.64 0.67 0.90<br />

x4 0.71 0.75 0.60 1 0.58 0.65<br />

x5 0.56 0.57 0.64 0.57 1 0.72<br />

x 6 0.46 0.45 0.47 0.46 0.43 1<br />

B. Causality analysis<br />

Supposed that the rate <strong>of</strong> industrialization, percentage<br />

<strong>of</strong> the tertiary industry in GDP, percentage <strong>of</strong> the actual<br />

utilized foreign investment in GDP, percentage <strong>of</strong> urban<br />

fixed asset investment in total fixed assets investment, the<br />

highway mileage on per unit area and percentage <strong>of</strong><br />

financial income in GDP are the state variables in urban<br />

⎧dx<br />

⎪<br />

⎪<br />

dt<br />

⎪dx<br />

⎪<br />

dt<br />

⎪<br />

⎪dx<br />

⎪ dt<br />

⎨<br />

⎪dx4<br />

⎪ dt<br />

⎪<br />

⎪dx5<br />

⎪ dt<br />

⎪<br />

⎪dx6<br />

⎩⎪<br />

dt<br />

(1)<br />

1<br />

(1)<br />

2<br />

(1)<br />

3<br />

(1)<br />

(1)<br />

(1)<br />

agglomeration, respectively, and they can be denoted as<br />

x t ,<br />

(0)<br />

x2 () t ,,<br />

(0)<br />

x3 () t ,<br />

(0)<br />

x4 () t ,<br />

(0)<br />

x5 () t and<br />

x t . With the s<strong>of</strong>tware <strong>of</strong> MATLAB applied, we<br />

(0)<br />

1 ()<br />

(0)<br />

6 ()<br />

can get the parameters <strong>of</strong> system by using the synergic<br />

model. And then the parameters are put into Equa.(4), we<br />

can get the state equations <strong>of</strong> system:<br />

=− 0.5870x + 0.2503( x ( t)) + 0.3474x + 0.5219x + 0.4146x + 0.3292x + 0.4158x<br />

(1) (1) 2 (1) (1) (1) (1) (1)<br />

1 1 2 3 4 5 6<br />

= 0.3037x −0.7274x − 0.0529( x ) + 0.4679x + 0.5047x + 0.4053x + 0.3922x<br />

(1) (1) (1) 2 (1) (1) (1) (1)<br />

1 2 2 3 4 5 6<br />

=− 0.7287x + 0.3509x + 0.3726x + 0.0724( x ) + 0.4635x + 0.5064x + 0.4826x<br />

(1) (1) (1) (1) 2 (1) (1) (1)<br />

1 2 3 3 4 5 6<br />

= 0.3275x + 0.3062x + 0.2272x − 0.7271x + 0.0807( x ( t)) + 0.4627x + 0.5243x<br />

(1) (1) (1) (1) (1) 2 (1) (1)<br />

1 2 3 4 4 5 6<br />

= 0.4276x<br />

+ 0.3907x + 0.1278x + 0.4347x −0.5264x − 0.0902( x ( t)) +−0.3526x<br />

(1) (1) (1) (1) (1) (1) 2 (1)<br />

1 2 3 4 5 5 6<br />

=− 0.5264x + 0.3281x + 0.5071x + 0.2229x + 0.3281x + 0.3209x −0.4563(<br />

x ( t))<br />

(1) (1) (1) (1) (1) (1) (1) 2<br />

1 2 3 4 5 6 6<br />

Using Runge-Kutta approach with four times<br />

differences, we can get the numerical solution as the<br />

indicate<br />

(1)<br />

x% i ()( t i = 2, L ,6) . After the numerical<br />

solution <strong>of</strong> the equation is reduced, the simulated values<br />

% . Through<br />

<strong>of</strong> state variables can be got, i.e. (0) xi () t<br />

© 2010 ACADEMY PUBLISHER<br />

analyzing the state equations <strong>of</strong> this model, we can get<br />

some results. Firstly, except that the coefficients <strong>of</strong> the<br />

first state variable (the rate <strong>of</strong> industrialization), the third<br />

state variable (percentage <strong>of</strong> urban fixed asset investment<br />

in total fixed assets investment) and the fourth state<br />

variable (the highway mileage on per unit area) are<br />

(5)


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 129<br />

positive, the coefficients <strong>of</strong> other three variables<br />

including percentage <strong>of</strong> the tertiary industry in GDP,<br />

percentage <strong>of</strong> the actual utilized foreign investment in<br />

GDP and percentage <strong>of</strong> financial income in GDP are<br />

negative. Secondly, with the adiabatic approximation<br />

approach employed, we can eliminate the three state<br />

variables, and the remaining state variables which are the<br />

rate <strong>of</strong> industrialization, percentage <strong>of</strong> urban fixed asset<br />

investment in total fixed assets investment and the<br />

highway mileage on per unit area are just the slow state<br />

variables, which can be called order parameter. By<br />

contrasting the cumulative curve <strong>of</strong> initial values and that<br />

<strong>of</strong> forecasted values (Fig.1 and Fig.2), it can be seem that<br />

the simulated rule <strong>of</strong> dynamic evolution <strong>of</strong> urban<br />

agglomeration is consistent with the actual situation, so<br />

the model is success.<br />

The synergic model reveals that the dominant<br />

parameters <strong>of</strong> urban agglomeration in Jiangxi province<br />

are the rate <strong>of</strong> industrialization, percentage <strong>of</strong> urban fixed<br />

asset investment in total fixed assets investment and the<br />

highway mileage on per unit areas, which are key driving<br />

factor in formation and evolution <strong>of</strong> urban agglomeration.<br />

Therefore, the degree <strong>of</strong> industrialization, the competition<br />

ability <strong>of</strong> the central urban agglomeration and the<br />

construction <strong>of</strong> transport network play an important role<br />

in all driving factor. Therefore, we should pay more<br />

attention to the new industrialization for developing<br />

urban economics in the process <strong>of</strong> urban agglomeration.<br />

At the same time, the expenditure and maintenance funds<br />

in urban construction and the construction <strong>of</strong> transport<br />

network take a vital impact on developing <strong>of</strong> urban<br />

agglomeration in Jiangxi province. It is showed that<br />

urban construction and transport links are an important<br />

foundation for economic development. If there is no a<br />

guarantee for good urban environment in economic<br />

growth, the healthy economic development can not be<br />

achieved. Therefore, we should pay more attention to<br />

planning on the whole urban construction in practice, and<br />

raise funds for construction and accelerate the<br />

infrastructure <strong>of</strong> transports in Jiangxi province.<br />

x(0)<br />

3<br />

2. 5<br />

2<br />

1. 5<br />

1<br />

0. 5<br />

0<br />

x1 x2 x3 x4<br />

x5 x6<br />

1 2 3 4 5 6 7 t<br />

Figure 1. Cumulative curve <strong>of</strong> initial values<br />

© 2010 ACADEMY PUBLISHER<br />

x(0)/<br />

3<br />

2. 5<br />

2<br />

1. 5<br />

1<br />

0. 5<br />

0<br />

x1 x2 x3 x4<br />

x5 x6<br />

1 2 3 4 5 6 7 t<br />

Figure 2. Simulation curve <strong>of</strong> forecasted values<br />

IV. CONCLUSIONS<br />

There is still a lack <strong>of</strong> studies on the integrated urban<br />

agglomeration systems from the holistic region point <strong>of</strong><br />

view, thus we take Jiangxi province in China as a case,<br />

and use the grey relative technique to analyze the main<br />

factors <strong>of</strong> urban agglomeration evolution and use<br />

synergic method to build a nonlinear differential model<br />

that can reveal the causality in the process <strong>of</strong> urban<br />

agglomeration and get the parameters <strong>of</strong> system by<br />

simulation. The results by grey relative analysis shows<br />

that urban agglomeration system is an open and<br />

dissipative system, and it affected by many factors, which<br />

are not simple linear relative but relevant, non-uniform<br />

and irreversible. And the synergic model further reveals<br />

that the dominant parameter <strong>of</strong> urban agglomeration in<br />

Jiangxi province are the rate <strong>of</strong> industrialization,<br />

percentage <strong>of</strong> urban fixed asset investment in total fixed<br />

assets investment and the highway mileage on per unit<br />

area, which are key driving factor in formation and<br />

evolution <strong>of</strong> urban agglomeration. Therefore, the<br />

promoting <strong>of</strong> industrialization, the enhancing <strong>of</strong><br />

competitive ability <strong>of</strong> the central urban agglomeration<br />

and the boosting construction <strong>of</strong> transport network are<br />

vital in process <strong>of</strong> urban agglomeration.<br />

The studied result shows that the integrated model<br />

constituted <strong>of</strong> the grey relative technique, the synergic<br />

model and numerical analysis can to the degree reveal the<br />

evolution direction <strong>of</strong> urban agglomeration, and hold the<br />

internal mechanism <strong>of</strong> its formation and evolution.<br />

Therefore, the nonlinear systematical methods can be<br />

applied to analyze the mechanism <strong>of</strong> urban agglomeration<br />

development. As an applied research, when we use the<br />

other variables to describe the action characteristics in the<br />

dynamic systems, the method is simple but it can reflect<br />

the uncertainty and subjectivity. At the same time, only a<br />

series <strong>of</strong> assumptions is considered do we build the<br />

synergic model by nonlinear differential grey system<br />

when. Because the fluctuation is not considered, the<br />

universal practicability can not be ensured when it is<br />

applied. Therefore, we should amend the model in<br />

accordance with the specific issues in practice.<br />

ACKNOWLEDGEMENT<br />

This research was supported by funding from


130 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Provincial Education Department <strong>of</strong> Jiangxi (No.<br />

GJJ08014) and National Social Science Foundation <strong>of</strong><br />

China (NSSC) (No.07CJL031).<br />

REFERENCES<br />

[1] S.M. Yao, Y.M. Zhu, Z.G.Chen, The Urban<br />

Agglomerations <strong>of</strong> China, 3rd ed. Hefei: Science and<br />

Technology University <strong>of</strong> China Publishing House,2006,<br />

pp.23-28. (In Chinese)<br />

[2] W.A.Naude, W. F.Krugell, “Are South Africa's cities too<br />

small?” Cities, 2003,20(3),pp.175-180.<br />

[3] Y,Kanemoto, T.Kitagawa, H.Saito, et al., Estimating<br />

urban agglomeration economies for Japanese<br />

metropolitan areas: is Tokyo too large? Tokyo: Graduate<br />

School <strong>of</strong> Economics, University <strong>of</strong> Tokyo,2005,pp.45-<br />

48.<br />

[4] G. Qin, P.Y.Zhang, B.Jiao, “Formation mechanism and<br />

spatial pattern <strong>of</strong> urban agglomeration in central Jilin <strong>of</strong><br />

China”, Chinese Geographical Science,2006,<br />

16(2),pp.154-159.<br />

[5] P.Hall, The World Cities, 3rd eds. London: Weidenfeld<br />

and Nicolson, 1966, pp.124-128.<br />

[6] N.Thrift, “Globalization, regulation, urbanisation: the case<br />

<strong>of</strong> the Netherlands”, Urban Studies,1986,31, pp.365-380.<br />

[7] L.Sykora, “Changes in the internal spatial structure <strong>of</strong><br />

post-communist Prague”, Geographical <strong>Journal</strong>,1999, 49<br />

(1),pp. 79-89.<br />

[8] M.Ourdnicek, “Differential suburban development in<br />

Prague urban region”, Geografiska Annaler: Series B,<br />

Human Geography, 2007,89 (2),pp.111-126.<br />

[9] L.Sykora, and M.Ourednicek, “Sprawling postcommunist<br />

metropolis: commercial and residential suburbanization in<br />

Prague and Brno, the Czech Republic”, in Dust, M.,<br />

Razin, E. and Vozquez, C. (eds): Employment<br />

Deconcentration in European Metropolitan Areas:<br />

Market Forces versus Planning Regulations,<br />

Geographical <strong>Journal</strong> Library 91, New York: Springer,<br />

2007,pp. 209-233.<br />

[10] K.Leetmaa, and T.Tammaru,“Suburbanization in<br />

countries in transition: destinations <strong>of</strong> suburbanizer , s in<br />

the Tallinn metropolitan area”, Geografiska Annaler:<br />

Series B, Human Geography ,2007,89 (2), pp.127-146.<br />

[11] H.Kok, and Z.Kovacs, “The process <strong>of</strong> suburbanization in<br />

the agglomeration <strong>of</strong> Budapest”, Netherlands <strong>Journal</strong> <strong>of</strong><br />

Housing and Built Environment,1999, 14 (2), pp.119-141.<br />

[12] H.Nuissl, and D.Rink,”The production <strong>of</strong> urban sprawl in<br />

eastern Germany as a phenomenon <strong>of</strong> post-socialist<br />

transformation”, Cities,2005,22 (2),pp.123-134.<br />

[13] N.Pichler-Milanovi, “Ljubljana: from beloved city <strong>of</strong> the<br />

nation to Cenral European capital”, in Hamilton, F.E.I.,<br />

Dimitrowska, K. and Pichler-Milanovi, N. (eds):<br />

Transformation <strong>of</strong> Cities in Central and Eastern Europe:<br />

Towards Globalization, Tokyo: United Nations University<br />

Press, 2005, pp. 318–363.<br />

[14] U.Sailer-Fliege, “Characteristics <strong>of</strong> post-socialist urban<br />

transformation in East Central Europe”, Geo<strong>Journal</strong>, 1999,<br />

49 (1),pp.7-16.<br />

[15] T.Tammaru, “Suburbanization, employment change, and<br />

commuting in the Tallinn metropolitan area”,<br />

Environment and Planning A, 2005,37 (9), pp.1669-1687.<br />

[16] J.Timar, and M.Varadi, “The uneven development <strong>of</strong> suburbanization<br />

during transition in Hungary”, European<br />

Urban and Regional Studies,2001, 8 (4), pp.349-360.<br />

© 2010 ACADEMY PUBLISHER<br />

[17] I.Tosics, “Post-socialist Budapest: the invasion <strong>of</strong> market<br />

forces and the response <strong>of</strong> public leadership”, in<br />

Hamilton, F.E.I., Dimitrowska, K. and Pichler-Milanovi,<br />

N. (eds): Transformation <strong>of</strong> Cities in Central and Eastern<br />

Europe: Towards Globalization, Tokyo: United Nations<br />

University Press,2005, pp. 248–280.<br />

[18] X.F.Pan, “Urban construction and economic development<br />

<strong>of</strong> collaborative system through using the model <strong>of</strong> grey<br />

correlative analysis”, Science and Technology<br />

Management Research, 2005, 10, pp.43-45. (In Chinese)<br />

[19] L.Fu, Grey system theory and application, Beijing:<br />

Science and Technology Literature Publishing House ,<br />

1992,pp.212-216. (In Chinese)<br />

[20] K.X.Bi, H,Y.Wang “The Gray Cognate Analyzing and<br />

Model Structuring <strong>of</strong> Synergy Development System <strong>of</strong><br />

Universities Science Research and Subject Construction”,<br />

Systems Engineering-theory & Practice, ,2003,4, pp.140-<br />

143. (In Chinese)<br />

[21] State Statistical Bureau <strong>of</strong> China, China Statistical<br />

yearbook(2007), Beijing: China Statistical Press,<br />

2007,pp.243-246.<br />

[22] Urban social-economic survey department <strong>of</strong> National<br />

statistics bureau. China City Statistical yearbook(2007),<br />

Beijing: China Statistical Press, 2007,pp.142-126.<br />

[23] statistics bureau <strong>of</strong> Jiangxi province, Statistical yearbook<br />

<strong>of</strong> Jiangxi province (2007), Beijing: China Statistical<br />

Press, 2007,pp.67-69.<br />

[24] Y.B. Liu, W.J.Song, , L.Wan, “Formation <strong>of</strong> urban<br />

agglomeration and dynamic mechanism analysis in<br />

Jiangxi province”, Group <strong>of</strong> Economic Research, 2007,30,<br />

pp.28-29. (In Chinese)<br />

Yaobin Liu received an academic degree in Management<br />

Science and Engineer. His PhD was on urban management<br />

relation <strong>of</strong> function and development. He received his PhD<br />

(2005) from China University <strong>of</strong> Mining and Technology.<br />

Following two post-doctoral years at Huazhong University <strong>of</strong><br />

Science and Technology, he served on Research Center <strong>of</strong><br />

Central China Economic Development <strong>of</strong> Nanchang<br />

University until 2005. He initiated and led a number <strong>of</strong> projects<br />

with the urban agglomerations in the Central China since<br />

1999. It started with geography mapping, through several<br />

conservation development plans to a conservation master plan<br />

for the whole urban agglomeration. He developed a main<br />

interest in urban management and planning.<br />

Li Wan is currently a PhD candidate in the Research<br />

Center <strong>of</strong> Central China Economic Development <strong>of</strong><br />

Nanchang University. He received a BS in Management<br />

Science from Nanchang University and MS in Human<br />

Geography from Nanchang University. His research focuses on<br />

urban agglomeration assessment and strategic planning<br />

assessment (SEA), with special emphasis on applying<br />

management science principles into SEA on spatial plan. He<br />

had also been involved in several programs in urban functional<br />

planning and integrated urban agglomeration management<br />

when he worked as an assistant researcher in Urban Planning<br />

Center <strong>of</strong> Jiangxi university <strong>of</strong> Science and Technology in 2002<br />

and 2003.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 131<br />

Application <strong>of</strong> Improved Fuzzy Controller for<br />

Smart Structure<br />

Jingjun Zhang<br />

Department <strong>of</strong> Science Research, Hebei University <strong>of</strong> Engineering, Handan, China<br />

Email: santt88@163.com<br />

Liya Cao, Weize Yuan, 2 Ruizhen Gao, and Jingtao Li<br />

College <strong>of</strong> Civil Engineering, Hebei University <strong>of</strong> Engineering, Handan, China<br />

2 College <strong>of</strong> Mechanical and Electrical Engineering, Hebei University <strong>of</strong> Engineering, Handan, China<br />

Email: {yaer305@163.com, yuanweize520@126.com, 217taozi@163.com}<br />

Abstract—In order to reduce the vibration <strong>of</strong> smart<br />

structures, this paper gets the optimal location <strong>of</strong><br />

piezoelectric patch by the D-optimal design principle, and<br />

then uses the fuzzy logic to control the smart structures<br />

vibration. The fuzzy IF-THEN rules are established on<br />

analysis <strong>of</strong> the motion traits <strong>of</strong> cantilever beam. The fuzzy<br />

logic controller (FLC) designs base on using the<br />

displacement and velocity <strong>of</strong> the cantilever beams tips as<br />

the inputs, the control force on cantilever beams as the<br />

output. This new method improves calculation efficiency<br />

and reduces calculation complexity. Besides that, the paper<br />

establishes parameter self-adjustment factor in fuzzy<br />

controller by s-function to make the fuzzy logic control<br />

more effective. The simulation results with Matlab<br />

illustrate that the proposed method has a better control<br />

performance than existing methods.<br />

Index Terms—smart structures, optimal location, fuzzy IF-<br />

THEN rules, fuzzy logic controller, parameter selfadjustment,<br />

s-function<br />

I. INTRODUCTION<br />

In 1985 Bailey and et al. [1] performed experimental<br />

research on active vibration control using surface-bonded<br />

piezoelectric polymer actuators on a cantilevered beam.<br />

Their experiment has greatly inspired the active vibration<br />

control related field. Recently, much research has been<br />

developed in the field <strong>of</strong> smart materials and structures.<br />

Piezoelectric is a kind <strong>of</strong> smart material, due to the<br />

following two characteristics: the first is direct and<br />

inverse piezoelectric effects and the second is the ability<br />

to be used as the sensor or the actuator in active vibration<br />

control systems. Vibration control <strong>of</strong> smart structures is<br />

very important because <strong>of</strong> the lightly damped <strong>of</strong> the<br />

materials which were used. The placement <strong>of</strong><br />

piezoelectric patches plays an important role in the<br />

design procedure <strong>of</strong> the active structures. The researchers<br />

have focused on development <strong>of</strong> the optimal<br />

piezoelectric patch location. Guo and et al [2] presented<br />

a global optimization <strong>of</strong> sensor locations based on the<br />

damage detection method for structural health<br />

monitoring systems. Martin Kögl and et al [3] presented<br />

a novel approach to the design <strong>of</strong> piezoelectric plates and<br />

shell actuators using topology optimization. In this<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.131-138<br />

approach, the optimization problem consists <strong>of</strong><br />

distributing the piezoelectric actuators in such a way as<br />

to achieve a maximum output displacement in a given<br />

direction at a given point <strong>of</strong> the structure. Cao and et al<br />

[4] use the element sensitivities <strong>of</strong> singular values to<br />

identify optimal locations for actuators.<br />

There have been many performance criterion<br />

presented, such as controllability and observability <strong>of</strong><br />

control system measures, dissipation energy measures<br />

and system stability measures. However, in order to<br />

make use <strong>of</strong> the above-mentioned measures, a flexible<br />

structure state space equation should be modeled by the<br />

given location <strong>of</strong> piezoelectric patches. The D-optimal<br />

design principle is an optimization method presented by<br />

Bayard and et al [5] which suggests that the maximum<br />

determinant <strong>of</strong> Fisher Information Matrix Criteria is<br />

chosen as the optimization function and then simplified<br />

to determine an optimal principle for the best location for<br />

piezoelectric elements.<br />

In the regions <strong>of</strong> civil engineering and the spaceflight<br />

engineering, the structures always accompany with<br />

complicated kinetic characteristics and uncertain factors.<br />

On the other hand, a robot system is a highly nonlinear<br />

and heavily coupled mechanical system. The<br />

mathematical model <strong>of</strong> such system usually consists <strong>of</strong> a<br />

set <strong>of</strong> linear or nonlinear difference equations derived by<br />

using some form <strong>of</strong> approximation and simulation. In<br />

1983, Brown and Yao [6] used the fuzzy theory to the<br />

engineering structures at first time. In 1986, Juang and<br />

Elton [7] adopted fuzzy logic to estimate the density <strong>of</strong><br />

earthquake on the extent <strong>of</strong> damage for the constructions.<br />

Battaini [8] designed the fuzzy logic control about mass<br />

systems and experimented. Symans and Kelly [9] applied<br />

fuzzy logic control strategy to control the system <strong>of</strong><br />

control. Based on the virtues <strong>of</strong> fuzzy logic control,<br />

H.Park [10] established the approximate model <strong>of</strong> the<br />

driver, the sensor and the fuzzy logic controller to solve<br />

the problems <strong>of</strong> vibrations for flexible structure. The<br />

result indicated that the fuzzy logic control had the<br />

stronger robust and self-adaptive for the linear and nonlinear<br />

system. R.Y.Y.Lee [11] carried on the similar<br />

experiments <strong>of</strong> designing the ordinary fuzzy logic<br />

controller and self-buildup controller for the non-linear


132 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

piezoelectric driver. The simulated result showed that the<br />

fuzzy logic control has excellent suppression<br />

effectiveness on the vibration <strong>of</strong> non-linear flexible. This<br />

paper presents an optimization method using the Doptimal<br />

design principle simplified to determine an<br />

optimal principle for the best location <strong>of</strong> piezoelectric<br />

elements, and then designs a fuzzy logic controller to<br />

control the beam’s vibration. The simulation results<br />

show that this proposed method has more superiority<br />

than the others.<br />

II. MODELING AND THEORY<br />

In this section, we consider beam or plate type<br />

structures bonded with rectangular shaped piezoelectric<br />

sensors and actuators. The sensors and actuators are<br />

symmetrically collocated on both sides <strong>of</strong> the same<br />

position <strong>of</strong> the structure. The research <strong>of</strong> reference [12]<br />

is verified that the symmetrical collocation can avoid<br />

observation spillover and control spillover induced by<br />

modal truncation, and ensures the controlled system is<br />

minimum phase system. The finite element method can<br />

analyze the arbitrary geometry models and the<br />

anisotropic properties <strong>of</strong> the piezoelectric materials.<br />

Considering the piezoelectric effect, special finite<br />

elements with a degree <strong>of</strong> volts have been developed.<br />

These elements have become available in some<br />

commercial finite element s<strong>of</strong>tware such as ANSYS. In<br />

this paper, the solid45 3-d solid elements are used to<br />

model the host structures and the solid5 3-d solid<br />

elements are used to model the piezoelectric elements for<br />

analysis the low modals <strong>of</strong> flexible structure are<br />

extracted using ANSYS s<strong>of</strong>tware.<br />

III. D-OPTIMAL DESIGN PRINCIPLE<br />

2dy<br />

Actually, sensors are used to estimate state parameter.<br />

Based on the theory <strong>of</strong> mathematical statistics, the<br />

determinant <strong>of</strong> Fisher Information Matrix det(F) has<br />

inverse ratio to low bound <strong>of</strong> variance <strong>of</strong> parameter<br />

unbiased estimation. Due to the symmetrical collocation<br />

<strong>of</strong> the piezoelectric patches, if the locations <strong>of</strong> sensors<br />

have been confirmed, the actuators will be at the same<br />

locations as the sensors. For a lightly damped structure,<br />

the D-optimal design principle can be simplified to<br />

decouple the problems <strong>of</strong> placement <strong>of</strong> actuators/sensors<br />

and input control. The principle can be written as:<br />

max(det( F ))<br />

(1)<br />

m<br />

i k j<br />

n<br />

2dx<br />

Figure 1. Piezoelectric patch finite element<br />

© 2010 ACADEMY PUBLISHER<br />

M<br />

∑<br />

k=<br />

1<br />

Subject to m B ∈ β , } : { Bm = β β k = m<br />

where β is the location selection matrix; Bm is the set <strong>of</strong><br />

possible locations. The objective function can also be<br />

written as:<br />

N M<br />

T 2<br />

( γ k φi<br />

)<br />

S ( m)<br />

= max ∑ log( ∑ β ) (2)<br />

k<br />

β<br />

2<br />

i= 1 k = 1 ϕ k<br />

where N and M are the number <strong>of</strong> modals and the<br />

possible locations <strong>of</strong> sensors, m is the number <strong>of</strong> the<br />

sensors; β is composed <strong>of</strong> 0 and 1, if k<br />

β k = 1 , this<br />

denotes that a sensor is located on the location, in<br />

contrast, if β k = 0 , this denotes that the location has no<br />

a sensor; γ k is a vector coefficient related to kth<br />

location <strong>of</strong> sensor; φ i is a ith normalized mode shape<br />

vector; ϕ k is covariance <strong>of</strong> sensor signal noise, it can be<br />

defined as 1.<br />

The physical sense <strong>of</strong> (2) can be regard as finding the<br />

location <strong>of</strong> maximum charges or volt output. Therefore,<br />

T<br />

γ k φi<br />

is equivalent to the output charges <strong>of</strong> sensors. If<br />

we suppose that the sensor area is enough small relative<br />

compared to the beam (plate), the sensor charge can be<br />

written as<br />

q = D × A = A × ( Dx<br />

+ D y )<br />

(3)<br />

2<br />

∂ ω t p<br />

Dx<br />

= d31E<br />

peε<br />

x = d31E<br />

pe 2<br />

∂x<br />

2<br />

(4)<br />

2<br />

∂ ω t p<br />

D y = d 31E<br />

peε<br />

y = d 31E<br />

pe 2<br />

∂y<br />

2<br />

(5)<br />

Where Dx is the electric displacement generated by the x<br />

axis strain, Dy is the electric displacement generated by<br />

the y axis strain, and A is the area <strong>of</strong> sensor. For the<br />

beam structure, electric displacement is generated by<br />

unidirectional strain. d31 is the piezoelectric strain<br />

constant. Ep and t p are the Young modulus and the<br />

thickness <strong>of</strong> the piezoelectric patch. ω is the deflection<br />

<strong>of</strong> structure. Dimensions <strong>of</strong> the piezoelectric patch and<br />

the finite element are shown in Fig. 1.<br />

Based on second-order difference scheme, k<br />

x 2<br />

2<br />

∂ ω<br />

∂<br />

2<br />

∂ ω<br />

and k can be expressed as:<br />

(6)<br />

y 2<br />

∂<br />

2<br />

∂ ω 2 ω(<br />

i)<br />

+ ω(<br />

j)<br />

− 2ω(<br />

k)<br />

d<br />

2 k ≈ xω<br />

=<br />

2<br />

∂x<br />

( dx)


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 133<br />

2<br />

∂ ω 2 ω(<br />

m)<br />

+ ω(<br />

n)<br />

− 2ω(<br />

k)<br />

d 2 k ≈ yω<br />

=<br />

2<br />

∂y<br />

( dy)<br />

(7)<br />

Substitute (4) (5) (6) (7) into (3) to yield<br />

q = d31E<br />

pe Aλk<br />

(8)<br />

where<br />

t p ω(<br />

i)<br />

+ ω(<br />

k)<br />

− 2ω(<br />

j)<br />

ω(<br />

m)<br />

+ ω(<br />

n)<br />

− 2ω(<br />

j)<br />

λk<br />

= (<br />

+<br />

)<br />

2<br />

2<br />

2 ( dx)<br />

( dy)<br />

;<br />

The deflection <strong>of</strong> structureω can be expressed by mode<br />

shapeφ i<br />

N<br />

∑<br />

i=<br />

1<br />

ω = η φ<br />

(9)<br />

where η is ith modal generalized coordinate, substitute<br />

i<br />

N<br />

∑<br />

i=1<br />

T<br />

T<br />

(9) into (8), assuming γ φ = q , γ k can be written<br />

k<br />

as<br />

T<br />

γ k =<br />

1<br />

i<br />

η i Ad 31 E pe λ (10)<br />

k<br />

2<br />

where<br />

t i p 1<br />

λk<br />

= φi<br />

( [ 0K1<br />

2 i<br />

2 ( dx)<br />

− 2 k 1 j K0]<br />

+<br />

;<br />

1<br />

[ 0K1<br />

2 m<br />

( dy)<br />

− 2 k 1n<br />

K0])<br />

φ i is a ith normalized mode shape vector. Substitute (10)<br />

into (2), objective function can be simplified as:<br />

N<br />

i<br />

S ( m)<br />

= max ( η β λ )<br />

β<br />

i<br />

M<br />

∑∑<br />

i<br />

i=<br />

1 k = 1<br />

i<br />

i<br />

k<br />

k<br />

(11)<br />

Note (11), we conclude that the objective function is<br />

composed <strong>of</strong> all step <strong>of</strong> mode shapes with the<br />

coefficientη i .<br />

With the vibration generating force, the equation <strong>of</strong><br />

motion in modal coordinates can be written as:<br />

2 1<br />

& η&i ( t)<br />

+ 2ξ<br />

iω<br />

& iη<br />

i ( t)<br />

+ ω i η i ( t)<br />

= f ( t)<br />

M i<br />

(12)<br />

where η& & i , η& i andηi represent modal acceleration, velocity<br />

and displacement, respectively, ω i and ξ i are the<br />

natural frequency and damping ratio <strong>of</strong> the ith mode, due<br />

to flexible structure and absence <strong>of</strong> interior damping,<br />

ξ i = 0 .<br />

For a different force, every mode shape has a different<br />

proportion in the vibration <strong>of</strong> a structure. Assuming that<br />

the vibration generating force is taken as a unit impulse,<br />

structure vibrates according to the lower mode shape and<br />

the other mode shapes can be ignored. Assuming that the<br />

vibration generating force is taken as sine force with a<br />

frequency <strong>of</strong> θ, the vibration <strong>of</strong> structure has relation to<br />

© 2010 ACADEMY PUBLISHER<br />

the frequency <strong>of</strong> the force rather than uniquely according<br />

to one mode shape. For the above-mentioned, in order to<br />

develop the performance <strong>of</strong> the vibration, the adhered<br />

patches must control every mode shapes. So, the<br />

piezoelectric patches should be placed on the maximum<br />

<strong>of</strong> all the mode stains. Unitary mode stain can be written<br />

as:<br />

i i<br />

λ k = λk<br />

/ max( φi<br />

)<br />

(13)<br />

Integrating equation (13) and (11), a new objective<br />

function can be written as<br />

∑∑<br />

*<br />

i<br />

S ( m)<br />

= max ( β λ )<br />

β<br />

N<br />

M<br />

i=<br />

1 k=<br />

1<br />

(14)<br />

Accordingly, the performance criterion <strong>of</strong> the sensor<br />

locations can be obtained using mode shapes <strong>of</strong><br />

structures.<br />

IV. FUZZY LOGIC CONTROLLER<br />

A. Modeling the piezoelectric structure with the finite<br />

element<br />

The piezoelectric material is PVDF <strong>of</strong> β . It lays on<br />

the above and below surfaces that acting as the<br />

piezoelectric sensors and actuators respectively. The<br />

sensor and actuator are symmetrically collocated on the<br />

structure in the same position. Considering the coupling<br />

effect, the equations which use the limit element could<br />

be written as:<br />

M u&<br />

& ( t)<br />

+ Cu&<br />

( t)<br />

+ Ku(<br />

t)<br />

= F + U (15)<br />

Where M, K and C is the whole mass, the whole<br />

stiffness, the whole damping respective, while u (t)<br />

、<br />

u& (t)<br />

、 u& & (t)<br />

is the displacement, velocity and<br />

acceleration, F is the external force ; U is the force<br />

produced by the piezoelectricity. In the process <strong>of</strong><br />

modeling, the influence <strong>of</strong> the force which produces by<br />

on account <strong>of</strong> the piezoelectric material is neglected. So<br />

the model is approximate. The figure <strong>of</strong> the active<br />

vibration control <strong>of</strong> intelligent structure is shown in<br />

Fig.2.<br />

Figure 2. Active <strong>of</strong> vibration piezoelectric structure<br />

k<br />

k


134 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

B. Modeling the relation <strong>of</strong> fuzzy logic control<br />

The field <strong>of</strong> fuzzy system and control has been making<br />

a big progress motivated by the practical success in<br />

industrial process control. Fuzzy systems can be used in<br />

as closed-loop controllers. In this case the fuzzy system<br />

measures the outputs <strong>of</strong> the process and takes control<br />

actions on the process continuously. The fuzzy logic<br />

controller uses a form <strong>of</strong> quantification <strong>of</strong> imprecise<br />

information (input fuzzy sets) to generate by an inference<br />

scheme, which is based on a knowledge base <strong>of</strong> control<br />

force to be applied on the system.<br />

The advantage <strong>of</strong> this quantification is that the fuzzy<br />

sets can be represented by a unique linguistic expression<br />

such as small, medium, and large etc. The linguistic<br />

representation <strong>of</strong> a fuzzy set is known as a term, and a<br />

collection <strong>of</strong> such terms defines a term-set, or library <strong>of</strong><br />

fuzzy sets. Fuzzy control converts a linguistic control<br />

strategy usually based on expert knowledge into an<br />

automation control strategy. There are three functions<br />

required to be performed by fuzzy logic controller before<br />

the controller can generate the desired output signals.<br />

The first step is to fuzzify each input. This can be<br />

realized by associating each input with a set <strong>of</strong> fuzzy<br />

variables. In order to give semantics <strong>of</strong> a fuzzy variable a<br />

numerical sense, a membership function is assigned with<br />

each variable. The logical controller is made <strong>of</strong> four<br />

main components: (1) Fuzzifier; (2) Knowledge base<br />

containing fuzzy IF-THEN rules and membership<br />

functions; (3) Fuzzy reasoning; and (4) Defuzzifer<br />

interface [13, 14].<br />

In this paper, fuzzy logic controller is designed as the<br />

double-input, single-out (DISO) system: The inputs are<br />

the displacement and the velocity <strong>of</strong> the tip <strong>of</strong> cantilever<br />

beams, and the output is the control force on cantilever<br />

beams. In this fuzzifier, the displacement is defined from<br />

-5 to 5(-5,-4,-3,-2,-1,0, 1,2,3,4,5),the velocity is defined<br />

from -2 to 2(-2,-1,0, 1,2),the control force is defined<br />

from -7 to 7 (-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7). Two<br />

types <strong>of</strong> membership functions commonly adopted in<br />

fuzzy logic control are triangle and trapezoidal shape.<br />

We use these two type membership functions. In this<br />

paper, compared with other methods, the method <strong>of</strong><br />

Mom was more effective. Accordingly, in this paper, a<br />

way <strong>of</strong> establish fuzzy system is proposed as following:<br />

(1) At first, the scope <strong>of</strong> the displacement and the<br />

velocity are the maximal response <strong>of</strong> when received step<br />

response.<br />

(2) Plot the scopes <strong>of</strong> displacement’s and the force <strong>of</strong><br />

control’s out NB,NM,NS,ZO,PS,PM,PB; Then plot the<br />

scopes <strong>of</strong> velocity ’s out N and P.<br />

(3) According to the fuzzy rule <strong>of</strong> L.A.Zadeh’s[15], we<br />

get the process <strong>of</strong> fuzzy illation.<br />

At last, we use the way <strong>of</strong> Mom method to calculate in<br />

order to obtain the result.<br />

C. The rule <strong>of</strong> fuzzy control and the fuzzy controller<br />

The fuzzy rule shows the fuzzy relation between the<br />

input and output. The inputs and output are connected<br />

with this relationship. In this paper, the displacement <strong>of</strong><br />

the tip <strong>of</strong> cantilever beam is chosen for the one input, the<br />

© 2010 ACADEMY PUBLISHER<br />

velocity is the other. In tradition method, the inputs<br />

usually are the velocity and the rate <strong>of</strong> the velocity. In<br />

this way, the time <strong>of</strong> calculation has been improved.<br />

Figure 3. The basic configuration <strong>of</strong> the fuzzy system<br />

Basing on the control rules, the signal is translated to<br />

the driver. The function <strong>of</strong> fuzzy logic controller is<br />

making the inputs fuzz up. In other words, it is the fuzzy<br />

control that executes the process <strong>of</strong> fuzzed. The fuzzy<br />

control’s basis was the rule database which was<br />

composed <strong>of</strong> several rules. The final purpose <strong>of</strong> the fuzzy<br />

logic controller was to make the fuzzy rule come true,<br />

Fig. 3. The method <strong>of</strong> control vibration is minimized the<br />

response <strong>of</strong> displacement <strong>of</strong> cantilever beam.<br />

The function <strong>of</strong> the fuzzy logic controller is to provide<br />

a force to prevent the vibration <strong>of</strong> the beam. On analysis<br />

<strong>of</strong> the motion traits <strong>of</strong> cantilever beam, the rules were<br />

obtained as fellows:<br />

(1) If the displacement is PS and the velocity is PB, the<br />

tip <strong>of</strong> beam is up far from <strong>of</strong> equilibrium positionH. So it<br />

needs to add the downwardH force <strong>of</strong> NB and makes the<br />

tip <strong>of</strong> beam close to the reference valuesH.<br />

(2) If the displacement is PB and the velocity is PS, the<br />

tip <strong>of</strong> beam is upward to the maximum displacementH. So<br />

it needs to add the downwardH force <strong>of</strong> NS and make the<br />

tip <strong>of</strong> beam close to the reference valuesH.<br />

(3) If the displacement is PB and the velocity is NS, the<br />

tip <strong>of</strong> beam is downward close to the equilibrium<br />

positionH. Adding the downwardH force <strong>of</strong> NS is required<br />

and makes the tip <strong>of</strong> beam close to the reference valuesH.<br />

(4) If the displacement is PS and the velocity is NB, the<br />

tip <strong>of</strong> beam is downward close to the equilibrium<br />

positionH. Adding the downwardH force <strong>of</strong> NB is required<br />

and makes the tip <strong>of</strong> beam close to the reference valuesH.<br />

(5) If the displacement is NS and the velocity was NB.<br />

The tip <strong>of</strong> beam is down far from <strong>of</strong> equilibrium positionH.<br />

The upwardH force <strong>of</strong> PB should be added and makes the<br />

end <strong>of</strong> beam close to the reference valuesH.<br />

(6) If the displacement is NB and the velocity was NS.<br />

The tip <strong>of</strong> beam is downward to the maximum<br />

displacementH. The upwardH force <strong>of</strong> PS should be added<br />

and makes the end <strong>of</strong> beam close to the reference valuesH.<br />

(7) If the displacement is NB and the velocity is PS, the<br />

tip <strong>of</strong> beam is upward close to the equilibrium positionH.<br />

Making the tip <strong>of</strong> beam close to the reference valuesH<br />

could be obtained by adding the P upwardH force.<br />

(8) If the displacement is NS and the velocity is PB, the<br />

tip <strong>of</strong> beam is upward to the maximum displacementH.<br />

Making the tip <strong>of</strong> beam close to the reference valuesH<br />

could be obtained by adding the PB upwardH force.<br />

Fuzzy IF-THEN rule base is obtained by the analysis,<br />

the author <strong>of</strong> this study, with many trial-and-errors.<br />

(Table I). Fuzzy IF-THEN rule is the center <strong>of</strong> control


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 135<br />

system. The fuzzy rule base is not invariable, it could be<br />

modify in practice. The system <strong>of</strong> fuzzy logic control is<br />

in Fig. 4.<br />

TABLE I.<br />

FUZZY IF-THEN RULE BASE<br />

NB<br />

NM<br />

Figure 4. The system <strong>of</strong> fuzzy logic control<br />

V. PARAMETER SELF-ADJUSTMENT<br />

Base on the fuzzy logic control system, with big<br />

weighting coefficient to be used against bad errors, and<br />

small weighting coefficient <strong>of</strong> change rate to be used for<br />

slight errors. The principle <strong>of</strong> establish the parameter<br />

self-adjustment is using the different parameter selfadjustment<br />

factor to implement the fuzzy control rules.<br />

In this paper, the effective means <strong>of</strong> designing fuzzy<br />

logic controller with fuzzy logic toolbox <strong>of</strong> Matlab is<br />

introduced. Self-parameter is realized by compiling sfunction.<br />

The organic combination <strong>of</strong> Matlab and<br />

Simulink makes the design and simulation <strong>of</strong> parameter<br />

self-adjustment fuzzy logic control system be easily and<br />

effectively. These show the means is easy and elastic. It<br />

can promote working efficiency <strong>of</strong> designers. The sfunction<br />

is used to adjust the parameter because the<br />

blocks in Matlab are not enough. The source programmer<br />

<strong>of</strong> s-function is:<br />

function[sys,x0,str,ts]=fpids(t,x,u,flag,m,AH,AL,Escope,<br />

ECscope,Uscope)<br />

ke=m/Escope;<br />

kc=m/ECscope;<br />

ku=Uscope/m;<br />

switch flag,<br />

case 0,<br />

[sys,x0,str,ts]=mdlInitializeSizes(ke,kc,ku,m,AH,AL,<br />

Escope,ECscope,Uscope);<br />

case 3,<br />

sys=mdlOutputs(t,x,u,ke,kc,ku,m,AH,AL,Escope,<br />

ECscope,Uscope);<br />

case {1,2,4,9}<br />

NS<br />

NO<br />

PS<br />

PM<br />

NB ZO PM PB ZO NB NM ZO<br />

NS PS PM ZO ZO ZO NM NS<br />

ZO ZO ZO ZO ZO ZO ZO ZO<br />

PS PS PM ZO ZO ZO NM NS<br />

PB ZO PM PB ZO NB NM ZO<br />

© 2010 ACADEMY PUBLISHER<br />

PB<br />

sys=[];<br />

otherwise<br />

error({'Unhandled flag=',num2str(flag)});<br />

end<br />

function[sys,x0,str,ts]=mdlInitializeSizes(ke,kc,ku,m,AH,<br />

AL,Escope,ECscope,Uscope)<br />

sys=[0,0,1,2,0,0,0];<br />

function[sys]=mdlOutputs(t,x,u,ke,kc,ku,m,AH,AL,<br />

Escope,ECscope,Uscope)<br />

if u(1)>=Escope<br />

u(1)=Escope;<br />

end<br />

if u(1)=Escope<br />

u(2)=Escope;<br />

end<br />

if u(2)Uscope<br />

result=Uscope;<br />

end<br />

if result


136 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

position response <strong>of</strong> the smart structure system with<br />

fuzzy logic control is shown in Fig.11. Fuzzy Logic<br />

Controllers is designed to control nonlinear vibration <strong>of</strong> a<br />

smart structure and the effects <strong>of</strong> the controllers over the<br />

system are examined. Fuzzy logic controller using in<br />

such system which has nonlinear vibrations gives a good<br />

result as tip position control <strong>of</strong> a smart structure. Settling<br />

time <strong>of</strong> system is approximately 9s, and the displacement<br />

<strong>of</strong> the tip beam is decreased from3.5mm to 2mm, so this<br />

method has practical value in preventing vibration <strong>of</strong><br />

displacement. According to these results, suitable<br />

performance <strong>of</strong> fuzzy logic controller is determined for<br />

tip position control <strong>of</strong> a smart structure system. The<br />

fuzzy logic controller designed is established properly<br />

and this new controller can be used for such kind <strong>of</strong><br />

system.<br />

Length<br />

(mm)<br />

strain quantity <strong>of</strong> the modal<br />

Figure 5. Configurations <strong>of</strong> the cantilevered plate<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

Width<br />

(mm)<br />

TABLE II.<br />

AMETER OF THE BEAM<br />

Thickness<br />

(mm)<br />

Density<br />

Kg/m3<br />

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39<br />

number <strong>of</strong> t he nodes<br />

Figure 6. The strain quantity <strong>of</strong> the node<br />

Flexibility<br />

modulusH(Pa)<br />

350 25 4 2900 6.8e+10<br />

TABLE III.<br />

THE PARAMETER OF THE PIEZOELECTIC PATCHES<br />

Length Width Thickness Density Flexibility<br />

(mm) (mm) (mm) Kg/m3 modulusH(Pa)<br />

35 25 1 8300 3.8e+9<br />

………………<br />

1 3 ………………<br />

© 2010 ACADEMY PUBLISHER<br />

39<br />

Figure 7. The fuzzy logic control system<br />

Figure 8. Rule viewer<br />

Figure 9. Control surface <strong>of</strong> Mom


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 137<br />

Figure 10. Tip position response <strong>of</strong> the beam<br />

Figure 11. Tip position response <strong>of</strong> the beam with fuzzy logic<br />

controller<br />

According to the result in Fig. 10, the system has an<br />

obvious oscillation phenomenon at the time <strong>of</strong> 4s. In<br />

order to avoid this phenomenon, we use parameter selfadjustment<br />

which is compiled by s-function to improve<br />

the control effect. Where m is 6, AH is 0.8, AL is 0.2,<br />

Escope is 0.005, ECscope is 0.1, Uscope is 0.008. The<br />

result was shown in Fig. 12. Settling time <strong>of</strong> system is<br />

approximately 8s; the displacement <strong>of</strong> the tip beam is<br />

decreased from 0.2mm to 0.043mm. In addition, this<br />

parameter self-adjustment method eliminates the<br />

oscillation phenomenon basically.<br />

© 2010 ACADEMY PUBLISHER<br />

Figure 12. Tip position response <strong>of</strong> the beam with fuzzy logic<br />

controller<br />

VII. CONCLUSION<br />

This new fuzzy logic controller which designs in this<br />

paper improves calculation efficiency and reduces<br />

calculation complexity. More importantly, it has the<br />

obvious effect to reduce the displacement <strong>of</strong> the beams<br />

tips. Besides that, this paper uses a new method to design<br />

a fuzzy logic controller and compiles parameter selfadjustment<br />

factor with s-function. The simulation results<br />

show that this new fuzzy logic control has more<br />

superiority than the ordinary’s, the performance is<br />

satisfactory.<br />

ACKNOWLEDGMENT<br />

This work was financially supported by Natural<br />

Science Foundation <strong>of</strong> Hebei Province under Grant<br />

No.E2008000731, and Scientific Research Project <strong>of</strong><br />

Education Department <strong>of</strong> Hebei Province under Grant<br />

No.2006107.<br />

REFERENCES<br />

[1] Bailey, T. and Hubbard, J. E., 1985, Distributed<br />

piezoelectric polymer active vibration control <strong>of</strong> a<br />

cantilever beam, AIAA J. Guidance, Control Dynam, 8:<br />

605-11.<br />

[2] Guo, H. Y. Zhang, L. L. and Zhou, J. X., 2004, Optimal<br />

placement <strong>of</strong> sensors for structural health monitoring<br />

using improved genetic algorithms, Smart Materials and<br />

Structure, 13:528-534.<br />

[3] Martin Kögl and Emílio, C. N., Silva, 2004, Topology<br />

optimization <strong>of</strong> smart structures: design <strong>of</strong> piezoelectric<br />

plate and shell actuators, Smart Materials and Structure,<br />

14:387-399.<br />

[4] Zongjie Cao, Bangchun Wen and Guangwei Meng, 2000,<br />

Topological optimization <strong>of</strong> placements <strong>of</strong> piezoelectric<br />

actuator <strong>of</strong> intelligent structure, <strong>Journal</strong> <strong>of</strong> Northeastern<br />

University (Natural Science), 21(4): 383-385.


138 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

[5] Bayard D. S., Hadaegh, F. Y. and Meldrum, D. R., 1988,<br />

Optimal experiment design for identification <strong>of</strong> large<br />

space structures, Automatica, 24(3): 357-364.<br />

[6] Brown C.B., Yao J.T.P. (1983). “Fuzzy sets and Structural<br />

Engineering”. <strong>Journal</strong> <strong>of</strong> Structural Engineering, ASCE,<br />

No. 109, pp.1211-1225.<br />

[7] Juang C., Elton D.J. (1986). “Fuzzy Logic for Estimation<br />

<strong>of</strong> Earthquake”. Intensity Based on Building Damage<br />

Record Civil Engineering System. No.3, pp.187-197.<br />

[8] Battaini M., Casciati F., Faravelli L. (1998) “Fuzzy<br />

Control <strong>of</strong> Structural Vibration. An Active Mass System<br />

Driven by a Fuzzy controller”. Earthquake Engineering<br />

and Structural Dynamics, No.27, pp.1267-1276.<br />

[9] Symans M.D. and Kelly A.S. (1999). “Fuzzy Logic<br />

Control <strong>of</strong> Bridge Structures Using Intelligent Semi<br />

Active Seismic Isolation Systems”. Earthquake<br />

Engng.Struct.Dyn,vol.28, pp.37-60.<br />

[10] Park H., R.Agarwal, K.Nho (2000). “Fuzzy Logic Control<br />

<strong>of</strong> Structure Vibration <strong>of</strong> Beams”. Aerospace Aerospace<br />

Sciences Meeting and Exhibit, A IAA-0172.<br />

[11] Lee R.Y.Y., Abdel-Motagaly K., Mei C. (1998). “Fuzzy<br />

Logic Control for Nonlinear Free Vibration <strong>of</strong> Composite<br />

Plates with Piezoactuators”. CAIAA, pp. 20-23.<br />

[12] Ding Wenjing, 1994, Current main topics on active<br />

vibration control, Advances in mechanics 24(2): 173-180.<br />

[13] L. Faravelli, T. Yao, Use <strong>of</strong> Adaptive Networks in Fuzzy<br />

<strong>of</strong> Civil Structures, Micricimput, Cilvil ENG. 11:67-<br />

76,1996.<br />

[14] J.Yen, R. Langari. Fuzzy Logic-Intelligence Control and<br />

Information. Prentice Hall, Englewood Cliffs, NJ, 1998.<br />

[15] Zadeh L.A. (1965). “Fuzzy set”. Informat. Control, vol. 8,<br />

pp. 338-353.<br />

Jingjun Zhang, Male, born in Yucheng City, Henan<br />

Province, in 1963. Received his B.Sc. degree in Engineering<br />

Mechanics from Lanzhou University, Lanzhou, China, in 1985,<br />

and the M.Sc. and PhD degrees in Mechanics from Jilin<br />

University, Changchun, China, in 1993 and 1996 respectively.<br />

He is currently a Pr<strong>of</strong>essor in the College <strong>of</strong> Civil<br />

Engineering, Hebei University <strong>of</strong> Engineering, Handan, China.<br />

He is also the Chief <strong>of</strong> Department <strong>of</strong> Science Research in<br />

Hebei University <strong>of</strong> Engineering, China. His research interests<br />

include the area <strong>of</strong> flexible spacecraft structural control using<br />

smart structure technologies and piezoelectric materials. He has<br />

also developed research programs in attitude control <strong>of</strong> flexible<br />

spacecraft, smart structures, and space robotics. Recently, he is<br />

conducting research in spacecraft attitude dynamics, structural<br />

dynamics, spacecraft testing and optimization design. More<br />

than 70 papers have been published in academic journals in<br />

domestic and abroad.<br />

Pr<strong>of</strong>. Zhang is an Associate Fellow <strong>of</strong> the <strong>Journal</strong> <strong>of</strong> China<br />

Coal Society.<br />

Liya Cao, Female, born in Handan City, Hebei Province,<br />

in 1982. She is currently a graduate student in the College <strong>of</strong><br />

Civil Engineering, Hebei University <strong>of</strong> Engineering, Handan,<br />

China. Her main research interests focus on intelligent structure<br />

and the active vibration control with fuzzy logic.<br />

Weize Yuan, Male, born in Baoding City, Hebei Province,<br />

in 1981. Received his B.Sc. degree in College <strong>of</strong> Civil<br />

Engineering from Hebei University <strong>of</strong> Engineering, Handan,<br />

China, in 2006. He is currently a graduate student in the<br />

College <strong>of</strong> Civil Engineering, Hebei University <strong>of</strong> Engineering,<br />

Handan, China. His main research interests focus on the<br />

© 2010 ACADEMY PUBLISHER<br />

problem <strong>of</strong> obtaining the piezoelectric actuator’s optimal<br />

location and size <strong>of</strong> the smart structure.<br />

Ruizhen Gao, Male, born in Baoding City, Hebei<br />

Province, in 1979. Received his B.Sc. degree in College<br />

<strong>of</strong> Civil Engineering from Hebei University <strong>of</strong><br />

Engineering, Handan, China, in 2005. He is currently a<br />

teacher in the College <strong>of</strong> Mechanical and Electrical<br />

Engineering, Hebei University <strong>of</strong> Engineering, Handan,<br />

China. His main research interests focus on GA Genetic<br />

Algorithm.<br />

Jingtao Li, Male, born in Shijiazhuang City, Hebei<br />

Province, in 1981. Received his B.Sc. degree in College<br />

<strong>of</strong> Natural Science from Hebei University <strong>of</strong> Engineering,<br />

Handan, China, in 2005. He is currently a graduate<br />

student in the College <strong>of</strong> Civil Engineering, Hebei<br />

University <strong>of</strong> Engineering, Handan, China. His main<br />

research interests focus on topological optimization.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 139<br />

Numerical Simulation <strong>of</strong> Snow Drifting Disaster<br />

on Embankment Project<br />

Shouyun Liang, Xiangxian Ma and Haifeng Zhang<br />

Key Laboratory <strong>of</strong> Mechanics on Disaster and Environment in Western China (Lanzhou University) /Ministry <strong>of</strong><br />

Education, Lanzhou, P. R. China<br />

Email: liangsy@lzu.edu.cn, maxxan04@lzu.cn, hai_feng2008@yahoo.com.cn<br />

Abstract—Snow drifting is a typical natural disaster, and an<br />

increasing importance has been attached to its theory<br />

research and field observation for the sake <strong>of</strong> cold region<br />

engineering. Numerical simulation, as an efficient method<br />

<strong>of</strong> studying snow drifting, promises to be widely applied in<br />

this field. In this paper, the finite element method is used to<br />

simulate the wind velocity field. Selected upwind,<br />

downwind and middle part <strong>of</strong> a road as key comparison<br />

points, a quantitative analysis constructed <strong>of</strong> the influence<br />

<strong>of</strong> subgrade width, height and slope ratio on the wind<br />

velocity <strong>of</strong> embankment. The results showed that, under<br />

certain circumstances, the velocity <strong>of</strong> snow drifting<br />

demonstrated different function types <strong>of</strong> increase with the<br />

height and slope ratio <strong>of</strong> subgrade enhancing, and the<br />

influence <strong>of</strong> the height is greater than the slop ratio <strong>of</strong><br />

subgrade, while the velocity <strong>of</strong> wind decreases with the<br />

width <strong>of</strong> subgrade increasing; the numerical values<br />

approximately agreed with the field observed results, but<br />

the numerical simulation is more sensitive to various forms<br />

<strong>of</strong> embankment. The numerical results can <strong>of</strong>fer references<br />

for engineering construction when the region in which wind<br />

velocity is slower than the threshold velocity as snowpack<br />

area.<br />

Index Terms — embankment project, snow drifting<br />

disaster, numerical simulation, ANSY<br />

I. INTRODUCTION<br />

Snow drifting is a typical natural disaster. The<br />

frequent occurrence <strong>of</strong> snow drifting has directly brought<br />

serious loss to industrial and agricultural production and<br />

people’s life and property, baffling sight, blocking<br />

traffic, breaking electricity, leading industry and<br />

agriculture to go out <strong>of</strong> production and other hazards [1].<br />

Therefore, an increasing importance has been attached to<br />

its theory research and field observation [2]. Sato et al.<br />

have brought forward turbulence model and other<br />

theories based on Eurler view and multiphase flow and<br />

Prandtl mixed length; Liston et al. have applied simple<br />

k-ε turbulence model to simulate accumulation process<br />

<strong>of</strong> snow according to the way in which the control unit is<br />

filled in by the information <strong>of</strong> the transporting capacities<br />

<strong>of</strong> particles <strong>of</strong> snow. In the study <strong>of</strong> road snow drifting<br />

disaster, foreign scholars mainly employ CFD to<br />

simulate the influence <strong>of</strong> snow fence on snow drifting<br />

Manuscript received January 23, 2009; revised February 4, 2009;<br />

accepted February 20, 2009.<br />

Corresponding author, E-mail: liangsy@lzu.edu.cn<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.139-143<br />

distribution, and by taking account <strong>of</strong> suspension and<br />

saltation analyze the law <strong>of</strong> flow field transformation and<br />

snow distribution [3]. By using FLOW-3D, Thordarson<br />

[4] has simulated distribution and change <strong>of</strong> volume <strong>of</strong><br />

the snow near road flow field and within the unit, and<br />

thereby simulated the movement <strong>of</strong> snow drifting. Xi and<br />

Ying et al. [5-6] have by employing bilateral flow theory<br />

simulated the flow field <strong>of</strong> snow drifting disaster through<br />

FLUENT s<strong>of</strong>tware, and concluded the qualitative change<br />

<strong>of</strong> different subgrade flow field. Hu et al. [7] has applied<br />

ANSYS s<strong>of</strong>tware to simulate the change <strong>of</strong> wind velocity<br />

field in order to discuss the impact <strong>of</strong> snow-sand<br />

blockings on subgrade snow, and thereby put forward<br />

sound setting and form <strong>of</strong> snow-sand blockings. Among<br />

these informed simulation research <strong>of</strong> snow drifting,<br />

there exists a lack <strong>of</strong> a qualitative study <strong>of</strong> the impact <strong>of</strong><br />

blockings on flow field, and there runs short <strong>of</strong><br />

considering the relation between engineering structures<br />

and snow drifting disasters. Taking the embankment<br />

project for example, the author <strong>of</strong> this paper has<br />

simulated its variation <strong>of</strong> wind velocity field through<br />

ANSYS, deeply analyzed every factor <strong>of</strong> embankment<br />

sections with different models, the quantitative<br />

relationship <strong>of</strong> wind velocity field, and the combined<br />

effects <strong>of</strong> each factor on wind velocity field, and<br />

achieved the objective <strong>of</strong> indirectly reflecting the<br />

graveness <strong>of</strong> snow drifting disasters.<br />

II. MODEL DESIGN<br />

According to related theory <strong>of</strong> aerodynamics, there<br />

existed a certain degree <strong>of</strong> relevance between<br />

accumulated snow and wind speed, furthermore,<br />

particles <strong>of</strong> snow bore a better following performance,<br />

therefore, the author has drew on the variation <strong>of</strong> wind<br />

velocity field to reflect indirectly the change <strong>of</strong> snow. A<br />

simulation experiment has constructed based on Fortran<br />

CFD <strong>of</strong> ANSYS, by adopting simple algorithm, N-S<br />

equation and k-e model [8-10]. And this conception has<br />

been proved feasible by the contrast <strong>of</strong> wind velocity<br />

field observations (Feb, 29th 2008) <strong>of</strong> Jinghe-yining (JY)<br />

railway embankment section (DK176+848) under<br />

construction with its simulation values (Fig.1). Besides,<br />

some simulation conditions <strong>of</strong> embankment sections<br />

have been given by referring to standards concerning<br />

railway and civil engineering techniques (Table I).<br />

Seeing that the wind vertical with road surface influences<br />

accumulated snow the most, the author has only taken<br />

account <strong>of</strong> the condition when the wind is vertical with


140 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

road surface, leaving out account <strong>of</strong> the condition when<br />

the wind is oblique crossing and horizontal.<br />

Figure 1. Comparison <strong>of</strong> wind speed <strong>of</strong> simulation and field<br />

measured <strong>of</strong> JY railway embankment section<br />

(DK176+848.555)<br />

Condi-<br />

tion<br />

1<br />

TABLE I.<br />

PARAMETERS BASED ON SIMULATION<br />

Embankment<br />

Width (m)<br />

9, 12, 15, 18,<br />

24.5<br />

2 9<br />

Embankment<br />

height (m)<br />

Slope<br />

ratio<br />

III. ANALYSES OF SIMULATION RESULTS<br />

Velocity<br />

(m/s)<br />

4 1:1.5 9.4<br />

2, 4, 8, 12,<br />

13, 14, 15,<br />

16, 17<br />

3 9 4<br />

1:1.5 9.4<br />

1:1,<br />

1:1.25,<br />

1:1.5,<br />

1:1.75<br />

A. Impact <strong>of</strong> embankment width on wind velocity field<br />

For subgrade with different width, their wind velocity<br />

fields are similar, in both <strong>of</strong> which wind velocity <strong>of</strong> the<br />

area with a certain distance to the foot <strong>of</strong> upwind slope is<br />

blocked, and thus declines drastically. The wind velocity<br />

reaches its minimum at the foot <strong>of</strong> the upwind slope,<br />

with airflow subsequently climbing the slope it increases<br />

to its maximum at the shoulder, and it reduces slightly in<br />

between, and then increases again at the shoulder <strong>of</strong><br />

downwind slope (Fig. 2). The wind velocity <strong>of</strong> the area<br />

one meter from the foot <strong>of</strong> the downwind slope reduces<br />

almost to zero, thereafter a whirlpool comes into being,<br />

and wind velocity declines more or less, and then it<br />

would retrieve its former speed. Fig. 3 illustrates varied<br />

wind velocity (0.5 m above the surface) <strong>of</strong> road surface<br />

<strong>of</strong> different subgrade width, based on the key points <strong>of</strong><br />

shoulder <strong>of</strong> upwind slope, in between, and shoulder <strong>of</strong><br />

downwind slope. Regression analysis showed that the<br />

wind velocity <strong>of</strong> subgrade represents different function<br />

changes with the increase <strong>of</strong> subgrade width at the three<br />

points:<br />

At shoulder <strong>of</strong> upwind slope:<br />

V= -0.1114w +16.228 (R² = 0.9903) (1)<br />

In between:<br />

V = 0.0021w 2 -0.0906w+14.134<br />

(R² = 0.9907) (2)<br />

At shoulder <strong>of</strong> downwind slope:<br />

V = 0.0052w 2 -0.2199w+12.261<br />

(R² = 0.9926) (3)<br />

© 2010 ACADEMY PUBLISHER<br />

9.4<br />

Figure 2. The contour <strong>of</strong> velocity with different embankment<br />

width (fig A-D: 9 m,12 m,15 m,24.5 m)


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 141<br />

Figure 3. The relationship between changes <strong>of</strong> subgrade width<br />

and wind speed <strong>of</strong> road ( 0.5 m above pavement)<br />

B. Impact <strong>of</strong> embankment height on wind velocity field<br />

For subgrade with different height, their wind velocity<br />

field bears similarity, and even resembles with wind<br />

velocity field <strong>of</strong> subgrade with different width (Fig.4).<br />

Fig. 5 illustrates varied wind velocity (0.5 m above the<br />

surface) <strong>of</strong> road surface <strong>of</strong> different subgrade height,<br />

based on the key points <strong>of</strong> shoulder <strong>of</strong> upwind slope, in<br />

between, and shoulder <strong>of</strong> downwind slope. Regression<br />

analysis represented that the wind velocity <strong>of</strong> subgrade<br />

first increases and then decreases with the increase <strong>of</strong><br />

subgrade height at the three points. With the 15 m being<br />

the dividing line, when the height is less than 15 m, the<br />

wind velocity has good relativity to quadratic curves.<br />

The law presents itself as follows:<br />

At shoulder <strong>of</strong> upwind slope:<br />

V = -0.0522 h 2 +1.58127 h +10.52638<br />

(R² = 0.9581) (4)<br />

In between:<br />

V=-0.0439h 2 +1.1205h+7.1518<br />

(R² = 0.9843) (5)<br />

At shoulder <strong>of</strong> downwind slope:<br />

V = -0.042h 2 +1.4331h+9.1942<br />

(R² = 0.9994) (6)<br />

When the height is more than 15 m, wind velocity<br />

begins to decline, first considerably and then gradually.<br />

The relativity <strong>of</strong> fitting curve reduces.<br />

V = -0.0886h 2 +2.2006h+7.2217<br />

(R² = 0.7877) (7)<br />

V = -0.0731h 2 +1.7991h+5.2242<br />

(R² = 0.7495) (8)<br />

V = -0.1013h 2 +2.5052h+8.0499<br />

(R² = 0.7913) (9)<br />

C. Impact <strong>of</strong> slope ratio on wind velocity field<br />

For subgrade with different slope ratio, the wind<br />

velocity fields distribute generally similar to above<br />

mentioned two situations (Fig. 6). Fig. 7 illustrates the<br />

wind velocity (0.5 m above the surface) <strong>of</strong> road surface<br />

with different slope ratio. We can see that, the wind<br />

velocity represents a linear decrease with the increase <strong>of</strong><br />

slope ratio at the three points, in which the variation <strong>of</strong><br />

© 2010 ACADEMY PUBLISHER<br />

wind velocity at shoulder <strong>of</strong> upwind slope can be<br />

formulated as:<br />

Figure 4. The contour <strong>of</strong> velocity with different height <strong>of</strong> road<br />

(fig A-D: 2 m, 8 m, 15 m, 16 m)


142 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Figure 5. The relationship between changes <strong>of</strong> subgrade height<br />

and wind speed <strong>of</strong> road (0.5 m above pavement)<br />

V=-105.89tanα 3 +235.44tanα 2 -167.33tanα+52.271<br />

(R² = 1) (10)<br />

D. Comprehensive Analysis<br />

In order to simultaneously study the combined effects<br />

<strong>of</strong> subgrade width, height, and slope ratio on wind<br />

velocity field <strong>of</strong> road surface, the author has adopted<br />

linear regression to calculate correlation coefficient <strong>of</strong><br />

each factor with SPSS under a confidence level <strong>of</strong> 0.95.<br />

At shoulder <strong>of</strong> upwind slope:<br />

V=-0.089w+1.034h+3.795 tanα+8.557 (11)<br />

In between:<br />

V=-0.052w+2.101h+2.875tanα+10.007 (12)<br />

At shoulder <strong>of</strong> downwind slope:<br />

V=-0.117w+3.24h+4.018tanα+5.34 (13)<br />

From the formulation, we can see the wind velocity is<br />

negatively related to the subgrade width, positively<br />

related to the other two factors. All taking into<br />

consideration, the impact <strong>of</strong> subgrade height on wind<br />

velocity field is much more significant than that <strong>of</strong> the<br />

slope ratio.<br />

IV. CONCLUSION AND DISCUSSION<br />

Though embankment project just serves as a relatively<br />

ideal subgrade model for snow drifting disaster, we still<br />

can gain constructive knowledge from above research<br />

with regard to the relation between subgrade model and<br />

snow drifting disaster:<br />

(1) With subgrade width increasing, the wind velocity<br />

<strong>of</strong> road declines in different functions: it changes the<br />

most drastically at the shoulder <strong>of</strong> upwind slope; next is<br />

at the shoulder <strong>of</strong> downwind slope; the last is the<br />

between part. For this reason any increasing or<br />

decreasing <strong>of</strong> subgrade width is not a significant factor<br />

leading to snow disaster on road. With subgrade height<br />

and slope ratio increasing, the wind velocity <strong>of</strong> road<br />

increases in different functions. However, the impact <strong>of</strong><br />

subgrade height on wind velocity field is far bigger than<br />

that <strong>of</strong> slope ratio, yet when subgrade height is more<br />

than15 m. the wind velocity <strong>of</strong> road reduces instead. This<br />

dividing line <strong>of</strong> 15 m coincides with that <strong>of</strong> h=15.1 m in<br />

© 2010 ACADEMY PUBLISHER<br />

Wang’s (2001) wind tunnel experiment [1]. Thus, there<br />

exists an appropriate subgrade height from the<br />

perspective <strong>of</strong> snow on road.<br />

Figure 6. The contour <strong>of</strong> velocity with different slope <strong>of</strong> ratio(fig<br />

A-D: 1:1,1:1.25,1:1.5,1:1.75)


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 143<br />

Figure 7. The relationship between changes <strong>of</strong> slope ratio<br />

and wind speed <strong>of</strong> road (0.5 m above pavement)<br />

pavement)<br />

(2) The conception <strong>of</strong> considering sugrade width in<br />

this simulation research has consulted relevant railway<br />

and civil engineering standards, so a study <strong>of</strong> its wind<br />

velocity field can provide some guidance to practical<br />

practice. Comparison shows that the simulated values<br />

agree well with the observations. The simulated values<br />

seem more sensitive to the change <strong>of</strong> subgrade design<br />

parameters, whereas the observations would be<br />

frequently affected by the wild weather, terrain and other<br />

factors. This renders the system more complicated. If we<br />

regard the area in which wind speed is less than the<br />

starting speed in the figure <strong>of</strong> simulated wind velocity<br />

field as snow area, this research can <strong>of</strong>fer references for<br />

prevention and control <strong>of</strong> snow drifting disaster in<br />

engineering aspect.<br />

(3) This research is based only on three representative<br />

points <strong>of</strong> a road and the wind speed <strong>of</strong> 0.5 m above the<br />

road, therefore, the investigation <strong>of</strong> wind velocity<br />

variation on a road remains to be carried further in depth<br />

by taking more data on points and heights, improving the<br />

precision and depth <strong>of</strong> research.<br />

© 2010 ACADEMY PUBLISHER<br />

ACKNOWLEDGMENT<br />

We are grateful to X. Wang, Y. Yin, X. Chang and Z.<br />

Shao for their technical support in the field experiment.<br />

We thank T. Wang for his valuable discussions and<br />

suggestions. This work was supported by a grant from<br />

China Railway First Survey and Design Institute Group<br />

Ltd.<br />

REFERENCES<br />

[1] Z. Wang, “Research on snow drift and its hazard control<br />

engineering in china,” Lanzhou University Press, May.<br />

2001. (in Chinese)<br />

[2] L. Zhang, “Research on Snowdrifts and Snow Disaster<br />

Simulation Technology <strong>of</strong> road,” Jilin University<br />

Postgraduate Dissertations, Jun. 2005. (in Chinese)<br />

[3] S. Alhajraf. “Computation fluid dynamic modelling <strong>of</strong><br />

drifting particles at porous fences,” Environmental<br />

Modelling & S<strong>of</strong>tware, vol.19, No.2, Feb. 2004, pp.<br />

163-170.<br />

[4] S. Thordarson, H. Norem, “Simulation <strong>of</strong> two-dimensional<br />

wind flow and snow drifting application for roads: part I,”<br />

Snow Engineering, vol.7, No.4, Jun. 2004, pp. 246-265.<br />

[5] L. Ying, J. Li, X. Zhang, J. Xi, “Study on numerical<br />

simulation for snow fence height,” <strong>Journal</strong> <strong>of</strong> Changchun<br />

University <strong>of</strong> Science and Technology, vol.29, No.3, Sep.<br />

2006, pp. 54-57. (in Chinese)<br />

[6] J. Xi, J.Li, G. Zhu, G. Zhang, “Hydrom echaical<br />

mechanism <strong>of</strong> road snow drift deposit and its depth<br />

model,” <strong>Journal</strong> <strong>of</strong> Jilin University (Engineering and<br />

Technology Edition), vol.36, No. supp.2, Sep. 2006, pp.<br />

152-156. (in Chinese)<br />

[7] P. Hu, C. Zheng, “The anslysis on the wind speed field <strong>of</strong><br />

the snow protection facilities and sand control facilities,”<br />

<strong>Journal</strong> <strong>of</strong> Chongqing Jiaotong University (Natural<br />

Sciences), vol.24, No.3, Jun. 2005, pp. 63-68. (in Chinese)<br />

[8] R. Essery, L. Long, J. Pomeroy, “A distributed model <strong>of</strong><br />

blowing snow over complex terrain,” Hydrological<br />

Processes, vol.13, No.2, Feb. 2004, pp. 2423-2438.<br />

[9] P. Bartelt, M, Lehning, “A physical SNOWPACK model<br />

for the Swiss avalanche warning Part I: Numerical<br />

model,” Cold Regions Science and Technology, vol.35,<br />

No.3, Nov. 2002, pp. 123-145.<br />

[10] J. Judith, M. Lehning, A. Vrouwe, “Field measurements <strong>of</strong><br />

SNOW-DRIFT threshold and mass fluxes, and related<br />

model simulations,” Boundary-Layer Meteorology,<br />

vol.113, No.8, Apr. 2004, pp. 347-368.


144 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

The Simulation <strong>of</strong> Extraterrestrial Solar Radiation<br />

Based on SOTER in Zhangpu Sample Plot and<br />

Fujian Province<br />

Zhi-qiang Chen<br />

College <strong>of</strong> Geographical Sciences, Fujian Normal University, Fuzhou, China<br />

soiltuqiang061@163.com<br />

Jian-fei Chen<br />

School <strong>of</strong> Geographical Sciences, Guangzhou University, Guangzhou, China<br />

cjf@gzhu.edu.cn<br />

Abstract—The study establishes DEMs and the computer<br />

models <strong>of</strong> daily extraterrestrial radiation in Zhangpu<br />

sample plot and Fujian province and annually<br />

extraterrestrial radiation in Fujian province using GIS base<br />

on SOTER. The results indicate that the daily<br />

extraterrestrial radiation is mainly 17-18MJ/m 2 in Zhangpu,<br />

the one is mainly 14-18MJ/m 2 and the annually<br />

extraterrestrial radiation is mainly 5000~7000MJ/m 2 in<br />

Fujian province. The influence <strong>of</strong> topographic feature is<br />

significant, in general the solar radiation in the chine is<br />

bigger than the one in the valley, and the one in the sunny<br />

slope is bigger than in the shady slope, the high radiation<br />

value appears primarily in the sunny slope with the chine as<br />

demarcation line. The method can extract daily and<br />

annually extraterrestrial radiation with high precision and<br />

speediness at small and moderate scales which don’t take<br />

cloud into consideration. The orientation <strong>of</strong> future research<br />

is to improve precision by RS images and combine with<br />

SOTER.<br />

Index Terms—DEM, GIS, solar radiation model, Zhangpu<br />

sample plot, Fujian province<br />

I. INTRODUCTION<br />

Solar radiation is the main energy <strong>of</strong> physical,<br />

biological and chemical processes on earth surface, is the<br />

necessary parameter in many models [1-3]. In the study <strong>of</strong><br />

resource and environment in regional spatial scope, local<br />

terrain impact is enormous and must be considered [2].<br />

Because <strong>of</strong> the complexity <strong>of</strong> computer models <strong>of</strong><br />

extraterrestrial solar radiation considering terrain<br />

conditions, difficulty <strong>of</strong> terrain parameters acquisition and<br />

lack <strong>of</strong> appropriate calculation platforms, for a long time,<br />

it is neglected or simplified [1, 4]. GIS has provided the<br />

strong technical support for these work [2, 5]. Solar<br />

energy study and solar energy heat utilization are usually<br />

conducted in clear-day and extraterrestrial solar radiation<br />

models have broad scope [6], so the study took<br />

Manuscript received Febuary 1, 2009; revised Febuary 15, 2009;<br />

accepted March 15, 2009.<br />

Corresponding author: Jian-fei Chen<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.144-149<br />

extraterrestrial solar radiation as object, took ArcGIS as<br />

platform in an experimental plot <strong>of</strong> Zhangpu sample plot<br />

as small scale and Fujian province as moderate scale,<br />

calculated the solar radiation spatial distribution law<br />

caused by hypsography under the same solar radiation in<br />

the complex topographic area <strong>of</strong> the subtropical zone and<br />

the model’s applicability at small and moderate scales.<br />

The results can provide important information for solar<br />

radiation spatial-temporal distribution in the small and<br />

moderate areas, agricultural regionalization, effective<br />

utilization <strong>of</strong> solar energy and precision agriculture [1].<br />

II. STUDY AREA<br />

The study area is located in the northeast <strong>of</strong> Zhangpu<br />

county in Fujian province at 24°10′ ~ 24°15′N and<br />

117°48′~118°00′E including Futan, Maping, Qianting<br />

and part <strong>of</strong> Baizhuhu farm, is about 8236 hm 2 . Annual<br />

mean temperature is about 21℃ and annual precipitation<br />

is about 900mm, it’s clear in dry and humid season;<br />

coastal plains, platform and hill appear in turn from the<br />

sea to the land;there is no big river with weak run<strong>of</strong>f<br />

regulation and poor hydrological condition; because <strong>of</strong><br />

the long term artificial activity, the original vegetation<br />

has been destroyed and the secondary vegetation is<br />

dominated by grass with thin forest; the stratigraphies<br />

include Neogene Fotan Group, fluvial or marine or<br />

Aeolian or proluvial deposits <strong>of</strong> Pleistocene and<br />

Holocene in Quaternary, intrusive rock is early<br />

Yanshanian biotite granite, Neogene Fotan Group is<br />

basalt; the major soil types may be divided into the<br />

following six orders: Ferrisols, Vertisols, Camblsols,<br />

Ferralosols, Entisols and Anthrosols [7].<br />

Fujian province lies between 23°32′ and 28°22′ <strong>of</strong><br />

north latitude with a area <strong>of</strong> 121,400 km 2 , is located on<br />

the southeastern coast <strong>of</strong> China characterized by<br />

subtropical climate, complicated landforms and multiple<br />

mountainous and hilly terrains which account for 87.5%<br />

<strong>of</strong> the total area <strong>of</strong> the province, leaving the remaining<br />

10% for plains. It is always called the “Mountainous


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 145<br />

Region <strong>of</strong> Southeast” with complex natural conditions. It<br />

appears middle subtropical climate in the north mountain<br />

and south subtropical climate in the south coast areas.<br />

The annual mean temperature is around 15-21℃ and the<br />

accumulated temperature (≥10℃) is 5500-7500℃, the<br />

annual precipitation is around 1000-2000 mm and<br />

increases gradually from the southeast coast towards the<br />

northwest inland. The predominant natural vegetations<br />

are the south subtropical monsoon rain forest and the<br />

evergreen broad-leaved forest. Fujian has a history <strong>of</strong><br />

over 3000 years and its long term agro-economic<br />

activities have brought about many types <strong>of</strong> land<br />

utilization, among which that <strong>of</strong> forest land accounts for<br />

66.8%, that <strong>of</strong> cultivated land 12.7%, that <strong>of</strong> garden plots,<br />

3.8%, herbage land 0.1%, water areas 4.4%, construction<br />

sites 3.1%, idle land 9.1% [8].<br />

III. METHODS<br />

A. Basic Astronomical Parameters<br />

The method comes from the reference [9] in the<br />

paper. Some basic parameters should be established when<br />

calculating solar radiation somewhere on the earth<br />

including solar altitudinal angle, solar aspect angle, solar<br />

declination, sunrise & sunset time and so on [9, 10].<br />

Eo=1.000109+0.03349cosθ+0.001472sinθ+0.000768co<br />

s2θ+0.000079sin2θ (1)<br />

Where Eo is the earth orbit correction factor, θ is day<br />

angle, θ = 2πt / 365.2422, t = N-No, N is number <strong>of</strong> day,<br />

that is date's sequence number in a year, No = 79.6764 +<br />

0.2422 * (year-1985) - INT((year - 1985)/4).<br />

Declination is the angle distance from the celestial<br />

equator to the sun along right ascension circle in<br />

equatorial coordinate system, it is positive when the sun is<br />

in the north <strong>of</strong> the equator and on the contrary it is<br />

negative, ranging from 0 to ±23.44. Hour angle describes<br />

the sun’s movement in 24h, it is 0 at noon by local real<br />

solar time, positive in the morning and negative in the<br />

afternoon, 15 degrees per hour. Their calculation formulae<br />

respectively are:<br />

δ = 0.006894 - 0.399512cosθ + 0.072075sinθ -<br />

0.006799cos2θ + 0.00089sin2θ (2)<br />

ω = (So + Fo/60 - 12) * 15° (3)<br />

ω1 = arcos(- tanδ * tanψ) (4)<br />

ω2 = - ω1 (5)<br />

Where δ is declination, ω is hour angle, So and Fo are<br />

hour and minute by real solar time, ω1 is sunset hour<br />

angle, ω2 is sunrise hour angle.<br />

Solar altitudinal angle is the angle between solar ray<br />

and horizontal surface, solar aspect angle is the angle<br />

between projection <strong>of</strong> solar ray on horizontal surface and<br />

local meridian, due north is 0 degree. They are influenced<br />

by latitude, declination and hour angle. The calculation<br />

formulae are:<br />

H = arcsin(sinδsinψ + cosδcosψcosω) (6)<br />

A = arccos[(sinhsinψ - sinδ)/coshcosψ] (7)<br />

© 2010 ACADEMY PUBLISHER<br />

Where H is solar altitudinal angle, A is solar aspect<br />

angle, ψ is latitude.<br />

B. Terrain Feature Calculation<br />

When solar altitudinal angle and solar aspect angle are<br />

decided, slope, aspect and terrain shield are the important<br />

factors calculating extraterrestrial solar radiation<br />

especially in mountain area. Terrain shield means that:<br />

comparing the biggest horizon angle and corresponding<br />

solar altitudinal angle within a certain solar aspect angle<br />

range, if the former is bigger than solar altitudinal angle,<br />

solar radiation is 0 in shadow range or else solar radiation<br />

should be calculated. When GIS was not mature, slope,<br />

aspect and terrain shield were calculated using manual<br />

methods or complex algorithms. With the development <strong>of</strong><br />

GIS technology, most <strong>of</strong> GIS s<strong>of</strong>tware have the extraction<br />

function <strong>of</strong> terrain feature such as DRIVE SLOPE,<br />

DRIVE ASPECT and HILLSHADE in ArcGIS;<br />

contribute to the calculation <strong>of</strong> influence <strong>of</strong> terrain on<br />

solar radiation [1].<br />

C. Extraterrestrial Solar Radiation Model<br />

The solar radiation received somewhere on the earth is<br />

influenced by many factors such as terrain (elevation,<br />

slope, aspect, shadowing), soil, vegetation and weather<br />

conditions (atmospheric turbidity, cloud amount) and so<br />

on. Because <strong>of</strong> objective conditions, slope, aspect and<br />

elevation only were considered in the paper. The actual<br />

solar radiation can be calculated using revised formulae if<br />

there are more detailed ground data and weather<br />

conditions data [2]. The extraterrestrial solar radiation<br />

formula is:<br />

n<br />

W = IoTEo / 2π * ∑ [µsinδ(ωr,j - ωs,j) + νcosδ(sinωr,j<br />

i= 1<br />

-sinωs,j) - sinαsinβcosδ(cosωr, j- cosωs,j)] (8)<br />

Where Io is solar constant, T is day length, n is azimuth<br />

division number, empirical value is 36, ωr,j and ωs,j are<br />

sunrise and sunset hour angles at every differential period<br />

respectively, α is slope, β is aspect.<br />

µ = sinψcosα - cosψsinαcosβ (9)<br />

ν = sinψsinαcosβ + cosψcosα (10)<br />

Annually extraterrestrial radiation can be obtained by<br />

adding daily extraterrestrial radiation in a year.<br />

VI. EXTRATERRESTRIAL SOLAR RADIATION<br />

SIMULATIONS<br />

DEM is the basis <strong>of</strong> terrain basic feature parameters<br />

such as elevation, slope and aspect and so on. The scanned<br />

1:10000 contour maps in Zhangpu and 1:250000 contour<br />

maps in Fujian province to get DEM come from Soil and<br />

terrain digital database (SOTER). SOTER is a cross or<br />

edge database and can manage attribute database, spatial<br />

database and models better [11]. SOTER is one <strong>of</strong> the<br />

global databases [12]. The International Society <strong>of</strong> Soil<br />

Science (ISSS) has developed a methodology for SOTER<br />

since 1986 whose main objective is to establish a<br />

computerized database storing attributes on topography,


146 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

soils, climate, vegetation and land use/cover, which is<br />

linked to a Geographic Information System (GIS),<br />

whereby each type <strong>of</strong> information or combination <strong>of</strong><br />

attributes can be displayed as a separate map or overlay,<br />

or in tabular form. The database can be used for improved<br />

mapping and monitoring <strong>of</strong> changes in world soils and<br />

terrain resources, and for the development <strong>of</strong> an<br />

information system capable <strong>of</strong> delivering accurate, useful<br />

and timely information to decision-makers and<br />

policy-makers [13]. The SOTER has been carried out in<br />

many countries and areas including China, Argentina,<br />

Brazil, Cuba, Mexico, Uruguay, Venezuela, Hungary in<br />

many fields such as soil erosion, land evaluation, soil<br />

fertility, food security and so on with powerful function<br />

and advantages [14-18].<br />

The scanned maps in Zhangpu and Fujian province<br />

were digitized whose contour distances are 5m and 50m<br />

respectively. DEM resolution should be set to generate<br />

DEM using contour maps. Based on Z.L. Li’s study, the<br />

relationship between DEM resolution and contour<br />

distance on contour maps is:<br />

D = K * Ci * cosα (11)<br />

Where Ci is contour distance, α is average slope, K is<br />

constant (it is between 1.5 and 2.0 taking terrain feature<br />

into account otherwise it is between 1.0 and 1.5), D is<br />

DEM resolution. Because terrain feature is <strong>of</strong>ten ignored<br />

in DEM application, according to the formula above,<br />

DEM accuracy is equal to the one <strong>of</strong> 1:10000 contour map<br />

if DEM resolution is between 7 m and 42 m. The DEM<br />

resolutions in Zhangpu and in Fujian province were set to<br />

15m and 100m respectively [10]. The digital slope model<br />

and digital aspect model can be acquired after DEM<br />

establishment, at the same time the following indicators<br />

can be calculated: sunrise and sunset angles, discrete<br />

number <strong>of</strong> available sunshine angle, sunrise and sunset<br />

hour angles and the ones at every differential period,<br />

corresponding solar altitudinal angle and solar aspect<br />

angle. The extraterrestrial solar radiation can be derived<br />

by substituting all these indicators into the formulae in<br />

Zhangpu sample plot and Fujian province.<br />

Percentage <strong>of</strong> the Total Area(%)<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

© 2010 ACADEMY PUBLISHER<br />

0<br />

Simulation date was March 21, 2008 that was spring<br />

equinox. The sun's meridian altitude was h = 90 – ψ + δ at<br />

noon, sunshine time was about 12 hours, the daily<br />

extraterrestrial solar radiation was calculated using DEM<br />

according to the formula, that was the digital solar<br />

radiation grid model corresponding to DEM. The daily<br />

extraterrestrial solar radiation is mainly in 17-18MJ/m 2 in<br />

Zhangpu (Fig 1 and Fig 2) and 16-18MJ/m 2 in Fujian<br />

province (Fig 3 and Fig 5). Simulation year was 2008 and<br />

the annually extraterrestrial solar radiation was calculated<br />

which is mainly in 5000~6000MJ/m 2 and 6000~7000<br />

MJ/m 2 with the minimum 1101.4 MJ/m 2 and the<br />

maximum 6366.6MJ/m 2 in Fujian province (Fig 4 and Fig<br />

6).<br />

There is significant difference in spatial distribution<br />

diversity <strong>of</strong> the daily extraterrestrial solar radiation in<br />

Zhangpu sample plot and Fujian province and annually<br />

extraterrestrial solar radiation in Fujian province with<br />

strong spatial autocorrelation from the different<br />

geographical locations. In general the solar radiation value<br />

in the chine is bigger than the one in the valley, and the<br />

one in the sunny slope is bigger than in the shady slope.<br />

The high radiation value appears primarily in the sunny<br />

slope with the chine as demarcation line.<br />

Figure1. Spatial distribution <strong>of</strong> daily extraterrestrial solar radiation<br />

in Zhangpu.<br />

0-14 14-15 15-16 16-17 17-18 18-19<br />

Daily Extraterrestrial Solar Radiation(MJ/m 2 )<br />

Figure2. Statistic <strong>of</strong> daily extraterrestrial solar radiation in Zhangpu.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 147<br />

Figure3. Spatial distribution <strong>of</strong> daily extraterrestrial radiation in<br />

Fujian province.<br />

Percentage <strong>of</strong> the Total Area(%)<br />

Percentage <strong>of</strong> the Total Area(%)<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

© 2010 ACADEMY PUBLISHER<br />

0<br />

Figure4. Spatial distribution <strong>of</strong> annually extraterrestrial radiation in<br />

Fujian province.<br />

0-10 10-12 12-14 14-16 16-18 18-20<br />

Daily Extraterrestrial Solar Radiation(MJ/m 2 )<br />

Figure5. Statistic <strong>of</strong> daily extraterrestrial solar radiation in Fujian province.<br />

1000 - 3000 3000 - 4000 4000 - 5000 5000 - 6000 6000 - 7000<br />

Annually Extraterrestrial Solar Radiation(MJ/m 2 )<br />

Figure6. Statistic <strong>of</strong> annually extraterrestrial radiation in Fujian province.


148 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

V. COMBINATION OF EXTRATERRESTRIAL SOLAR<br />

RADIATION AND SOTER<br />

Nowadays, with the development <strong>of</strong> science and<br />

technology and fast growing economy, the accelerated<br />

industrialization and urbanization, difficulties<br />

encountered by researchers are how to manage, store and<br />

standardized various data efficiently, how to dig out<br />

valuable data to a great extent, and how to share the data<br />

resources. The single solar radiation could not meet the<br />

needs <strong>of</strong> users with the development <strong>of</strong> science and<br />

technology and one <strong>of</strong> the way out is combination with<br />

SOTER.<br />

SOTER formulates a suit <strong>of</strong> regulations with<br />

systematization and standardization for the database,<br />

including not only the databases about topography and<br />

soil, but also climate, land use/cover, vegetation and<br />

reference file assistant databases. Underlying the SOTER<br />

methodology is the identification <strong>of</strong> areas <strong>of</strong> land with<br />

distinctive, <strong>of</strong>ten repetitive, pattern <strong>of</strong> landform,<br />

lithology, surface form, slope, parent material, and soils.<br />

The major differentiating criteria are applied in a<br />

step-by-step manner, each step leading to a closer<br />

identification <strong>of</strong> the land area under consideration. In this<br />

way a SOTER unit can be defined progressively into<br />

terrain, terrain component and soil component (Fig 7).<br />

Tracts <strong>of</strong> land distinguished in this manner are named<br />

SOTER units. Each SOTER unit represents one unique<br />

combination <strong>of</strong> terrain and soil characteristics [19].<br />

Terrain<br />

Terrain<br />

1:M<br />

component<br />

Soil<br />

1:M<br />

component<br />

M:1<br />

M:1<br />

Terrain<br />

component<br />

data<br />

1:M<br />

Pr<strong>of</strong>ile Horizon<br />

Figure7. SOTER unit structure (1:M=one to many, M:1=many to one<br />

relations).<br />

There are two types <strong>of</strong> data in a SOTER database:<br />

geometric data and attribute data. The geometric<br />

component indicates the location and topology <strong>of</strong> SOTER<br />

units, while the attribute part describes the non-spatial<br />

characteristics. The geometric data is stored and handled<br />

by GIS s<strong>of</strong>tware, while the attribute data is stored<br />

separately in a set <strong>of</strong> files, managed by a relational<br />

database system. There are 6 attribute files and 118<br />

attributes. A unique code is set up in both the geometric<br />

and attribute databases to link these two types <strong>of</strong><br />

information for each SOTER unit [19].<br />

The climate data were based on point observations<br />

only and the link with the soils and terrain information<br />

© 2010 ACADEMY PUBLISHER<br />

exists by means <strong>of</strong> the geographical locations <strong>of</strong> these<br />

points. Relating to 72 climate stations in Fujian province,<br />

some climate data were interpolated using ArcGIS such<br />

as average temperature, accumulated temperature,<br />

monthly precipitation, minimum and maximum<br />

temperatures, relative humidity and evaporation besides<br />

radiation.<br />

VI. DISCUSSIONS<br />

The study integrated solar radiation model and DEM<br />

based on GIS, took Zhangpu sample plot in the southeast<br />

coastal hilly and platform area <strong>of</strong> Fujian province as small<br />

scale and Fujian province as moderate scale, gave full<br />

consideration to the integration <strong>of</strong> all kinds <strong>of</strong> terrain<br />

factors, explored the effects <strong>of</strong> slope, aspect and so on to<br />

the spatial distribution diversity <strong>of</strong> extraterrestrial solar<br />

radiation at two scales. The method can extract daily<br />

extraterrestrial and annually solar radiation with high<br />

precision and speediness at small and moderate scales, but<br />

there is certain error in the model which mainly comes<br />

from two aspects. On the one hand, cloud was not taken<br />

into consideration, while cloud is one <strong>of</strong> the most import<br />

parameters <strong>of</strong> solar radiation energy transmission, so there<br />

is certain deviation between calculation results and actual<br />

solar radiation value [20,21]. On the other hand, DEM is<br />

the important data in the whole model, its quality (such as<br />

DEM accuracy, resolution etc.) determines the final<br />

simulation results [1].<br />

The methods taking cloud effect into consideration are<br />

various in solar radiation models which seldom contain<br />

space characteristics because there are no conventional<br />

observation data <strong>of</strong> cloud spatial distribution, even if<br />

there are observation data it is hard to simulate the<br />

geometric relation among sun, cloud and ground. Only<br />

using RS could effects <strong>of</strong> cloud be took into<br />

consideration in the spatial model <strong>of</strong> solar radiation [22].<br />

The study is going to use ASTER images to extract cloud<br />

amount and ground state for improving simulation<br />

precision and meeting the needs <strong>of</strong> general solar energy<br />

engineering and science research.<br />

The single solar radiation could not meet the needs <strong>of</strong><br />

users with the development <strong>of</strong> science and technology.<br />

The SOTER database contains more sufficient data and<br />

can be used for a wide range <strong>of</strong> applications at different<br />

scales. At the same time, only combining with SOTER,<br />

can the climate data develop deeply and widely and the<br />

superiority <strong>of</strong> simulation <strong>of</strong> extraterrestrial solar radiation<br />

based on DEM can be shown. The approach may be used<br />

to support strategic decision-making seeking to optimize<br />

land use/cover, prioritize research, and guide<br />

conservation planning.<br />

ACKNOWLEDGMENT<br />

This work was supported in part by a grant from<br />

foundations: National Natural Science Foundation <strong>of</strong><br />

China, No. 40371054; The Key Project <strong>of</strong> the Ministry <strong>of</strong><br />

Education <strong>of</strong> China, No. 206107; Project <strong>of</strong> Science and<br />

Technology Department <strong>of</strong> Fujian Province for the


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 149<br />

Youth, No. 2006F3037; Excellent Young Core Teachers<br />

Foundation <strong>of</strong> Fujian Normal University, No.<br />

2008100233<br />

REFERENCES<br />

[1] H.L He, G.R. Yi, and D. N. “Method <strong>of</strong> global solar<br />

radiation calculation on complex territories,” Resources<br />

Science. China science press. Beijing, vol.25, pp. 78-85,<br />

2003.<br />

[2] Z.W. De, S.X. Ni, H.L. Zhou, H.L. Zhang, and Q.P. Tu.<br />

“Calculation <strong>of</strong> possible direct solar radiation around<br />

Qinghai lake based on DEM,” Plateau Meteorology. Cold<br />

and arid regions environmental and engineering research<br />

institute <strong>of</strong> Chinese academy <strong>of</strong> sciences. Lanzhou, vol.22,<br />

pp. 92-96, 2003.<br />

[3] C. Wloczyk, R. Richter. “Estimation <strong>of</strong> incident solar<br />

radiation on the ground from multispectral satellite sensor<br />

imagery,” International <strong>Journal</strong> <strong>of</strong> Remote Sensing. Taylor<br />

& Francis. London UK, vol.27, pp. 1253, 2006.<br />

[4] K S. Reddy, R. Manish. “Solar resource estimation using<br />

artificial neural networks and comparison with other<br />

correlation models,” Energy Conversion and Management.<br />

Ergamon-Elsevier Science Ltd. Oxford Uk, vol. 44, pp.<br />

2519-2530, 2003.<br />

[5] J.G. Corripio. “Vectorial algebra algorithms for calculating<br />

terrain parameters from DEMs and solar radiation<br />

modeling in mountainous terrain,” Geographical<br />

Information Science. Taylor & Francis. London UK, vol.<br />

17, pp. 1-23, 2003.<br />

[6] G.Q. Qiu, Y.J. Xia, and H.Y. Yang. “An optimized<br />

clear-day solar radiation model,” Acta Energiae Solaris<br />

Sinica. Chinese institute <strong>of</strong> renewable energy. Beijing,<br />

vol.25, pp. 456-460, 2001.<br />

[7] Z.Q. Chen. “The study and application <strong>of</strong> the regional soil<br />

and terrain digital database(SOTER),” Ms D Thesis. Fujian<br />

Normal University. Fuzhou, 2003.<br />

[8] H.J. Zhu. Sustainable development and land utilization, 1 rd<br />

ed., China hong kong yearbook press: Hong Kong, 1997.<br />

pp. 41-46.<br />

[9] G.A. Tang, X. Yang, Q. Zhang, and F.D. Deng. “DEM<br />

based simulation on regional solar radiation,” Science<br />

<strong>Journal</strong> <strong>of</strong> Northwest University Online. Northwest<br />

university press. Xian, vol.1, pp. 208-214, 2003.<br />

[10] J.Y. Gong. On theories and technology <strong>of</strong> contemporary<br />

GIS, 1 rd ed., Wuhan University <strong>of</strong> Science and Technology<br />

Press: Wuhan, 1999, pp. 197-199.<br />

[11] Z.Q. Chen, J.F. Chen. “Assessment <strong>of</strong> the relative<br />

sensitivity <strong>of</strong> ecosystem to acid deposition in Fujian<br />

Province,” <strong>Journal</strong> <strong>of</strong> Fujian Normal University(Natural<br />

Science Edition). Fujian normal university. Fuzhou, vol.23,<br />

pp. 83-86, 2007.<br />

[12] Z.Q. Chen, J.F. Chen, and X.Q. Xie. “Suitable sites<br />

selection for Euphoria Longana based on Fujian SOTER<br />

database and GIS,” Acta Pedologica Sinica. soil science<br />

society <strong>of</strong> China. Nanjing, vol.42, pp. 700-703, 2005.<br />

© 2010 ACADEMY PUBLISHER<br />

[13] Y.G. ZHAO, G.L. Zhang, and Z.T. Gong. “SOTER-based<br />

soil water erosion simulation in Hainan island,”<br />

Pedosphere. Science press. Beijing, vol.13, pp. 139-146,<br />

2003.<br />

[14] Z.H. Yi, D.H. Xiong, Z. Yang, Y.R. He, and Y.Y. Zeng.<br />

“Natural productivity evaluation <strong>of</strong> cultivated land based<br />

on SOTER database in the typical region <strong>of</strong> upper reaches<br />

<strong>of</strong> the Yangtse river,” Chinese <strong>Journal</strong> <strong>of</strong> Soil Science. Soil<br />

Science Society <strong>of</strong> China. Shenyang, vol.36, pp. 145-148,<br />

2005.<br />

[15] C.W. Lv, S.Q. Cui, and L. Zhao. “Soil organic carbon<br />

storage and its spatial distribution characteristics in Hainan<br />

Island: a study based on HNSOTER,” Chinese <strong>Journal</strong> <strong>of</strong><br />

Applied Ecology. Science press. Shenyang, vol.17, pp.<br />

1014-1018, 2006.<br />

[16] Y.G. Zhao, G.L. Zhang, and H. Zhang. “Systematic<br />

assessment and regional features <strong>of</strong> soil quality in the<br />

Hainan Island,” Chinese <strong>Journal</strong> <strong>of</strong> Eco-Agriculture. China<br />

science press. Shijiazhuang, vol.12, pp. 13-15, 2004.<br />

[17] M.X. Men, J. Chen, Z.R. Yu and H. Xu. “Assessment <strong>of</strong><br />

soil erosion based on SOTER in Hebei Province,” Chinese<br />

Agricultural Science Bulletin. Chinese agricultural science<br />

bulletin press. Beijing, vol.23, pp. 587-592. 2007.<br />

[18] X.L. Zhang, G.L. Zhang, and Z.T. “Gong. Evaluation for<br />

some tropical crops in Hainan Province by using ales based<br />

upon HaiSOTER,” Scientia Geographica Sinica.<br />

Changchun publishing house. Changchun, vol.21, pp.<br />

344-349, 2001.<br />

[19] H.Z. Zhou. “A testing <strong>of</strong> SOTER project in China,”<br />

Pedosphere. Science press. Beijing, vol.36, pp.<br />

153-160,1993.<br />

[20] J.G. Sun, J. Zhao, J.G. Zhen, and D.P. Li. “The study <strong>of</strong><br />

computer model and application <strong>of</strong> solar radiation value in<br />

yellow earth will ravine region based on DTM,”<br />

Engineering <strong>of</strong> Surveying and Mapping. Engineering<br />

college <strong>of</strong> heilongjiang. Heilongjiang, vol.12, pp. 28-30,<br />

2003.<br />

[21] K.A. Joudi, N.S. Dhaidan. “Application <strong>of</strong> solar assisted<br />

Heating and Desicddant Cooling Systems for a Domestic<br />

building,” Energy Conversion & Management.<br />

Ergamon-Elsevier Science Ltd. Oxford UK, vol.12, pp.<br />

995-1022, 2001.<br />

[22] X. Li, G.D. Cheng, X.Z. Chen, and L. Lu. “Improvement<br />

<strong>of</strong> solar radiation model in arbitrary topography,” Chinese<br />

Science Bulletin. China science press. Beijing, vol.44, pp.<br />

993-998, 1999.<br />

Zhi-qiang Chen Fujian,china, 1978, Ph.D., specialized in<br />

GIS and land resource and land use plan. E-mail:<br />

soiltuqiang061@163.com<br />

Jian-fei Chen E-mail:gdcjf@21cn.net


150 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Multiplicate Particle Swarm Optimization<br />

Algorithm<br />

Shang Gao and Zaiyue Zhang<br />

School <strong>of</strong> Computer Science and Engineering, Jiangsu University <strong>of</strong> Science and Technology, Zhenjiang 212003, China<br />

Email: gao_shang@hotmail.com yzzjzzy@sina.com<br />

Cungen Cao<br />

Institute <strong>of</strong> Computing Technology, Chinese <strong>Academy</strong> <strong>of</strong> Sciences, Beijing 100080, China<br />

Email: cgcao@ict.ac.cn<br />

Abstract—Using Particle Swarm Optimization to handle<br />

complex functions with high-dimension it has the problems<br />

<strong>of</strong> low convergence speed and sensitivity to local<br />

convergence. The convergence <strong>of</strong> particle swarm algorithm<br />

is studied, and the condition for the convergence <strong>of</strong> particle<br />

swarm algorithm is given. Results <strong>of</strong> numerical tests show<br />

the efficiency <strong>of</strong> the results. Base on the idea <strong>of</strong><br />

specialization and cooperation <strong>of</strong> particle swarm<br />

optimization algorithm, a multiplicate particle swarm<br />

optimization algorithm is proposed. In the new algorithm,<br />

particles use five different hybrid flight rules in accordance<br />

with section probability. This algorithm can draw on each<br />

other ' s merits and raise the level together The method uses<br />

not only local information but also global information and<br />

combines the local search with the global search to improve<br />

its convergence. The efficiency <strong>of</strong> the new algorithm is<br />

verified by the simulation results <strong>of</strong> five classical test<br />

functions and the comparison with other algorithms. The<br />

optimal section probability can get through sufficient<br />

experiments, which are done on the different section<br />

probability in the algorithms.<br />

Index Terms—particle swarm optimization algorithm,<br />

convergence, parameter<br />

I. INTRODUCTION<br />

Particle swarm optimization (PSO) is one <strong>of</strong> the<br />

evolutionary computational techniques. Since its<br />

introduction (Eberhart R C , Kennedy J.1995; Kennedy J,<br />

Eberhart R.1995; Shi Y H , Eberhart R C.1998)[1,2,3,4],<br />

PSO has attracted much attention from researchers<br />

around the world. It is a population-based search<br />

algorithm and is initialized with a population <strong>of</strong> random<br />

solutions, called particles. Each particle in PSO moves<br />

over the search space at velocity dynamically adjusted<br />

according to the historical behaviors <strong>of</strong> the particle and its<br />

companions. Using Particle Swarm Optimization to<br />

handle complex functions with high-dimension it has the<br />

problems <strong>of</strong> low convergence speed and sensitivity to<br />

local convergence. Although PSO is a fairly recent<br />

algorithm, it is quickly gaining momentum in the<br />

Supported by the National Natural Science Foundation <strong>of</strong> China<br />

under Grant No.60773059.<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.150-157<br />

engineering research community. Several researchers<br />

have analyzed the performance <strong>of</strong> the PSO with different<br />

settings, e.g., neighborhood settings, cluster analysis, etc.<br />

It has been used for approaches that can be used across a<br />

wide range <strong>of</strong> applications. For example Fourie and<br />

Groenwold applied the algorithm to structural shape and<br />

sizing [5] and topology optimization [6] problems. The<br />

authors applied the algorithm to a cantilevered beam [7]<br />

and multi-disciplinary design optimization <strong>of</strong> a transport<br />

aircraft wing [8]. The University <strong>of</strong> Florida has applied<br />

the algorithm to biomechanical system identification<br />

problems e.g. [9]. Some authors have worked on parallel<br />

PSO algorithms in an attempt to alleviate the associated<br />

high computational cost. Most parallel implementations<br />

<strong>of</strong> the PSO algorithm presented to date are based on a<br />

synchronous implementation e.g. [9], where all design<br />

points within a design iteration are evaluated, before the<br />

next design iteration is started. Particle swarm<br />

optimization can be and has been used across a wide<br />

range <strong>of</strong> applications. Areas where PSOs have shown<br />

particular promise include multimodal problems and<br />

problems for which there is no specialized method<br />

available or all specialized methods give unsatisfactory<br />

results. PSO applications are so numerous and diverse<br />

that a whole paper would be necessary just to review a<br />

subset <strong>of</strong> the most paradigmatic ones. Here we only have<br />

a limited space to devote to this topic. So, we will limit<br />

ourselves to listing the main application areas where<br />

PSOs have been successfully deployed. Base on the idea<br />

<strong>of</strong> specialization and cooperation <strong>of</strong> particle swarm<br />

optimization algorithm, a multiplicate particle swarm<br />

optimization algorithm is proposed.<br />

II. THE BASIC PSO ALGORITHM<br />

In the PSO algorithm, the birds in a flock are<br />

symbolically represented as particles. These particles can<br />

be considered as simple agents “flying” through a<br />

problem space. A particle’s location in the multidimensional<br />

problem space represents one solution for<br />

the problem. When a particle moves to a new location, a<br />

different problem solution is generated. This solution is<br />

evaluated by a fitness function that provides a<br />

quantitative value <strong>of</strong> the solution’s utility.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 151<br />

The velocity and direction <strong>of</strong> each particle moving<br />

along each dimension <strong>of</strong> the problem space will be<br />

altered with each generation <strong>of</strong> movement. In<br />

combination, the particle’s personal experience, Pid and<br />

its neighbors’ experience, Pgd influence the movement <strong>of</strong><br />

each particle through a problem space. The random<br />

values rand1 and rand2 are used for the sake <strong>of</strong><br />

completeness, that is, to make sure that particles explore a<br />

wide search space before converging around the optimal<br />

solution. The values <strong>of</strong> c1 and c2 control the weight<br />

balance <strong>of</strong> Pid and Pgd in deciding the particle’s next<br />

movement velocity. At every generation, the particle’s<br />

new location is computed by adding the particle’s current<br />

velocity, vid, to its location, xid. Mathematically, given a<br />

multi-dimensional problem space, the ith particle changes<br />

its velocity and location according to the following<br />

equations[1][2]:<br />

vid<br />

= c0<br />

× vid<br />

+ c1<br />

× rand1<br />

× ( pid<br />

− xid<br />

)<br />

(1)<br />

+ c2<br />

× rand 2 × ( pgd<br />

− xid<br />

)<br />

x id = xid<br />

+ vid<br />

(2)<br />

where c0 denotes the inertia weight factor; pid is the<br />

location <strong>of</strong> the particle that experiences the best fitness<br />

value; Pgd is the location <strong>of</strong> the particles that experience a<br />

global best fitness value; c1 and c2 are constants and are<br />

known as acceleration coefficients; d denotes the<br />

dimension <strong>of</strong> the problem space; rand1, rand2 are random<br />

values in the range <strong>of</strong> (0, 1). For equation (1), the first<br />

part represents the inertia <strong>of</strong> pervious velocity; the second<br />

part is the “cognition” part, which represents the private<br />

thinking by itself; the third part is the “social” part, which<br />

represents the cooperation among the particles. If the sum<br />

<strong>of</strong> accelerations would cause the velocity vid, on that<br />

dimension to exceed vmax,d ,then vid, is limited to vmax,d.<br />

vmax,d determines the resolution with which regions<br />

between the present position and the target position are<br />

searched. Weighted combination <strong>of</strong> three possible moves<br />

is shown in Figure 1.<br />

The PSO algorithm can be described as follows:<br />

I) For each particle:<br />

Initialize particle<br />

II) Do:<br />

a) For each particle:<br />

1) Calculate fitness value<br />

2) If the fitness value is better than the best<br />

fitness value pbest in history<br />

3) Set current value as the new pbest<br />

End<br />

b) For each particle:<br />

1) Find in the particle neighborhood, the<br />

particle with the best fitness gbest.<br />

2)Calculate particle velocity according<br />

to the velocity equation (1)<br />

3) Apply the velocity constriction<br />

4) Update particle position according to the<br />

position equation (2)<br />

5) Apply the position constriction<br />

End<br />

While maximum iterations or minimum error<br />

criteria<br />

© 2010 ACADEMY PUBLISHER<br />

xk<br />

is not attained<br />

vk<br />

pbestk<br />

xk<br />

+ 1<br />

Figure 1. Weighted combination <strong>of</strong> three possible moves<br />

III. PARAMETERS ANALYSIS OF PSO<br />

gbestk<br />

The basic PSO described above has a small number <strong>of</strong><br />

parameters that need to be fixed. One parameter is the size<br />

<strong>of</strong> the population. This is <strong>of</strong>ten set empirically on the basis<br />

<strong>of</strong> the dimensionality and perceived difficulty <strong>of</strong> a problem.<br />

Values in the range 20–50 are quite common.<br />

c in (1) determine the<br />

The parameters 1<br />

c and 2<br />

magnitude <strong>of</strong> the random forces in the direction <strong>of</strong> personal<br />

best pid and neighborhood best Pgd. These are <strong>of</strong>ten called<br />

acceleration coefficients. The behavior <strong>of</strong> a PSO changes<br />

radically with the value <strong>of</strong> c 1 and c 2 . Interestingly, we<br />

can interpret the components c1 × rand1<br />

× ( pid<br />

− xid<br />

)<br />

and c2 × rand 2 × ( pgd<br />

− xid<br />

) in (1) as attractive forces<br />

produced by springs <strong>of</strong> random stiffness, and we can<br />

approximately interpret the motion <strong>of</strong> a particle as the<br />

integration <strong>of</strong> Newton’s second law. In this interpretation,<br />

c 1 / 2 and c 2 / 2 represent the mean stiffness <strong>of</strong> the<br />

springs pulling a particle. It is no surprise then that by<br />

changing c 1 and c 2 one can make the PSO more or less<br />

“responsive” and possibly even unstable, with particle<br />

speeds increasing without control. The value c 1 = c 2 =2,<br />

almost ubiquitously adopted in early PSO research, did<br />

just that. However, this is <strong>of</strong>ten harmful to the search and<br />

needs to be controlled. The technique originally proposed<br />

to do this was to bound velocities so that each component<br />

<strong>of</strong> vid is kept within the range [−vmax,d,+ vmax,d]. The<br />

choice <strong>of</strong> the parameter vmax,d required some care since it<br />

appeared to influence the balance between exploration<br />

and exploitation. The use <strong>of</strong> hard bounds on velocity,<br />

however, presents some problems. The optimal value <strong>of</strong><br />

vmax,d is problem-specific, but no reasonable rule <strong>of</strong><br />

thumb is known. Further, when vmax,d x was implemented,<br />

the particle’s trajectory failed to converge. Where one<br />

would hope to shift from the large-scale steps that typify<br />

exploratory search to the finer, focused search <strong>of</strong><br />

exploitation, vmax,d simply chopped <strong>of</strong>f the particle’s<br />

oscillations, so that some hopefully satisfactory<br />

compromise was seen throughout the run.<br />

Motivated by the desire to better control the scope <strong>of</strong> the<br />

search, reduce the importance <strong>of</strong> vmax,d, and perhaps<br />

eliminate it altogether, the following modification <strong>of</strong> the<br />

PSO’s update equations was proposed (Shi and Eberhart):


152 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

The inertia weight c 0 can be interpreted as the<br />

fluidity <strong>of</strong> the medium in which a particle moves. This<br />

perhaps explains why researchers have found that the best<br />

performance could be obtained by initially setting c 0 to<br />

some relatively high value (e.g., 0.9), which corresponds<br />

to a system where particles move in a low viscosity<br />

medium and perform extensive exploration, and gradually<br />

reducing c 0 to a much lower value (e.g., 0.4), where the<br />

system would be more dissipative and exploitative and<br />

would be better at homing into local optima. It is even<br />

possible to start from values <strong>of</strong> c 0 > 1 , which would<br />

make the swarm unstable, provided that the value is<br />

reduced sufficiently to bring the swarm in a stable region<br />

(the precise value <strong>of</strong> c 0 that guarantees stability depends<br />

on the values <strong>of</strong> the acceleration coefficients).<br />

Naturally, other strategies can be adopted to adjust the<br />

inertia weight. For example, in (Eberhart and Shi 2000)<br />

the adaptation <strong>of</strong> c 0 using a fuzzy system was reported<br />

to significantly improve PSO performance. Another<br />

effective strategy is to use an inertia weight with a<br />

random component, rather than time-decreasing. For<br />

example, (Eberhart and Shi 2001) successfully used<br />

c 0 = U ( 0.<br />

5,<br />

1)<br />

. There are also studies, e.g., (Zheng et<br />

al. 2003)[10], in which an increasing inertia weight was<br />

used obtaining good results.<br />

Clerc and Kennedy (2002)[11] noted that there can be<br />

many ways to implement the constriction coefficient. One<br />

<strong>of</strong> the simplest methods <strong>of</strong> incorporating it is the<br />

following:<br />

vid<br />

= χ(<br />

vid<br />

+ c1<br />

× rand1<br />

× ( pid<br />

− xid<br />

)<br />

+ c2<br />

× rand 2 × ( pgd<br />

− xid<br />

))<br />

Where c = c1<br />

+ c2<br />

> 4 and<br />

2<br />

χ =<br />

2<br />

c − 2 + c − 4c<br />

When Clerc’s constriction method is used, c is<br />

commonly set to 4.1, c 1 = c2<br />

, and the constant<br />

multiplier χ is approximately 0.7298. These results in<br />

the previous velocity being multiplied by 0.7298 and each<br />

<strong>of</strong> the two pid − xid<br />

terms being multiplied by a random<br />

number limited by 0.7298×2.05≈1.49618.<br />

The constricted particles will converge without<br />

using any vmax,d at all. However, subsequent experiments<br />

and applications (Eberhart and Shi 2000) [12] concluded<br />

that a better approach to use as a prudent rule <strong>of</strong> thumb is<br />

to limit vmax,d to xmax,d, the dynamic range <strong>of</strong> each variable<br />

on each dimension. The result is a particle swarm<br />

optimization algorithm with no problem-specific<br />

parameters. And this is the canonical particle swarm<br />

algorithm <strong>of</strong> today.<br />

Yuhui Shi, Russell C(1998) [13]have analyzed the<br />

impact <strong>of</strong> the inertia weight and maximum velocity<br />

allowed on the performance <strong>of</strong> PSO. A number <strong>of</strong><br />

© 2010 ACADEMY PUBLISHER<br />

experiments have been done with different inertia weights<br />

and different values <strong>of</strong> maximum velocity allowed. It is<br />

concluded that when vmax,d. is small, an inertia weight <strong>of</strong><br />

approximately 1 is a good choice, while when vmax,d.is not<br />

small, an inertia weight c 0 = 0.<br />

8 is a good choice.<br />

When we lack knowledge regarding the selection <strong>of</strong><br />

vmax,d, it is also a good choice to set vmax,d equal to xmax,d<br />

and an inertia weight c 0 = 0.<br />

8 is a good starting point.<br />

Furthermore if a time varying inertia weight is employed,<br />

even better performance can be expected.<br />

In (Kennedy, J. 1997) based on c 1 and c 2 , Kennedy<br />

introduces four models <strong>of</strong> PSO, defined by omitting or<br />

restricting components <strong>of</strong> the velocity formula.<br />

(1) The complete formula above defines the Full<br />

Model. That is 1 0 > c and 2 0 > c .<br />

(2) Dropping the social component results in the<br />

Cognition-Only Model. That is 1 0 > c and 2 0 = c .<br />

(3) dropping the cognition component defines the<br />

Social-Only Model. That is 1 0 = c and 2 0 > c .<br />

(4) Selfless is the Social-Only Model, but the<br />

neighborhood best is chosen only from the neighbors,<br />

without considering the individual particle’s gbest vector.<br />

That is 1 0 = c , 2 0 > c and g ≠ i.<br />

Regarding the inertia weight, it determines how the<br />

previous velocity <strong>of</strong> the particle influences the velocity in<br />

the next iteration: If c 0 = 0 , the velocity <strong>of</strong> the particle<br />

is only determined by the pbest and gbest positions. This<br />

means that the particle may change its velocity instantly<br />

if it is moving far from the best positions in its<br />

knowledge. Thus, low inertia weights favor exploitation<br />

(local search). If c 0 is high, the rate at which the particle<br />

may change its velocity is lower (it has an "inertia" that<br />

makes it follow its original path) even when better fitness<br />

values are known. Thus, high inertia weights favor<br />

exploration (global search).<br />

In this paper, an analysis <strong>of</strong> the impact <strong>of</strong> this inertia<br />

c and<br />

weight c 0 , together with acceleration constants 1<br />

c 2 on the performance <strong>of</strong> PSO is given, followed by<br />

experiments that illustrate the analysis and provide some<br />

insights into optimal selection <strong>of</strong> the. inertia weight c 0 ,<br />

together with acceleration constants c 1 and c 2 .<br />

The parameters <strong>of</strong> PSO includes: number <strong>of</strong> particles<br />

m, inertia weight c 0 , acceleration constants c 1 and c 2 ,<br />

maximum velocity vmax,d. This paper discuss inertia<br />

c .<br />

weight c 0 , acceleration constants c 1 and 2<br />

IV. CONVERGENCE OF PSO<br />

A. Convergence Analysis<br />

In ( Gao S, Yang J Y,2006;Gao S et al.2006) [14,15],<br />

the convergence <strong>of</strong> particle swarm algorithm is<br />

studied,and the condition for the convergence <strong>of</strong> particle<br />

swarm algorithm is given.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 153<br />

From equation (1) and (2), We can see that although<br />

and are multi-dimensional variables, but they are<br />

independent each other. So we can simplify multidimensional<br />

space into one dimension space. We suppose<br />

that the swarm’s global best position and the best position<br />

attained by particle self are unchanged, and they are<br />

denoted as p b and g b .The equation(1)and(2)can<br />

be simplified as<br />

v(<br />

k + 1)<br />

= c0v(<br />

k)<br />

+ c1(<br />

pb<br />

− x(<br />

k))<br />

(3)<br />

+ c2<br />

( gb<br />

− x(<br />

k))<br />

x ( k + 1)<br />

= x(<br />

k)<br />

+ v(<br />

k + 1)<br />

(4)<br />

From equation(3)and(4), we obtain<br />

v(<br />

k + 2)<br />

= c0v(<br />

k + 1)<br />

+ c1(<br />

pb<br />

− x(<br />

k + 1))<br />

(5)<br />

+ c2<br />

( gb<br />

− x(<br />

k + 1))<br />

x ( k + 2)<br />

= x(<br />

k + 1)<br />

+ v(<br />

k + 2)<br />

(6)<br />

The formula (4) and (5) are substituted into formula<br />

(6), we can get<br />

x(<br />

k + 2)<br />

+ ( −c0<br />

+ c1<br />

+ c2<br />

−1)<br />

x(<br />

k + 1)<br />

(7)<br />

+ c0<br />

x(<br />

k)<br />

= c1<br />

pb<br />

+ c2<br />

g b<br />

Equation (7) is a second order inhomogeneous<br />

difference equation. We can use characteristic equation<br />

method to solve this equation.<br />

The characteristic equation <strong>of</strong> Equation (7) is<br />

2<br />

λ + ( −c0<br />

+ c1<br />

+ c2<br />

−1)<br />

λ + c0<br />

= 0 (8)<br />

2<br />

(1) If ∆ = ( −c<br />

0 + c1<br />

+ c2<br />

−1)<br />

− 4c0<br />

= 0 ,<br />

then λ = λ1<br />

= λ2<br />

= −(<br />

−c0<br />

+ c1<br />

+ c2<br />

−1)<br />

/ 2 .<br />

So<br />

k<br />

x( k)<br />

= ( A0<br />

+ A1k<br />

) λ<br />

Where A 0 , A 1 are undetermined coefficients, and<br />

they are determined by v( 0)<br />

and x ( 0)<br />

. Therefore,<br />

⎧A0<br />

= x(<br />

0)<br />

,<br />

⎪<br />

⎨ ( 1−<br />

c)<br />

x(<br />

0)<br />

+ c0v(<br />

0)<br />

+ c1<br />

pb<br />

+ c2<br />

gb<br />

⎪A1<br />

=<br />

− x(<br />

0)<br />

⎩<br />

λ<br />

2<br />

(2) If ∆ = −c<br />

+ c + c −1)<br />

− 4c<br />

> 0 , then<br />

( 0 1 2<br />

0<br />

c0<br />

− c1<br />

− c2<br />

+ 1±<br />

λ 1,<br />

2 =<br />

2<br />

∆<br />

. So<br />

( k)<br />

= A<br />

k k<br />

+ A λ + A λ ,<br />

x 0 1 1 2 2<br />

Where A 0 , 1 A , 2<br />

A are undetermined coefficients.<br />

It is assumed that b1 = x(<br />

0)<br />

− A0<br />

and<br />

b ( 1−<br />

c)<br />

x(<br />

0)<br />

+ v(<br />

0)<br />

+ c p + c g − A , we<br />

2<br />

= c0 1 b 2 b 0<br />

can get<br />

© 2010 ACADEMY PUBLISHER<br />

⎧ c1<br />

pb<br />

+ c2<br />

gb<br />

⎪A0<br />

=<br />

⎪ c<br />

⎪ λ2b1<br />

− b2<br />

⎨A1<br />

=<br />

⎪ λ2<br />

− λ1<br />

⎪ b2<br />

− λ1b1<br />

⎪A2<br />

=<br />

⎩ λ2<br />

− λ1<br />

(3) If ∆ = −c<br />

+ c + c<br />

2<br />

−1)<br />

− 4c<br />

< 0 , then<br />

( 0 1 2<br />

0<br />

c0<br />

− c1<br />

− c2<br />

+ 1±<br />

i<br />

λ 1,<br />

2 =<br />

2<br />

− ∆<br />

. So<br />

( k)<br />

= A<br />

k k<br />

+ A λ + A λ<br />

x 0 1 1 2 2<br />

Where A 0 , 1 A , 2<br />

A are undetermined coefficients.<br />

⎧ c1<br />

pb<br />

+ c2<br />

gb<br />

⎪A0<br />

=<br />

⎪ c<br />

⎪ λ2b1<br />

− b2<br />

⎨A1<br />

=<br />

⎪ λ2<br />

− λ1<br />

⎪ b2<br />

− λ1b1<br />

⎪A2<br />

=<br />

⎩ λ2<br />

− λ1<br />

The convergence condition is : λ 1 and<br />

λ 1.<br />

2 <<br />

1 <<br />

If ∆ = 0 , the convergence zone is<br />

2 2<br />

c + c − c c − 2c<br />

− 2c<br />

+ 1 = 0 and 0 ≤ c 0 < 1<br />

0<br />

2 0 0<br />

c = c + c .<br />

If ∆ > 0 , the convergence zone is<br />

2 2<br />

c + c − c c − 2c<br />

− 2c<br />

+ 1 > 0 , c > 0 and<br />

,where 1 2<br />

0<br />

2 0 0<br />

2c 0 − c + 2 > 0 .<br />

If ∆ < 0 , the convergence zone is<br />

2 2<br />

c + c − c c − 2c<br />

− 2c<br />

+ 1 < 0 and c 1 .<br />

0<br />

2 0 0<br />

0 <<br />

So the convergence zone is c 0 < 1 , c > 0 and<br />

c − c + 2 > 0 (shown in Figure 2).<br />

2 0<br />

Figure 2 The convergence zone <strong>of</strong> particle swarm algorithm


154 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

B. Numerical Simulation<br />

Numerical simulations are implemented for six<br />

different types. It is assumed that x ( 0)<br />

= 2 , v ( 0)<br />

= 1,<br />

and c p c g = 0 .<br />

1<br />

b + 2 b<br />

(1) If c 0 =0.81 and c =3.61, then ∆ = 0 and<br />

k<br />

x ( k)<br />

= ( 2 + 2.<br />

9k)(<br />

−0.<br />

9)<br />

. x (k)<br />

is convergent. It is<br />

illustrated in Figure 3.<br />

(2) If c 0 =4 and c =1, then ∆ = 0 and<br />

+ 1<br />

( ) = 2<br />

k<br />

x k . (k)<br />

Figure 4.<br />

x is divergent. It is illustrated in<br />

Figure 3 Relationship between particle location and iterative times with<br />

c 0 =0.81 and c =3.61<br />

Figure 4 Relationship between particle location and iterative times with<br />

c 0 =4 and c =1<br />

(3) If c 0 =0 and c =0.5, then ∆ > 0 and<br />

−k<br />

x k = 1<br />

( ) 2<br />

Figure 5.<br />

. x (k)<br />

is convergent. It is illustrated in<br />

(4) If c 0 =0 and c =3, then ∆ > 0 and<br />

x ( k)<br />

Figure 6.<br />

− )<br />

k<br />

= 2 ⋅ ( 2 . (k)<br />

© 2010 ACADEMY PUBLISHER<br />

x is divergent. It is illustrated in<br />

Figure 5 Relationship between particle location and iterative times with<br />

c 0 =0 and c =0.5<br />

Figure 6 Relationship between particle location and iterative times with<br />

c 0 =0 and c =3<br />

(5) If c 0 =0.5 and c =0.5, then ∆ < 0 and<br />

k<br />

kπ<br />

kπ<br />

2 x(<br />

k)<br />

= 2 ( 2cos<br />

+ sin )<br />

4 4<br />

−<br />

. x (k)<br />

is<br />

convergent. It is illustrated in Figure 7.<br />

(6) If c 0 =2 and c =5, then ∆ < 0 and<br />

k<br />

1<br />

2<br />

x(<br />

k)<br />

= 2<br />

+<br />

3 3<br />

(cos kπ<br />

− 2sin<br />

kπ<br />

)<br />

4 4<br />

divergent. It is illustrated in Figure 8.<br />

. x (k)<br />

is


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 155<br />

Figure 7 Relationship between particle location and iterative times with<br />

c 0 =0.5 and c =0.5<br />

Figure 8 Relationship between particle location and iterative times with<br />

c 0 =2 and c =5<br />

V. MULTIPLICATE PARTICLE SWARM<br />

OPTIMIZATION (MPSO) ALGORITHM<br />

The first particle swarms (Kennedy and Eberhart<br />

1995)[2] evolved out <strong>of</strong> bird-flocking simulations <strong>of</strong> a<br />

type described by (Reynolds 1987)[14] and (Heppner and<br />

Grenander 1990)[15]. In these models, the trajectory <strong>of</strong><br />

each bird’s flight is modified by application <strong>of</strong> several<br />

rules, including some that take into account the birds that<br />

are nearby in physical space. So, early PSO topologies<br />

were based on proximity in the search space. However,<br />

besides being computationally intensive, this kind <strong>of</strong><br />

communication structure had undesirable convergence<br />

properties. Therefore, this Euclidean neighborhood was<br />

soon abandoned.<br />

In fact, the real lives work not only specially but also<br />

cooperatively. In this paper, different particles are<br />

assigned specific tasks. The particles use five different<br />

hybrid flight rules in accordance with section probability.<br />

© 2010 ACADEMY PUBLISHER<br />

This algorithm can draw on each other ' s merits and raise<br />

the level together The method uses not only local<br />

information but also global information and combines the<br />

local search with the global search to improve its<br />

convergence.<br />

The first flight rule: c 0 , c 1 and c 2 are not equal to<br />

0, and they are restricted in the convergence zone (Figure<br />

2).In this paper, we set c 0 = 1,<br />

1 2 = c , 2 2 = c .<br />

The second flight rule : c 0 = 0 , 1 c and c 2 are<br />

restricted in the convergence zone (fig 2). In this paper,<br />

we set c 0 = 0 , 1 0.<br />

5 = c , 5 . 0 2 = c .<br />

The third flight rule : 1 0 = c , c0 and c 2 are<br />

restricted in the convergence zone (fig 2). In this paper,<br />

we set c 0 = 1,<br />

1 0 = c , 2 2 = c .<br />

The fourth flight rule: 2 0 = c , c 0 and c 1 are<br />

restricted in the convergence zone (fig 2). In this paper,<br />

we set c 0 = 1,<br />

1 2 = c , 2 0 = c .<br />

The fifth flight rule: c 0 , c 1 and c 2 are not<br />

restricted in the convergence zone (fig 2). The alternate<br />

will emanate, but the algorithm can escape the local<br />

minimum. In this paper, we set c 0 = 2 , 1 2 = c , 2 2 = c .<br />

The five flight rules are incomplete, but they are<br />

feasible in somewhere. The particles use five different<br />

hybrid flight rules in accordance with section probability.<br />

The simplest selection scheme is roulette-wheel selection,<br />

also called stochastic sampling with replacement. As an<br />

example, consider 5 flight rules select values (0.6, 0.1,<br />

0.1, 0.1,0.1). The spin <strong>of</strong> the wheel results in a random<br />

number r ,<br />

If 0 < r ≤ 0.<br />

6 ,the first flight rule is chosen,<br />

else if 0. 6 < r ≤ 0.<br />

7 , the second flight rule is<br />

chosen,<br />

else if 0. 7 < r ≤ 0.<br />

8 , the third flight rule is chosen,<br />

else if 0. 8 < r ≤ 0.<br />

9 , the fourth flight rule is<br />

chosen,<br />

else if 0 . 9 < r < 1,<br />

the fifth flight rule is chosen.<br />

For comparison, five benchmark functions that are<br />

commonly used in the evolutionary computation<br />

literature are used. All functions have same minimum<br />

value, which are equal to zero.<br />

F 1<br />

2<br />

= x1<br />

+ x , −1 ≤ x i ≤ 1<br />

F = 100( x<br />

2<br />

2<br />

− x ) + ( 1−<br />

x ) , 2 ≤ x ≤ 2<br />

2<br />

2<br />

2<br />

2<br />

1<br />

2<br />

1<br />

− i<br />

2 2 2<br />

sin x1<br />

+ x2<br />

− 0.<br />

5<br />

F 3 =<br />

+ 0.<br />

5<br />

2 2 2<br />

[ 1+<br />

0.<br />

001(<br />

x1<br />

+ x2<br />

)]<br />

,<br />

1 ≤ x ≤ 1<br />

F4 2 2<br />

= x1<br />

+ 2x2 − 0.<br />

3cos3πx<br />

1 − 0.<br />

4cosπx2<br />

+ 0.<br />

7<br />

, −1 ≤ x i ≤ 1<br />

F<br />

2 2<br />

= x + x , 1 ≤ x ≤ 1<br />

− i<br />

5<br />

1<br />

2<br />

− i


156 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

We write down the alternate times, as the error<br />

between the minimum value and result is 0.00001. The 5<br />

flight rules select values are set 4 combinations. They are<br />

0.6:0.1:0.1:0.1:0.1, 0.4:0.2:0.2:0.1:0.1,<br />

0.3:0.2:0.2:0.2:0.1, and 0.2:0.2:0.2:0.2:0.2. 50 rounds <strong>of</strong><br />

TABLE I. COMPARISON OF ALGORITHMS<br />

computer simulation are conducted for each algorithm,<br />

and the results are shown in Table 1.<br />

All the MPSO algorithms are proved effective.<br />

Especially the algorithm with selection probability (<br />

0.3:0.2:0.2:0.2:0.1 ) is a simple and effective better<br />

algorithm than others.<br />

Functions Algorithms Best Average Worst<br />

F 1<br />

F 2<br />

F 3<br />

F 4<br />

F 5<br />

PSO 5 34.9 107<br />

MPSO (0.6:0.1:0.1:0.1:0.1) 4 16.5 30<br />

MPSO (0.4:0.2:0.2:0.1:0.1) 5 12.06 26<br />

MPSO (0.3:0.2:0.2:0.2:0.1) 4 10.88 18<br />

MPSO (0.2:0.2:0.2:0.2:0.2) 4 12.4 28<br />

PSO 9 129.6 417<br />

MPSO (0.6:0.1:0.1:0.1:0.1) 14 36.68 97<br />

MPSO (0.4:0.2:0.2:0.1:0.1) 12 21.64 41<br />

MPSO (0.3:0.2:0.2:0.2:0.1) 13 21.74 37<br />

MPSO (0.2:0.2:0.2:0.2:0.2) 13 26.08 38<br />

PSO 5 30.9 84<br />

MPSO (0.6:0.1:0.1:0.1:0.1) 2 14.5 34<br />

MPSO (0.4:0.2:0.2:0.1:0.1) 4 12.54 21<br />

MPSO (0.3:0.2:0.2:0.2:0.1) 3 11.36 19<br />

MPSO (0.2:0.2:0.2:0.2:0.2) 5 12.76 24<br />

PSO 7 85.76 272<br />

MPSO (0.6:0.1:0.1:0.1:0.1) 11 28.36 72<br />

MPSO (0.4:0.2:0.2:0.1:0.1) 8 17.16 31<br />

MPSO (0.3:0.2:0.2:0.2:0.1) 6 17.88 26<br />

MPSO (0.2:0.2:0.2:0.2:0.2) 10 18.52 37<br />

PSO 4 33.6 96<br />

MPSO (0.6:0.1:0.1:0.1:0.1) 3 15.5 27<br />

MPSO (0.4:0.2:0.2:0.1:0.1) 4 11.52 24<br />

MPSO (0.3:0.2:0.2:0.2:0.1) 3 10.23 16<br />

MPSO (0.2:0.2:0.2:0.2:0.2) 3 11.4 26<br />

VI CONCLUSIONS<br />

Base on the idea <strong>of</strong> specialization and cooperation <strong>of</strong><br />

particle swarm optimization algorithm, a multiplicate<br />

particle swarm optimization algorithm is proposed. The<br />

efficiency <strong>of</strong> the new algorithm is verified by the<br />

simulation results <strong>of</strong> five classical test functions and the<br />

comparison with other algorithms. Future work will also<br />

address additional issues related to the use <strong>of</strong> PSO in<br />

high-dimensional spaces, including the selection <strong>of</strong><br />

swarm size, the parameters <strong>of</strong> PSO. Even though good<br />

experimental results have been obtained in this paper,<br />

only a small benchmark problem has been tested. The<br />

selection probability may be problem-dependent. To fully<br />

justify the benefits <strong>of</strong> selection probability as described in<br />

this paper, more problems need to be tested. By doing so,<br />

a clearer understanding <strong>of</strong> PSO performance will be<br />

obtained.<br />

© 2010 ACADEMY PUBLISHER<br />

ACKNOWLEDGMENT<br />

This work was partially supported by National Basic<br />

Research Program <strong>of</strong> Jiangsu Province University<br />

(08KJB520003), Qing Lan Project and the Open Project<br />

Program <strong>of</strong> the State Key Lab <strong>of</strong> CAD&CG.<br />

REFERENCES<br />

[1] R. C. Eberhart and J. Kennedy, “A new optimizer using<br />

particles swarm theory”, Proceedings Sixth International<br />

Symposium on Micro Machine and Human Science,<br />

Nagoya, Japan, 1995,pp.39-43.<br />

[2] J. Kennedy and R. C. Eberhart, “Particle swarm<br />

optimization”, Proceedings IEEE International Conference<br />

on Neural Networks. Perth, 1995, pp.1942-1948.<br />

[3] Y. H. Shi and R. C.Eberhart, “A modified particle swarm<br />

optimizer”, IEEE International Conference on<br />

Evolutionary Computation. Anchorage, Alaska, May 4-9,<br />

1998, pp.69-73.<br />

[4] J. Kennedy, “The Particle Swarm: Social Adaptation <strong>of</strong><br />

Knowledge”, Proceedings <strong>of</strong> the 1997 International<br />

Conference on Evolutionary Computation, IEEE Press,<br />

1997,pp. 303-308.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 157<br />

[5] P. C. Fourie and A. A.Groenwold, “The Particle Swarm<br />

Optimization Algorithm in Size and Shape Optimization”,<br />

Structural and Multidisciplinary Optimization, vol.<br />

23,no.4, pp. 259–267,2002.<br />

[6] P. C. Fourie and A. A. Groenwold, “Particle Swarms in<br />

Topology Optimization”, Proceedings <strong>of</strong> the Fourth World<br />

Congress <strong>of</strong> Structural and Multidisciplinary Optimization,<br />

Dalian, China, 2001.<br />

[7] G. Venter and J. Sobieszczanski-Sobieski, “Particle<br />

Swarm Optimization”, AIAA <strong>Journal</strong>, 2003, vol. 41,no.8,<br />

pp. 1583–1589.<br />

[8] G. Venter and J. Sobieszczanski-Sobieski,<br />

“Multidisciplinary Optimization <strong>of</strong> a Transport Aircraft<br />

Wing using Particle Swarm Optimization”, Structural and<br />

Multidisciplinary Optimization, 2004, vol. 26, no.1-2, pp.<br />

121–131.<br />

[9] J. F. Schutte, B. J. Fregly, R. T. Haftka, and A. George, “A<br />

Parallel Particle Swarm Algorithm”. Proceedings <strong>of</strong> the<br />

Fifth World Congress <strong>of</strong> Structural and Multidisciplinary<br />

Optimization, Venice, Italy, 2003.<br />

[10] Y.L. Zheng, L.H. Ma, L.Y. Zhang, and J.X. Qian,. “On the<br />

convergence analysis and parameter selection in particle<br />

swarm optimization”. Proceedings <strong>of</strong> the IEEE<br />

international conference on machinelearning and<br />

cybernetics. Piscataway: IEEE 2003,pp. 1802–1807<br />

[11] M. Clerc., and J. Kennedy, The particle swarm—explosion,<br />

stability, and convergence in a multidimensionalcomplex<br />

space. IEEE Transaction on Evolutionary Computation,<br />

2002,Vol.6, No.1, pp.58–73.<br />

[12] R. C. Eberhart, and Y. Shi, “Comparing inertia weights<br />

and constriction factors in particle swarm optimization”.<br />

Proceedings <strong>of</strong> the IEEE congress on evolutionary<br />

computation (CEC), San Diego, CA. Piscataway: IEEE,<br />

2000, pp. 84–88.<br />

[13] Y. H. Shi and R. C. Eberhart, “Parameter Selection in<br />

Particle Swarm Optimization”, Proceedings <strong>of</strong> the 7th<br />

International Conference on Evolutionary Programming<br />

VII,1998,pp.591-600.<br />

[14] C. W. Reynolds, “Flocks, herds, and schools: a distributed<br />

behavioral model”, Computer Graphics, 1987, Vol.21,<br />

No.4, pp.25–34.<br />

© 2010 ACADEMY PUBLISHER<br />

[15] H. Heppner and U. Grenander, “A stochastic non-linear<br />

model for coordinated bird flocks” In S. Krasner (Ed.), The<br />

ubiquity <strong>of</strong> chaos. Washington: AAAS. ,1990, pp. 233–238.<br />

[16] S. Gao and J. Y. Yang, Swarm Intelligence Algorithm and<br />

Applications. Beijing: China Water Power Press, 2006,<br />

pp.112-117(in Chinese).<br />

[17] S. Gao, K. Z. Tang, X. Z. Jiang, and J. Y. Yang,<br />

“Convergence Analysis <strong>of</strong> Particle Swarm Optimization<br />

Algorithm”, Science Technology and Engineering<br />

,2006,vol.6, no.12, pp.1625-1627,1631(in Chinese).<br />

Shang Gao was born in 1972, and received his M.S. degree<br />

in 1996 and Ph.D degree in 2006. He now works in school <strong>of</strong><br />

computer science and technology, Jiangsu University <strong>of</strong> Science<br />

and Technology. He is an associate pr<strong>of</strong>essor and He is engage<br />

mainly in systems engineering.<br />

Zaiyue Zhang was born in 1961, and received his M.S.<br />

degree in mathematics in 1991 from the Department <strong>of</strong><br />

Mathematics, Yangzhou Teaching College, and the Ph.D.<br />

degree in mathematics in 1995 from the Institute <strong>of</strong> S<strong>of</strong>tware,<br />

the Chinese <strong>Academy</strong> <strong>of</strong> Sciences. Now he is a pr<strong>of</strong>essor <strong>of</strong> the<br />

School <strong>of</strong> Computer Science and Technology, Jiangsu<br />

University <strong>of</strong> Science and Technology. His current research<br />

areas are recursion theory, knowledge representation and<br />

knowledge reasoning.<br />

Cungen Cao was born in 1964, and received his M.S. degree<br />

in 1989 and Ph.D. degree in 1993 both in mathematics from the<br />

Institute <strong>of</strong> Mathematics, the Chinese <strong>Academy</strong> <strong>of</strong> Sciences.<br />

Now he is a pr<strong>of</strong>essor <strong>of</strong> the Institute <strong>of</strong> Computing Technology,<br />

the Chinese <strong>Academy</strong> <strong>of</strong> Sciences. His research area is large<br />

scale knowledge processing.


158 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

Research and Design <strong>of</strong> Intelligent Electric Power<br />

Quality Detection System Based on VI<br />

Yu Chen<br />

Zhengzhou Institute <strong>of</strong> Aeronautical Industry Management, Zhengzhou, China<br />

Email: chenyu3440@gmail.com<br />

Abstract—Electric power quality problem has become an<br />

important problem in modern society, which effects<br />

industrial production and product quality, etc. So, we<br />

urgently need monitor and analyze electric power<br />

parameter to solve electric power quality problem. In this<br />

paper, we design a kind <strong>of</strong> electric power parameter<br />

detection system based on visual instrument (VI) technology,<br />

etc. System uses voltage/currency transformer module and<br />

signal processor module to realize electric power network<br />

analog signal conversion. System adopts multiplexing<br />

technology, which solves multi data acquisition card (DAQ)<br />

using complexity problem as well as saving cost. In addition,<br />

system s<strong>of</strong>tware adopts method <strong>of</strong> wavelet resolution<br />

analysis combining with FFT, which solving FFT<br />

disadvantage in analyzing non-steady distortion signal.<br />

System is applied to harmonic monitor, voltage fluctuation<br />

and flicker monitor, etc. This paper mainly introduces<br />

system’s structure, algorithm simulation, part <strong>of</strong> hardware<br />

and s<strong>of</strong>tware design in detail. Through experiment, monitor<br />

error <strong>of</strong> harmonic wave’s THD% is 0.01%, and amplitude<br />

wave’s frequency and amplitude <strong>of</strong> voltage flicker is<br />

respectively less than 0.01Hz and 0.005V, which obtains<br />

accuracy result in high monitor precision as expectation.<br />

Index Terms—visual instrument, DAQ, FFT, harmonic<br />

monitor, voltage fluctuation and flicker, wavelet analysis,<br />

Matlab+LabVIEW<br />

I. INTRODUCTION<br />

With the development <strong>of</strong> power electric system,<br />

especially introduced <strong>of</strong> power electronic equipment,<br />

power system harmonic harm is serious increasing. On<br />

production <strong>of</strong> industrial and mining enterprises, etc,<br />

power quality is necessary. To assure equipment reliable<br />

operation, we need detect voltage, currency, and their<br />

state <strong>of</strong> power network, etc in real time. Traditional<br />

detection equipment depends artificial to complete, but<br />

there are many more problems: one is field circumstance<br />

is poor, especially, under middle or high voltage<br />

condition, which is not suitable to work in long term; the<br />

other is that artificial style has larger error, and data static,<br />

processor both require amount <strong>of</strong> time and work. In<br />

addition, present detection equipment can not completely<br />

detach field. So, design a kind <strong>of</strong> convenient and simple<br />

detection style has very important significance. With the<br />

increasing <strong>of</strong> electric component precision, speed, and<br />

reliability, it provides base to realize high character<br />

method and in real-time control. [1]<br />

This system adopts technologies <strong>of</strong> data acquisition<br />

multiplexing, VI, PC, and new algorithm <strong>of</strong> wavelet<br />

© 2010 ACADEMY PUBLISHER<br />

doi:10.4304/jcp.5.1.158-165<br />

multi-resolution, etc, which an intelligent power network<br />

detection system is carried out.<br />

II. SYSTEM STRUCTURE AND WORK PRINCIPLE<br />

Intelligent electric power quality detection system is<br />

mainly composed <strong>of</strong> two parts, which is PC system<br />

installing VI s<strong>of</strong>tware LabVIEW8.5+Matlab and data<br />

acquisition system. Because PC system input signal is<br />

small voltage signal after processed by transformer and<br />

process module transforming from three phase<br />

voltage/currency. According to waiting signal detection<br />

method demand, when monitor voltage phase, power<br />

factor, etc, which needs adopt synchronization collection<br />

style, it is to say, we need synchronization sample to two<br />

phase voltage or voltage-currency. If we make six groups<br />

signal amplify, filter and transmit to data acquisition<br />

module, which needs data acquisition module at least has<br />

six groups synchronization sampling channel. But normal<br />

synchronization DAQ only has four groups<br />

synchronization sampling channel, which needs two card<br />

and increases synchronization controlling problem<br />

between two cards, and brings cost and technology<br />

complex problem by this kind <strong>of</strong> style. So, system adopts<br />

multiplexing technology to solve this problem. Overall<br />

structure <strong>of</strong> system design is shown as Fig. 1.<br />

Signal process module<br />

Data acquisition card<br />

PC<br />

Sensor monitor signal<br />

Figure 1. Overall structure <strong>of</strong> system design<br />

III. SYSTEM HARDWARE DESIGN<br />

VI s<strong>of</strong>tware<br />

(LabVIEW8.5)<br />

Six groups <strong>of</strong> electric power parameter <strong>of</strong> electric<br />

power system two channel groups output through double<br />

channel 16 groups/double 8 group analog switch AD7507,<br />

and then it is amplified, low-passing filtered and<br />

transmitted to DAQ. So, we only need one card to fulfill<br />

system signal collection requirement, which not only<br />

reduces cost, but also simplifies technology schema. To<br />

increase monitor system generality, we design multirange<br />

automatic control circuit, which makes system<br />

automatically range shifting to meet monitored value<br />

changing according DAQ A/D transfer’s factors <strong>of</strong><br />

voltage change limit value, monitor precision and<br />

resolution, etc.


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 159<br />

System completes field electric power system detection<br />

in real time, and processes field collection data through<br />

PC Computer adopts normal industry control computer.<br />

System PC can realize displaying and alarming through<br />

analyzing and processing receiving data. Because paper<br />

coverage is limit, so we introduce some important parts.<br />

A. Transformer Circuit<br />

System adopts voltage transformer SPT204A and other<br />

circuit to consist voltage signal collection module.<br />

SPT204A is a precision current transformer <strong>of</strong> mA level<br />

in fact. Because <strong>of</strong> size technology it usually adopts<br />

voltage transformer <strong>of</strong> current type. And its rated<br />

transformation ratio is 1, input rated current is 2mA, input<br />

voltage can’t add to primary coil in use, we need to serial<br />

into limit currency resistance, which makes voltage signal<br />

transform into currency signal <strong>of</strong> mA level. Secondary<br />

output mA level currency signal is transformed into<br />

voltage signal by amplifier I/V transferring. Amplifier<br />

uses good character chip LM118, which can easy to reach<br />

higher precision and stability. Transformer works at<br />

approximate zero load state, which has many advantages<br />

such as broad dynamic range, high precision, and good<br />

linearity, etc. Voltage signal collection circuit is shown as<br />

Fig. 2.<br />

Figure 2. Voltage transformer circuit<br />

System uses currency transformer STC254AK and<br />

other circuit to compose currency transformer module.<br />

Circuit principle is basic same as voltage transformer<br />

without introducing. In addition, in system designing, we<br />

should notice transformer has homonymy and synonym<br />

end, input signal should synonym end connects LM118<br />

reversed phase end, which can assure amplifier signal<br />

same with detection signal. Otherwise it is reversed phase.<br />

[2]<br />

B. Multi-channel Selection Switcht<br />

System adopts America AD .co production 16<br />

channel/double 8 channel, low leakage, CMOS analog<br />

multiplexer AD7507, which makes sensor module output<br />

in two channel voltage signal, and then realize subsequent<br />

process <strong>of</strong> amplify and filter. AD7507 logic true value<br />

table is shown as Table I.<br />

TABLE I.<br />

LOGIC TRUE VALUE TABLE<br />

A2 A1 A0 EN On-<strong>of</strong>f switch<br />

× × × 0 NONE<br />

0 0 0 1 1&9<br />

0 0 1 1 2&10<br />

0 1 0 1 3&11<br />

0 1 1 1 4&12<br />

1 0 0 1 5&13<br />

1 0 1 1 6&14<br />

1 1 0 1 7&15<br />

1 1 1 1 8&16<br />

© 2010 ACADEMY PUBLISHER<br />

From Table I we can see, each group <strong>of</strong> chip outputs<br />

corresponding one group <strong>of</strong> input, it can control Ua, Ub,<br />

Uc, Ia, Ib and Ic signal in double channel acquisition by<br />

three channel selection ports and a enable port, so, we<br />

need four control signal <strong>of</strong> D0, D1, D2 and D3 form<br />

DAQ. Circuit principle is shown as Fig. 3. [3]<br />

Figure 3. Multi-channel selection switch circuit<br />

C. DAQ Selectiont<br />

Because this projection monitor task is simpler without<br />

multi-module trigger problem, monitor signal is low<br />

frequency, and has more requirements <strong>of</strong> EMI, etc. So,<br />

thinking about hardware cost and realization complexity,<br />

we adopt data acquisition module based on PCI bus, and<br />

plug DAQ directly into PC PCI bus, which realizes field<br />

data collected and processed as controlled object by PC.<br />

This system adopts ADLINK .co DAQ-2010 4 channel<br />

synchronization DAQ, which has 14 bit A/D resolution;<br />

maximum sampling frequency can reach 2MHz.<br />

According GB <strong>of</strong> electric network quality, A level<br />

instrument frequency monitor range is 0~2500Hz, which<br />

is 50 times <strong>of</strong> sampling maximum time harmonic signal’s<br />

frequency. From Nyquist sampling method we can see, if<br />

DAQ’s maximum sampling frequency is more than 5 kHz,<br />

it can reach system requirement. This DAQ-2010 can<br />

completely meet electric power quality Ath level monitor<br />

requirement <strong>of</strong> three phase voltage, currency.<br />

In addition, ADLINK .co not only provides DAQ-2010<br />

driving program, which can assure DAQ to realize all<br />

function well in LabVIEW platform, but also provides<br />

part <strong>of</strong> VI function, which makes user program by calling<br />

these functions in LabVIEW circumstance.<br />

IV. SYSTEM SOFTWARE DESIGN<br />

S<strong>of</strong>tware design <strong>of</strong> system adopts modularization<br />

program structure. PC program control s<strong>of</strong>tware uses<br />

LabVIEW+Matlab, and adopts LabSQL[4] connecting<br />

with database to design. S<strong>of</strong>tware system adopts modular<br />

design, which divides into some relative independent<br />

function module, and arranges suitable enter and exit port<br />

parameters. We mainly introduce electric power quality<br />

monitor method <strong>of</strong> harmonic, voltage fluctuation and<br />

flicker, etc. In harmonic monitor, we use FFT combining<br />

wavelet multi-resolution monitor method, which can<br />

realize harmonic monitor when signal has mutation. In<br />

voltage fluctuation and flicker monitor, we use<br />

synchronization square monitor algorithm with multiresolution<br />

monitor method, which can realize analysis<br />

without low-passing filter. We mainly introduce part <strong>of</strong><br />

method and theory in use.


160 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

A. LabSQL Connecting With Database<br />

This system selects LabSQL connects with database,<br />

principle <strong>of</strong> LabSQL connecting with database is shown<br />

as Fig. 4. Using LabSQL can realize data transmission<br />

between application program and database.<br />

LabVIEW<br />

LabSQL VIs<br />

DSN (Data source name)<br />

ODBC Driver<br />

Database<br />

Figure 4. Frame diagram flow <strong>of</strong> LabSQL connecting with database<br />

To avoid user error operation because no using<br />

authority, we design login and check functions module,<br />

etc. Login program uses LabVIEW to design. User<br />

information includes user name, password, authority,<br />

login times, and last time login time, etc. Database “用<br />

户.mdb” use Micros<strong>of</strong>t Access to build. Among them, we<br />

design a “用户” table to storage user information, which<br />

design structure is shown as Table II.<br />

TABLE II.<br />

DATABASE USER TABLE<br />

B. FFT<br />

At present, harmonic monitor method is DFT and FFT.<br />

DFT computational complexity is proportional to square<br />

<strong>of</strong> transform length N. When harmonic analysis, in order<br />

to assure calculation precision, N is a big number value,<br />

so, computational complexity is greatly. FFT is fast speed<br />

algorithm <strong>of</strong> DFT, which can improve 1~2 magnitude in<br />

DFT operation efficient. So, it has broad application in<br />

harmonic analysis. [5] Its way is shown as below: at first,<br />

calculate basic wave, real and imaginary parts <strong>of</strong> each<br />

harmonic, then calculate its amplitude and phase, and<br />

each harmonic containing amount and harmonic total<br />

amount. As voltage value for example, if we use FFT<br />

algorithm to get real and imaginary <strong>of</strong> K times harmonic<br />

(k=2, 3…40) is Ur( k ) and U ( k ) , then K times harmonic<br />

i<br />

voltage amplitude U( k ) is shown as formula (1):<br />

2 2<br />

U( k) = Ur ( k) + Ui ( k)<br />

(1)<br />

Phase <strong>of</strong> K times’ harmonic voltage is as (2):<br />

U(k)<br />

(2)<br />

r<br />

θ( k)= arctg<br />

Ui( k)<br />

Correspondingly, we can get harmonic containing<br />

amount by using some times harmonic amplitude<br />

© 2010 ACADEMY PUBLISHER<br />

corresponding to basic amplitude percentage. K times’<br />

harmonic containing amount is shown as (3): [6]<br />

U( k)<br />

HRU ( k)<br />

= × 100%<br />

(3)<br />

U (1)<br />

Total harmonic distortion (THD) is total containing<br />

amount reflecting harmonic, which can calculate by<br />

below formula is shown as formula (4):<br />

40<br />

2<br />

∑ U k<br />

(4)<br />

k=2<br />

THD= × 100%<br />

U1<br />

Though FFT has character <strong>of</strong> fast speed, high precision,<br />

etc, this method has two sides <strong>of</strong> error, it is leakage error<br />

when sample period is asynchrony with signal period, and<br />

frequency aliasing error as sample frequency is less than<br />

biggest signal frequency twice. Leakage error has found<br />

some ways to solve, such as adding window technology,<br />

and interpolation technology, etc. But, at aliasing error<br />

aspect, normally, we adopt adding low-passing filter<br />

behind sampling, which can filter higher <strong>of</strong> Nyquist<br />

frequency component. But, FFT on harmonic monitor is<br />

suggested wave is stable and period. In fact, harmonic<br />

signal would have catastrophe point, integral action <strong>of</strong><br />

Fourier transform smoothing unstable signal catastrophe,<br />

which can make Fourier algorithm effect is not ideal at<br />

unstable harmonic monitor, such as signal catastrophe,<br />

transient distortion, short time harmonic, etc.<br />

C. Multi-resolution Wavelet Analysis Algorithm<br />

When sampling frequency <strong>of</strong> signal that waiting to be<br />

analyzed is satisfied with the sampling theory <strong>of</strong> Nyquist,<br />

normalization frequency band is restrained between -π<br />

and +π. So we can use parts <strong>of</strong> low frequency 0~π/2 and<br />

high frequency 2/π~π. They are decomposed by ideal<br />

low-pass filter H0 and high-pass filter H1, which is<br />

corresponding to signal general picture and detail. The<br />

two groups <strong>of</strong> output must be orthogonal because the<br />

frequency band cannot associate with, and that the width<br />

<strong>of</strong> frequency band is halved, so the information would not<br />

lose if we use sample rate in half. Sample rate <strong>of</strong> bandpass<br />

signal is decided by its width <strong>of</strong> band but its upper<br />

limit <strong>of</strong> frequency. The analogous process can be carried<br />

out to every part <strong>of</strong> low frequency signal after<br />

decomposing. That is to say, output signal is decomposed<br />

into a general approach part <strong>of</strong> low frequency and a detail<br />

<strong>of</strong> high frequency part in each level decomposing, and<br />

output sample rate <strong>of</strong> each level can divide into half. So<br />

the original signal s(n) is decomposed in multi-resolution.<br />

a ( k )<br />

1<br />

x( n )<br />

2 ( ) a k d2 ( k )<br />

3 ( ) a k d3 ( k )<br />

d ( k )<br />

Figure 5. Multi-resolution wavelet decomposition<br />

Fig. 5 takes on an operation as: x(n)=a3(k)+ d3(k)+<br />

d2(k)+d1(k). S is original analysis signal. d1(k), a1(k),<br />

d2(k), a2(k), d3(k) and a3(k) are high and low frequency<br />

1


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 161<br />

<strong>of</strong> each layer’s decomposition. If we want decompose any<br />

more, the method is same. The ultimately intention is that<br />

construct an orthogonal wavelet base in a frequency band,<br />

which highly approach in 2 L ( R ) dimensional. These<br />

orthogonal wavelet bases in different frequency resources<br />

are equal as band-pass filter <strong>of</strong> different bandwidth. The<br />

low frequency signal is decomposed constantly in multiresolution<br />

analysis, which makes frequency resolution<br />

become higher and higher.<br />

Based on the theory <strong>of</strong> multi-resolution analysis,<br />

Mallat presents a fast algorithm <strong>of</strong> wavelet decomposition<br />

and reconstruct—Mallat. [7] The initial value is show as<br />

below:<br />

j − 1<br />

j j −1<br />

j<br />

c n = ∑ a i − 2 n c d i n = ∑ bi−2nci i<br />

i .<br />

N M<br />

Output is c −<br />

j<br />

and d ( N − M ≤ j ≤ n)<br />

.<br />

N is signal decomposition level <strong>of</strong> analysis signal f(x),<br />

j<br />

f n is discrete sample value <strong>of</strong> analysis signal f(x),<br />

c n and<br />

j<br />

d n are modulus <strong>of</strong> low frequency and high frequency. n a<br />

and n b are decomposition list <strong>of</strong> low frequency and high<br />

frequency, which is decided by scale function Φ(x) and<br />

wavelet function Ψ(x). The detail <strong>of</strong> each signal<br />

frequency band can be observed through focusing signal<br />

scale based on multi-resolution Mallat arithmetic. [8]<br />

D. FFT Combining Wavelet Transform<br />

Ideal harmonic analysis algorithm should be not only<br />

getting each times stable harmonic accuracy frequency,<br />

amplitude, and phase but also monitor small change, such<br />

as transient harmonic, and transient catastrophe. So,<br />

single to use Fourier algorithm or wavelet transform<br />

algorithm also make perfect harmonic analysis, so, this<br />

paper combines the two algorithm to realize harmonic<br />

monitor and analysis.<br />

Before we adopt FFT to carry out harmonic analysis,<br />

we firstly monitor if unstable interference signal has or<br />

not, if it has, we will filter it at first. Because Fourier<br />

transform has limited in time domain, so, it can not<br />

analyze unstable distorted wave. But, wavelet transform<br />

has good time domain locality, which can process<br />

transient signal and make up Fourier transform<br />

shortcoming. As well as provide better basic to FFT.<br />

When monitor catastrophe point by using mode<br />

maximum and singularity detection method. Harmonic<br />

monitor principle is shown as Fig. 6. [9]<br />

Basic wave, each times harmonic, THD and spectrum<br />

Sample signal after wavelet<br />

de-noising and filter<br />

Multiresolution<br />

wavelet<br />

transform<br />

Figure 6. Flow diagram <strong>of</strong> combining wavelet transform with FFT<br />

From upon diagram we can see, this kind <strong>of</strong> harmonic<br />

monitor and analysis algorithm adds multi-resolution<br />

wavelet transform algorithm before FFT algorithm, which<br />

© 2010 ACADEMY PUBLISHER<br />

Stable<br />

component<br />

Subtract<br />

FFT<br />

analysis<br />

Transient<br />

component<br />

is the key <strong>of</strong> this method and its function is: ①analyzing<br />

signal transient component; ② correction-compensation<br />

initial signal, which reduces FFT error because <strong>of</strong><br />

transient component, and improve spectrum analysis<br />

precision.<br />

E. Voltage Flicker Synchronization Square Algorithm<br />

Voltage flicker <strong>of</strong> electric net voltage can be seen that<br />

a carrier wave, which composed <strong>of</strong> power frequency<br />

voltage in sinusoidal, is changed amplitude modulation<br />

by a frequency 0.5Hz~35Hz signal. Electric net voltage<br />

changing usually causes voltage flicker. So electric net<br />

voltage fluctuation and flicker signal u(t) can use be<br />

expressed as formula (5):<br />

ut ( ) = V[1 + msin( Ω t)]sin( wt)<br />

m<br />

(5)<br />

In formula (3-3), Vm is voltage amplitude <strong>of</strong> power<br />

frequency, w0 is angle frequency <strong>of</strong> power frequency<br />

carrier wave, m is voltage amplitude <strong>of</strong> amplitude<br />

modulation wave/ carrier wave voltage (modulation<br />

parameter), and m ≤ 1,<br />

mcos(Ωt) is flicker voltage, and Ω<br />

is angle frequency <strong>of</strong> amplitude modulation voltage.<br />

The envelope signal <strong>of</strong> voltage flicker msin(Ωt)<br />

includes its amplitude and frequency information. The<br />

signal will be decomposed into a series <strong>of</strong> sinusoidal<br />

signals’ sum by using wavelet multi-resolution signal<br />

decomposition method, which constituted by groups <strong>of</strong><br />

sub-band filters, and each component compares to a kind<br />

<strong>of</strong> corresponding frequency sinusoidal signal. Wavelet<br />

analysis approaches original signal in different resolution,<br />

and projection component has a certain bandwidth with<br />

time-domain resolution. Through replacing traditional<br />

low-pass filter <strong>of</strong> synchronization radio-detector by subband<br />

filter, we cannot only measure envelope signal <strong>of</strong><br />

voltage fluctuation with non-distorted, but also precisely<br />

monitor the start time and amplitude <strong>of</strong> voltage flicker.<br />

This paper introduces a method with adopting IEC<br />

commendatory <strong>of</strong> square monitor [10] and combining<br />

wavelet analysis in allusion to the stable or unstable<br />

voltage flicker signal. After experiment, this method is a<br />

better way. Its measurement principle diagram is shown<br />

as Fig. 7.<br />

Sampling<br />

2<br />

u () t<br />

Square<br />

ut ()<br />

Wavelet<br />

decomposition<br />

Envelope<br />

signal<br />

Figure 7. Wavelet transforms measurement<br />

2<br />

u () t High frequency<br />

detail parameter<br />

2<br />

u () t Low frequency<br />

approach parameter<br />

Wavelet reconstruction<br />

According to square measurement method, we can gain<br />

envelope signal <strong>of</strong> u(t) from 2<br />

u () t low frequency<br />

approach parameter when make modulation wave voltage<br />

to square based on wavelet reconstruction. Formula<br />

derivation process is shown as below formula (6):<br />

2 2 2 2 2<br />

u ( t) = A (1+ 2msin Ω t+ m sin Ω t)sin ωt<br />

0


162 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

2 2 2 2<br />

2<br />

2 2<br />

A<br />

=<br />

2<br />

m A m A<br />

(1 + ) + A msin Ωt− (1 + )cos 2ωt− 2 2 2 4<br />

m cos 2Ωt<br />

2 2<br />

A 2<br />

A<br />

− m sin(2 ω+Ω ) t+ msin(2 ω−Ω)<br />

t<br />

2 2<br />

2 2<br />

A 2 A 2<br />

+ m cos 2( ω+Ω ) t+ m cos 2( ω−Ω)<br />

t<br />

8 8<br />

(6)<br />

From formula (6) we can see, modulation wave voltage<br />

quadratic term has not only DC component, but also<br />

2( ω ± Ω ) ,<br />

frequency component, such as Ω , 2Ω , 2ω , 0 0<br />

2ω 0 ±Ω. We analyze time-frequency <strong>of</strong> 2 u () t by using<br />

Mallat wavelet decomposition arithmetic. [11] Its process<br />

is corresponding to a decomposition process <strong>of</strong> a series <strong>of</strong><br />

sub-band. Considering actual modulation index m is far<br />

from 1, multiple component <strong>of</strong> amplitude modulation<br />

wave voltage is far from amplitude <strong>of</strong> amplitude<br />

modulation wave, so we can neglect it. Thereby, we can<br />

realize demodulation after wavelet transforming, and<br />

obtain near weighting amplitude modulation voltage ' u() t,<br />

which is shown as formula (7)<br />

' 2<br />

u () t ≈ mV sinΩ<br />

t<br />

(7)<br />

m<br />

V. SIMULATION ANALYSIS<br />

A. Mutation Point Analysis and Compensation<br />

In order to verify this algorithm accuracy, we suggest<br />

o<br />

signal: x( t) = sin100π t+ 0.3sin(200πt+ 15 ) + 0.15sin(400πt+<br />

o o o<br />

30 ) + 0.1sin(600πt+ 30 ) + 0.01sin(1200πt+ 60 ) + pt () cos(<br />

3200πt). From signal, signal basic wave frequency is<br />

50Hz, amplitude is 1, and containing amplitude <strong>of</strong> 0.3,<br />

frequency <strong>of</strong> 100Hz 2 times harmonic; amplitude <strong>of</strong> 0.15,<br />

frequency <strong>of</strong> 200Hz 4 times harmonic; amplitude <strong>of</strong> 0.1,<br />

frequency <strong>of</strong> 400Hz 6 times harmonic; and amplitude is<br />

0.01, frequency <strong>of</strong> 600Hz 12 times harmonic component..<br />

In addition, structure a mutation signal p(t), signal<br />

produce a unstable cosine shrinkage pulse signal at<br />

0.015s, constant width is 0.000625s, p(t) signal is<br />

structured through segment function. Suggesting we<br />

sample signal as frequency 6.4 kHz, so pulse is between<br />

96 and 100 sample pot in theory. Through Matlab<br />

simulation to initial signal, Initial signal simulation wave<br />

is shown as Fig. 8.<br />

Figure 8. Initial signal simulation diagram.<br />

According to signal x(t), its basic frequency f is 50Hz,<br />

sample frequency f is 6.4kHz, from formula (3-5), we<br />

s<br />

can get N=5. So, after making 5 layers wavelet multiresolution<br />

decomposition, we can get a5, which is basic<br />

wave component range. Each times’ harmonic<br />

respectively is distributed at high frequency band d1 and<br />

d2. Frequency band division is shown as Fig. 9.<br />

© 2010 ACADEMY PUBLISHER<br />

0~3.2<br />

kHz<br />

1.6~3.2<br />

kHz<br />

d1<br />

0~1.6<br />

kHz<br />

0.8~1.6<br />

kHz<br />

d2<br />

0~800<br />

Hz<br />

400~80<br />

0Hz<br />

0~400<br />

Hz<br />

200~40<br />

0Hz<br />

0~200<br />

Hz<br />

Figure 9. Dividing <strong>of</strong> signal y frequency band.<br />

100~20<br />

0Hz<br />

According to multi-resolution analysis layer, we make<br />

signal x(t) db24 wavelet decomposition, and extract this<br />

two layers high frequency detail d1, d2 and its neighbor<br />

d3. According to d1 (or d2) confirming transient<br />

disturbance continue time segment, without disturbance,<br />

d1 value is minimal, 0.00000 or 0.00001, and we make<br />

mode maximum value [13] monitor to judge if there is<br />

mutation and confirm disturbance time, limited value is<br />

mode average 10 times, and we can obtain disturbance<br />

appear between 96 and 100 point, and its continue time<br />

∆T we can get by ways as:<br />

1<br />

∆ T = × (100 − 96) = 0.000625s.<br />

6400<br />

From calculation, this transient signal time is shortest,<br />

(∆T


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 163<br />

B. Harmonic Analysis<br />

Because wavelet analysis is base on multi-resolution<br />

signal processing theory, different scale corresponds with<br />

different time and frequency resolution. That is to say,<br />

different frequency component <strong>of</strong> original signal can be<br />

separated through wavelet decomposition to realize<br />

detection and tracking <strong>of</strong> the harmonic. In electric power<br />

system, original signal fundamental wave frequency is<br />

50Hz and effectively decomposition to it can obtain subband<br />

( 0 /2 j<br />

∼ f ) whose frequency range contains 50Hz.<br />

s<br />

Therefore, fundamental wave can be separated from<br />

various harmonic. In power system, harmonic’s order,<br />

produced actually by the voltage or current <strong>of</strong> network,<br />

mostly may be 2K+1. In given simulation algorithm,<br />

original current signal construct harmonic <strong>of</strong> 1, 3, 5, 7<br />

orders and expression is: x(t)=sin(wt)+sin(3wt+3)/3+sin<br />

(5wt+5)/5+sin(7wt+7)/7, w=100π. According to sampling<br />

theorem, the sampling frequency <strong>of</strong> discrete signals can’t<br />

be lower two times than the highest frequency. The<br />

sampling frequency is fs=50×512=25600 =25.6 kHz and<br />

carry on 7 levels decomposition to original signals by<br />

choosing the db24 as wavelet function.<br />

In original signals, only fundamental wave frequency<br />

is between 0Hz and 100Hz. Therefore, we can obtain<br />

fundamental wave component by means <strong>of</strong> the<br />

reconstruction <strong>of</strong> a7 ( k ) and simultaneously attain the end<br />

<strong>of</strong> fundamental wave detection. The transforming results<br />

<strong>of</strong> scale 1 to 7 are sub-band d1~d7, and respectively<br />

indicate the harmonic <strong>of</strong> continuous frequency. The<br />

reconstructed images through different wavelet<br />

coefficient decomposing are as shown in Fig. 12.<br />

Figure 12. Reconstructed <strong>of</strong> various wavelet resolution coefficients<br />

From simulation results <strong>of</strong> sub-band a7, we can figure<br />

out the amplitude value <strong>of</strong> fundamental wave component<br />

to be 0.9931V and the effective value to be 0.7023V. The<br />

relative error <strong>of</strong> the effective values is 0.67%. Therefore,<br />

this method can realize the separation <strong>of</strong> fundamental<br />

wave. In addition, because wavelet db24 is un-symmetry,<br />

therefore, the excursion <strong>of</strong> frequency’s phase appears<br />

between the fundamental wave component, which<br />

detected and the original fundamental component. It is<br />

shown as Fig. 13.<br />

© 2010 ACADEMY PUBLISHER<br />

Figure 13. Ideal fundamental wave (broken line) and real fundamental<br />

wave (real line)<br />

The original signal can be decomposed into the<br />

fundamental wave a7 and sub-harmonics d1, d2, d3, d4,<br />

d5, d6, and d7 through wavelet transform. The frequency<br />

<strong>of</strong> sub-band signals respectively is 445.64Hz, 276.72Hz,<br />

150.00Hz, 50Hz, and the result is consistent with Table 1.<br />

It can be seem that wavelet transform has good<br />

localization characteristic in time domain and frequency<br />

domain as well and it is suitable for harmonic analysis <strong>of</strong><br />

electric power system. The real-time harmonic tracking<br />

mainly aims at obtaining the trend <strong>of</strong> harmonic. The<br />

relative error <strong>of</strong> amplitude and phase may not demand too<br />

much. By choosing suitable wavelet, the wavelet<br />

transform can effectively track the changing trend <strong>of</strong><br />

harmonic. It is shown as Fig. 14.<br />

Figure 14. Ideal harmonic (broken line) and real harmonic (real line)<br />

C. Voltage Fluctuation and Flickers<br />

Steelmaking arc furnace is main equipment causing<br />

electric voltage fluctuation and flicker, and each<br />

frequency sub-value <strong>of</strong> amplitude is inversely<br />

proportional to frequency. Now we analyze arc furnace<br />

voltage flicker signal by wavelet analysis tools <strong>of</strong><br />

simulation s<strong>of</strong>tware Matlab. We suggest electric voltage<br />

flicker signal expression causing by steelmaking arc<br />

furnace as formula (8):<br />

ut () = Vm[1+ msin Ω t]sin( wt)<br />

(8)<br />

From formula (8), Vm=1V, Ω=6πrad/s, w=314πrad/s.<br />

when 0.1875s≤t≤1.875s, m=0.05. On Matlab simulation<br />

experiment, at first, we make initial signal u(t) squaring,<br />

get signal s(t), then get 8000 sample point <strong>of</strong> s(t) by<br />

3.2kHz sample frequency, and then select Daubechies<br />

wavelet db24, decompose signal into multi-layer wavelet<br />

decomposition and reconstruction.<br />

High frequency d1 and d2 is after wavelet transform<br />

and reconstruction. Model maximum position is mutation<br />

point position. It is shown as Fig. 15. In which, abscissa<br />

is time, unit is s, ordinate is voltage amplitude, and unit is


164 JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010<br />

V. The following wave diagram abscissa and ordinate is<br />

same.<br />

Figure 15. Reconstruction high frequency signal d1 and d2.<br />

From Fig. 15 we can see, two position <strong>of</strong> mutation<br />

point respectively at t1≈0.20s and t2≈1.85s, modulus<br />

maximum <strong>of</strong> position t2 obvious larger than t1, which<br />

express singular degree <strong>of</strong> t2 is higher than t1, simulation<br />

experiment shows that mutation position and singular<br />

degree are uniform with initial signal. Low frequency a6<br />

is voltage flicker signal envelope after wavelet<br />

transform reconstruction. It is shown as Fig. 16.<br />

Figure 16. Reconstruction low frequency signal a6<br />

From Fig. 16 we can see, voltage flicker signal initial<br />

time t1 is at position 0.2s and end time t2 position is at<br />

1.85s, which is uniform with theory value 0.1875s and<br />

1.875s, and in Fig. 15, transient signal shows as slope<br />

form at position t1, and position t2 shows as spike signal,<br />

which is uniform to mutation ambiguity degree in<br />

conclusion1. From it we can see, by selecting suitable<br />

wavelet, orthogonal wavelet decomposition algorithm can<br />

effectively recognize signal position <strong>of</strong> catastrophe point<br />

and singular degree.<br />

To verify wavelet reconstruction accuracy <strong>of</strong> sub-band<br />

signal, we suppose a(t)=0.1sin(Ωt)+0.03sin(3Ωt)+0.02sin<br />

(5Ωt), from Ω=6πrad/s, we can see, flicker signal<br />

includes three amplitude wave <strong>of</strong> 3Hz, 9Hz, and 15Hz,<br />

and theoretical amplitude respectively is 0.1, 0.03 and<br />

0.02. From multi-resolution Mallat algorithm, each subband<br />

frequency range is shown as Table III.<br />

TABLE III.<br />

SUB-BAND FREQUENCY RANGE<br />

Scale(j) Reconstruction signal Frequency band (Hz)<br />

1 d1 800~1600<br />

2 d2 400~800<br />

3 d3 200~400<br />

4 d4 100~200<br />

5 d5 50~100<br />

6 d6 25~50<br />

6 a6 0~50<br />

7 d7 12.5~25<br />

7 a7 0~25<br />

8 d8 6.25~12.5<br />

10 d10 1.5625~3.125<br />

© 2010 ACADEMY PUBLISHER<br />

VI. SIMULATION ANALYSIS<br />

For easy to realize human-computer interaction<br />

function, we adopt visual instrument technology to design<br />

upper PC voltage flicker observe panel. According to<br />

wavelet decomposition and reconstruction method, we<br />

mix LabVIEW and Matlab to realize flicker monitor by<br />

calling Matlab script node in LabVIEW [14]. Through<br />

setting wavelet decomposition limit frequency value, we<br />

can make signal decomposed into enough bigger scale,<br />

which can make program automatic judge wavelet layer<br />

number, and get all amplitude modulation wave voltage<br />

signal <strong>of</strong> carrier wave.<br />

A. Harmonic Monitor<br />

Upper PC detection system receives lower PC<br />

transmitting data, and memories into EXCEL format file.<br />

Through read power network sample data files, where,<br />

we introduce s<strong>of</strong>tware program method as harmonic<br />

detection for example. System uses wavelet transform<br />

and FFT analysis algorism to realize harmonic analysis.<br />

Matlab [15] wavelet analysis tool box function is perfect.<br />

So, we use Matlab program language to realize wavelet<br />

analysis. And adopt Matlab+LabVIEW mixed program<br />

technology, which make harmonic analysis Matlab<br />

program harmonic.m use at LabVIEW[16][17]program<br />

call. Voltage steady state component after wavelet<br />

decomposing is sent into function FFT.vi port X, FFT<br />

result is obtained at port FFT{X} after program running.<br />

To make wave display control X axis calibration<br />

correspond to time, we add Bundle data packer node: first<br />

item is wave initial position x , where valuation 0,<br />

0<br />

express display from point. Secondary item is step<br />

length ∆ x , where is obtained by system sample<br />

frequency/sample point. The third item is frequency<br />

analysis result shaping array. The three items are sent into<br />

display control after packing.<br />

A phase voltage as example, its harmonic analysis<br />

front panel measurement result is shown as Fig. 17.<br />

Figure 17. Harmonic analysis front panel<br />

Ideal THD% calculation formula is shown as:<br />

2 2 2<br />

77.77 + 40.44 + 31.11<br />

THD% = × 100% = 29. 83%<br />

o<br />

312<br />

From Fig. 17 we can see, THD% <strong>of</strong> monitor value is<br />

29.82%, which obtains accurate measurement result in<br />

little monitor error.<br />

B. Voltage Fluctuation and Flicker<br />

We also use LabVIEW combining Matlab to complete<br />

voltage fluctuation and flicker monitor. In theory, three<br />

kinds <strong>of</strong> amplitude wave signal locate at d7, d8 and d10


JOURNAL OF COMPUTERS, VOL. 5, NO. 1, JANUARY 2010 165<br />

after wavelet transform reconstruction, we use 10 level<br />

reconstruction. Sub-band d7, d8, and d10 simulation<br />

result is shown as Fig. 18.<br />

Figure 18. LabVIEW front panel running result<br />

From Fig. 18 we can get each wavelet reconstruction<br />

sub-band frequency and amplitude after taking single<br />

frequency measurement function <strong>of</strong> LabVIEW function<br />

tools. It is shown as Table IV.<br />

TABLE IV.<br />

RECONSTRUCTION RESULTS<br />

Sub-band Frequency(Hz) Error(Hz) Amplitude(V) Error(V)<br />

d10 3.01 0.01 0.097 -0.003<br />

d8 8.99 -0.01 0.029 -0.001<br />

d7 14.99 -0.01 0.019 -0.001<br />

From three sub value <strong>of</strong> suggestion voltage a(t), which<br />

theoretical amplitude are respectively 0.1V, 0.03V and<br />

0.05V. Signal basic wave, three times, and five times<br />

harmonic wave sub-value amplitude are respectively<br />

0.097V, 0.029V, and 0.019V, frequency are respectively<br />

3.01Hz, 8.99Hz, and 14.99Hz. Corresponding frequency<br />

and amplitude monitor error are shown as Table III,<br />

which is verified algorithm’s accuracy in smaller monitor<br />

error.<br />

VII. CONCLUSION<br />

System changes traditional electric power parameter<br />

measurement style based on hardware as core through VI<br />

technology, which completely adopts PC’s strong<br />

functions <strong>of</strong> calculation, display, and storage, etc.<br />

System uses module <strong>of</strong> voltage/currency transformer,<br />

multiplexing switch, etc, which realizes electric power<br />

network signal detection. S<strong>of</strong>tware design <strong>of</strong> detection<br />

module, data display module, alarming module, report<br />

form drawing module, etc are done by control s<strong>of</strong>tware <strong>of</strong><br />

Matlab+LabVIEW8.5 [18] System hardware has many<br />

advantages <strong>of</strong> sample structure, higher measurement<br />

precision, convenient extension, and easy to realize<br />

© 2010 ACADEMY PUBLISHER<br />

electric power parameter monitor, etc. System s<strong>of</strong>tware<br />

uses wavelet multi-resolution analysis method, etc in<br />

monitor error <strong>of</strong> harmonic wave’s THD% is 0.01%, and<br />

amplitude wave’s frequency and amplitude <strong>of</strong> voltage<br />

flicker is respectively less than 0.01Hz and 0.005V,<br />

which realizes high precision electric power parameters<br />

measurement.<br />

REFERENCES<br />

[1] Pan Tianhong, and Sheng Zhanshi, “Desing <strong>of</strong> Power<br />

Network Voltage Monitoring Instrument Based on SMS<br />

Technique <strong>of</strong> GSM,” Electric Power Automation<br />

Equipment, p.48, Sep 2005.<br />

[2] SPT204A . “Voltage transformer SPT204A,” Beijing :<br />

Department <strong>of</strong> Chunjing SCM Technology Development,<br />

http://www.chunjs.com/.<br />

[3] AD7507.pdf. “8-and 16-Channel Analog Multiplexers<br />

AD7506/AD7507,”Analog Devices Inc, www.analog.com,<br />

2006.<br />

[4] Mi Xiaoyuan, Zhang Yanbin, and Xue Deqing,.”Using<br />

LabSQL Visiting Database in LabVIEW,”Microcomputer<br />

Information, pp.53-54, Oct 2004.<br />

[5] Sun Xiaoming, “Reasch and Design <strong>of</strong> Electric Power<br />

Quality Monitor System,” Shandong University, 2005.<br />

[6] George J. Wakelih. “Electric Power System Harmonic –<br />

Basci Principle, Analysis Method and Filter Design,”<br />

Beijing: Mechanical Industry Publishing House, 2003.<br />

[7] Changhua Hu, “System Analysis and Design based Matlab-<br />

Wavelet Analysis,” Xi’an: Electronic Science and<br />

Technology University, 1999.<br />

[8] Lizhi Cheng, and Hanwei Guo, “Wavelet and Discrete<br />

Transform Principal & Practice,” Beijing: Tinghua<br />

University. 2005.<br />

[9] Zhang Junxia, Ren Zihui, Yue Mingdao, Zhang Guoyuan.<br />

“Design <strong>of</strong> Power Quality Monitoring System Based on Virtual<br />

Instrument,” Instrument Technology, p. 8, Jun 2008.<br />

[10] Xiaoli G, Jianlan L, Xiao W, Jun D, and Zhenguo S,<br />

"Simulation on Voltage Fluctuation Signal Measurement,”<br />

Proceedings <strong>of</strong> the Electric Power System and Automation,<br />

pp. 41-42, Feb 2006.<br />

[11] Lin Zhou, Xue Xia, Yunjie Wan, Hai Zhang, and Peng Lei,<br />

“Harmonic Detection Based on Wavelet Transform,”<br />

Transactions <strong>of</strong> China Electro technical Society, p.68, Sep<br />

2006.<br />

[12] Lizhi Cheng, and Hanwei Guo, “Wavelet and Discrete<br />

Transform Principal & Practice,” Beijing:Tinghua<br />

University, May. 2005.<br />

[13] Zheng Chanzheng, Mao Zhe, and Xie Zhaohong, “The<br />

grain depot temperature test system based on nRF905,”<br />

Microcomputer Information, pp.284-285, Feb 2007.<br />

[14] Guo Xianding, “Applying Wavelet-Transform to Inspect<br />

the Discontinuous Dot <strong>of</strong> Signal,” Electronic Application,<br />

pp, 90-92, Nov 2006.<br />

[15] GeorgeJ,Wakelih,.“Electric power system Harmonic—<br />

Basic Principle, analysis method and filter design,” Beijing:<br />

Mechanical Industry <strong>Publisher</strong>, 2003.<br />

[16] Dai Pengfei, Wang Shengkai, Wang Gefang, and Ma Xin,<br />

“Monitor Engineering and LabVIEW Application,”<br />

Electric Industry Publishing House, May 2006.<br />

[17] Chen Xihui, and Zhang Yinhong, “LabVIEW Program<br />

Desing,” Beijing: Tsing Hua University, July 2007.<br />

[18] Fei Feng, and Yang Wansheng, “LabView and Matlab<br />

Mixed Program,” Electric Technology Application, pp.4-6,<br />

March 2004.


Aims and Scope.<br />

Call for Papers and Special Issues<br />

<strong>Journal</strong> <strong>of</strong> <strong>Computers</strong> (JCP, ISSN 1796-203X) is a scholarly peer-reviewed international scientific journal published monthly for researchers,<br />

developers, technical managers, and educators in the computer field. It provide a high pr<strong>of</strong>ile, leading edge forum for academic researchers, industrial<br />

pr<strong>of</strong>essionals, engineers, consultants, managers, educators and policy makers working in the field to contribute and disseminate innovative new work<br />

on all the areas <strong>of</strong> computers.<br />

JCP invites original, previously unpublished, research, survey and tutorial papers, plus case studies and short research notes, on both applied and<br />

theoretical aspects <strong>of</strong> computers. These areas include, but are not limited to, the following:<br />

• Computer Organizations and Architectures<br />

• Operating Systems, S<strong>of</strong>tware Systems, and Communication Protocols<br />

• Real-time Systems, Embedded Systems, and Distributed Systems<br />

• Digital Devices, Computer Components, and Interconnection Networks<br />

• Specification, Design, Prototyping, and Testing Methods and Tools<br />

• Artificial Intelligence, Algorithms, Computational Science<br />

• Performance, Fault Tolerance, Reliability, Security, and Testability<br />

• Case Studies and Experimental and Theoretical Evaluations<br />

• New and Important Applications and Trends<br />

Special Issue Guidelines<br />

Special issues feature specifically aimed and targeted topics <strong>of</strong> interest contributed by authors responding to a particular Call for Papers or by<br />

invitation, edited by guest editor(s). We encourage you to submit proposals for creating special issues in areas that are <strong>of</strong> interest to the <strong>Journal</strong>.<br />

Preference will be given to proposals that cover some unique aspect <strong>of</strong> the technology and ones that include subjects that are timely and useful to the<br />

readers <strong>of</strong> the <strong>Journal</strong>. A Special Issue is typically made <strong>of</strong> 10 to 15 papers, with each paper 8 to 12 pages <strong>of</strong> length.<br />

The following information should be included as part <strong>of</strong> the proposal:<br />

• Proposed title for the Special Issue<br />

• Description <strong>of</strong> the topic area to be focused upon and justification<br />

• Review process for the selection and rejection <strong>of</strong> papers.<br />

• Name, contact, position, affiliation, and biography <strong>of</strong> the Guest Editor(s)<br />

• List <strong>of</strong> potential reviewers<br />

• Potential authors to the issue<br />

• Tentative time-table for the call for papers and reviews<br />

If a proposal is accepted, the guest editor will be responsible for:<br />

• Preparing the “Call for Papers” to be included on the <strong>Journal</strong>’s Web site.<br />

• Distribution <strong>of</strong> the Call for Papers broadly to various mailing lists and sites.<br />

• Getting submissions, arranging review process, making decisions, and carrying out all correspondence with the authors. Authors should be<br />

informed the Instructions for Authors.<br />

• Providing us the completed and approved final versions <strong>of</strong> the papers formatted in the <strong>Journal</strong>’s style, together with all authors’ contact<br />

information.<br />

• Writing a one- or two-page introductory editorial to be published in the Special Issue.<br />

Special Issue for a Conference/Workshop<br />

A special issue for a Conference/Workshop is usually released in association with the committee members <strong>of</strong> the Conference/Workshop like<br />

general chairs and/or program chairs who are appointed as the Guest Editors <strong>of</strong> the Special Issue. Special Issue for a Conference/Workshop is<br />

typically made <strong>of</strong> 10 to 15 papers, with each paper 8 to 12 pages <strong>of</strong> length.<br />

Guest Editors are involved in the following steps in guest-editing a Special Issue based on a Conference/Workshop:<br />

• Selecting a Title for the Special Issue, e.g. “Special Issue: Selected Best Papers <strong>of</strong> XYZ Conference”.<br />

• Sending us a formal “Letter <strong>of</strong> Intent” for the Special Issue.<br />

• Creating a “Call for Papers” for the Special Issue, posting it on the conference web site, and publicizing it to the conference attendees.<br />

Information about the <strong>Journal</strong> and <strong>Academy</strong> <strong>Publisher</strong> can be included in the Call for Papers.<br />

• Establishing criteria for paper selection/rejections. The papers can be nominated based on multiple criteria, e.g. rank in review process plus<br />

the evaluation from the Session Chairs and the feedback from the Conference attendees.<br />

• Selecting and inviting submissions, arranging review process, making decisions, and carrying out all correspondence with the authors.<br />

Authors should be informed the Author Instructions. Usually, the Proceedings manuscripts should be expanded and enhanced.<br />

• Providing us the completed and approved final versions <strong>of</strong> the papers formatted in the <strong>Journal</strong>’s style, together with all authors’ contact<br />

information.<br />

• Writing a one- or two-page introductory editorial to be published in the Special Issue.<br />

More information is available on the web site at http://www.academypublisher.com/jcp/.


(<strong>Contents</strong> Continued from Back Cover)<br />

Implementation <strong>of</strong> Low Density Parity Check Decoders using a New High Level Design<br />

Methodology<br />

Syed Mahfuzul Aziz and Minh Duc Pham<br />

REGULAR PAPERS<br />

A Formal Model for Abstracting the Interaction <strong>of</strong> Web Services<br />

Li Bao, Weishi Zhang, and Xiong Xie<br />

Performance Evaluation <strong>of</strong> Elliptic Curve Projective Coordinates with Parallel GF(p) Field<br />

Operations and Side-Channel Atomicity<br />

Turki F. Al-Somani<br />

VPRS-Based Knowledge Discovery Approach in Incomplete Information System<br />

Shibao Sun, Ruijuan Zheng, Qingtao Wu, Tianrui Li<br />

NaXi Pictographs Input Method and WEFT<br />

Hai Guo and Jing-ying Zhao<br />

A Systematic Decision Criterion for Urban Agglomeration: Methodology for Causality Measurement<br />

at Provincial Scale<br />

Yaobin Liu and Li Wan<br />

Application <strong>of</strong> Improved Fuzzy Controller for Smart Structure<br />

Jingjun Zhang, Liya Cao, Weize Yuan, Ruizhen Gao, and Jingtao Li<br />

Numerical Simulation <strong>of</strong> Snow Drifting Disaster on Embankment Project<br />

Shouyun Liang, Xiangxian Ma, and Haifeng Zhang<br />

The Simulation <strong>of</strong> Extraterrestrial Solar Radiation Based on SOTER in Zhangpu Sample Plot and<br />

Fujian Province<br />

Zhi-qiang Chen and Jian-fei Chen<br />

Multiplicate Particle Swarm Optimization Algorithm<br />

Shang Gao, Zaiyue Zhang, and Cungen Cao<br />

Research and Design <strong>of</strong> Intelligent Electric Power Quality Detection System Based on VI<br />

Yu Chen<br />

81<br />

91<br />

99<br />

110<br />

117<br />

125<br />

131<br />

139<br />

144<br />

150<br />

158

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!