Journal of Computers Contents - Academy Publisher
Journal of Computers Contents - Academy Publisher
Journal of Computers Contents - Academy Publisher
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