Sunteți pe pagina 1din 1417

June, 1 4, 2011

KUSADASI, AYDIN, TURKEY

PROCEEDINGS
Gediz University Publications
www.gediz.edu.tr

2 nd International Symposium on Computing in Science & Engineering

EDITOR
Prof. Dr. Mustafa GNE
EDITORIAL BOARD
Asst. Prof. Dr. Ali Kemal INAR
Asst. Prof. Dr. brahim GRLER

PUBLICATION COMMITTEE
Asst. Prof. Dr. Ozan AKIR
Asst. Prof. Dr. Selim SOLMAZ
Asst. Prof. Dr. Uur TRKAN
Asst. Prof. Dr. Yavuz BAYAM
Instr. Dr. Gkhan AYLI
Instr.Yavuz NCE
Ress. Asst. erife TOZAN
Ress. Asst. Gkhan AKYOL
Ress. Asst. Mehmet APUTU

Gediz University Publication No. GU 004


Publising Date: September 2011
http://iscse2011.gediz.edu.tr
ISBN: 978-605-61394-3-7
ISCSE 2011 (International Symposium on Computing in Science & Engineering).
All Rights Reserved. Copyright Gediz University.
No part of this publication may be reproduced, stored in retrieval system or transmitted in any form or
by any means, electronically, mechanical, photocopying, recording or otherwise, without the prior
written permission of the publisher, Gediz University.
No responsibility is assumed by the publisher for any injury and/or damage to persons or property as a
matter of products liability, negliance or otherwise or from any use or operation of any methods,
products, instructions or ideas contained in the material here in.
Printed in Izmir Turkey.

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

ii

2 nd International Symposium on Computing in Science & Engineering

MAIN SPONSORS

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

iii

2 nd International Symposium on Computing in Science & Engineering

PREFACE
It was only a year ago, in June 2010, when the Faculty of Engineering and Architecture of Gediz University inaugurated an
international symposium where 291 research outputs were presented with the participation of more than 400 academicians
and researchers from 106 universities around the globe. The high rate of interest and the success of this 1st Symposium
provided us enough motivation and encouragement to reorganize the event in the consecutive year and decide maintaining on
a yearly basis. Therefore, this year, The 2nd International Symposium on Computing in Science & Engineering (ISCSE
2011) was held at Kuadas (located on the western coast of Turkey) during 01 and 04 June 2011.
The 629 participants from a total of 27 countries, 60 of whom were postgraduate students, had opportunities for scientific
discussions and exchanges that greatly contributed to the success of the symposium. The participating countries included
Algeria, Albenia, Australia, Bahamas, Belgium, Bosnia Herzegovina, Burkina Faso, Cyprus, France, Gambia, Germany,
Ghana, Indonesia, Iran, Iraq, Ireland, Italy, Jordan, Northern Cyprus, Malaysia, Mali, Qatar, Saudi Arabia, Syria, Sweden,
Tunisia, Turkey and USA.
The main objective of ISCSE 2011 is to bring together national and international researchers and practitioners to discuss and
exchange scientific theories and engineering applications over a rather wide spectrum of topics. The symposium coverage
was intentionally kept as comprehensive as possible in order to help create platforms of cooperation for science people and
promote and facilitate future interdisciplinary researches. With these aims in mind, the Symposium Organizing Committee
determined xx topics including, for instance, Quantum Computation, Robotics and Automation, Artificial Intelligence, DNA
Computing, Fuzzy Logic and Discrete Optimization etc.
ISCSE 2011 received the total of 300 full-paper and 42 posters submissions. The full-paper submissions were sent to the
members of the Scientific Committee and additional reviewers for evaluation. Though the full list would exceed the space
allotted here, we would like to thank the 70 reviewers for their hard work and dedication in helping us to design such a highquality program of talks.
Besides the symposium talks and poster presentations, the program included 5 plenary lectures covering various fields of the
symposium, given by the invited speakers: Prof. Dr. Vesa A. NISKANEN from the University of Helsinki on Aspects of
Approximate Probability, Prof. Dr. Burhan TURKSEN from ETU University of Economics and Technology on Review of
Fuzzy System Model: Philosophical Grounding, Rule Bases and Fuzzy Function, Prof. Ibrahim A. Ahmad and Associate
Prof. Dr. Dursun DELEN from the Oklahoma State University on Reversed Hazard rate and Mean Idle Time: Two New
Notions in Quantifications Aging Derived from Stochastic Orderings and Applications, and Business Intelligence and
Advanced Analytics for Real World Problems and Prof. Dr. Mike NACHTEGAEL from Ghent University on The
Application of Fuzzy Logic for Noise Reduction in Image Processing. Their invaluable contribution and illuminating public
talks are acknowledged and greatly appreciated. Without their participation, the symposium would have been incomplete.
Knowing that the organization of such an international event needs great effort and time spent, we would like to extent our
appreciation to the Rector of the Gediz University, Prof. Dr. Seyfullah evik and the members of the organizing committee,
including Mustafa Akdag, Haluk Gumuskaya, Serdar Korukolu, Vedat Pazarlioglu, Mehmet Pakdemirli, Fuat Okumus,
Ozlem Erkarslan, Ibrahim Gurler, Aziz Kolkiran, Ozan Cakir, Fatih Mmtaz Duran, Hadi Zareie, Haidar Sharif, Seza Filiz,
Ali Kemal Cinar, Yavuz Bayam, Selim Solmaz, Ugur Turkan, Mehmet Aksarayli, Emin Ozyilmaz, Gokhan Cayli, Mumin
Ozcan, Salahattin Yildiz, M. Rdvan zel, Ozlem Kiren Gurler, Aysegul Gungor, Mehtap Ozdemir Koklu, Gulsen Senol,
Ibrahim Cakirlar, Mehmet aputu, Zerife Yildirim and Serife Tozan Ruzgar.
Lastly, but not least, The Symposium would not have been possible without the generous financial and in-kind support
provided by our sponsors. The contributions received from Tubitak, Turksat, BTK (Information and Communication
Technologies Authority of Turkey), Petkim, Kavuklar Group, Orkide Group, MEGA International Communication, Emarket
Turkey, Derici Group, Cisco and Hamle Digital are greatly appreciated.
Given the enourmous speed with which science and engineering applications has been advancing in the areas covered by
ISCSE, we expect that the next symposium will be as exciting and stimulating as this years one was, as seen through the
pages of this proceedings volume.
Please stay tuned to the web site of the Gediz University for updates and details.
Looking forward to seeing you all and new researchers in ISCSE 2012.
Prof. Dr. Mustafa GNE
Symposium Coordinator

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

iv

2 nd International Symposium on Computing in Science & Engineering

HONARY CHAIR
Prof. Dr. Seyfullah CEVIK, Gediz University, Rector
SYMPOSIUM CHAIR
Prof. Dr. Mustafa GUNES, Gediz University, Dean of Faculty of Engineering and Architecture
SYMPOSIUM ORGANIZING COMMITTEE
Prof. Dr. Mustafa GUNES
Prof. Dr. Mustafa AKDAG
Prof. Dr. Haluk GUMUSKAYA
Prof. Dr. Lotfi Askar ZADEH
Prof. Dr. Mehmet SEZER
Prof. Dr. Serdar KORUKOLU
Prof. Dr. M. Vedat PAZARLIOGLU
Prof. Dr. Mehmet PAKDEMIRLI
Prof. Dr. Serkan ERYILMAZ
Assc. Prof. Dr. Fuat OKUMUS
Assc. Prof. Dr. Ozlem ERKARSLAN
Asst. Prof. Dr. Ibrahim GURLER
Asst. Prof. Dr. Aziz KOLKIRAN
Asst. Prof. Dr. Ozan CAKIR
Asst. Prof. Dr. Fatih Mmtaz DURAN
Asst. Prof. Dr. Hadi ZAREIE
Asst. Prof. Dr. Md. Haidar SHARIF
Asst. Prof. Dr. Seza FILIZ
Asst. Prof. Dr. Ali Kemal CINAR
Asst. Prof. Dr. Yavuz BAYAM
Asst. Prof. Dr. Selim SOLMAZ
Asst. Prof. Dr. Ugur TURKAN
Asst. Prof. Dr. Mehmet AKSARAYLI
Asst. Prof. Dr. Emin OZYILMAZ
Instr. Dr. Gokhan CAYLI
Instr. Mumin OZCAN
Instr. Salahattin YILDIZ
Ress. Asst. Dr. Ozlem KIREN GURLER
Ress. Asst. Aysegul GUNGOR
Ress. Asst. Mehtap OZDEMIR KOKLU
Ress. Asst. Gulsen SENOL
Ress. Asst. Ibrahim CAKIRLAR
Ress. Asst. Zerife YILDIRIM
Lab. Tech. Serife TOZAN RUZGAR

Gediz University (TR)


Gediz University (TR)
Gediz University (TR)
UC Berkeley (USA)
Mugla University (TR)
Ege University (TR)
DokuzEylul University (TR)
Celal Bayar University (TR)
Atilim University of (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
DokuzEylul University (TR)
Ege University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
DokuzEylul University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
DokuzEylul University (TR)
Gediz University (TR)

SPONSORS AND SUPPORTERS


Turksat Satellite Communication, Cable TV and Operation Inc. Co (TRKSAT)
Information and Communication Technologies Authorithy of Trkiye (BTK)
Scientific and Technological Research Council of Trkiye (TBTAK)
Petrochemical Holding A.S(PETKIM)
Kavuklar Group
Orkide Group
Mega International Communication
Emarket Turkey
Derici Group
CISCO
HamleTasarm

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 nd International Symposium on Computing in Science & Engineering

SCIENTIFIC COMMITTEE
Prof. Dr. Ronald R. YAGER
Prof. Dr. Reza LANGARI
Prof. Dr. Yalcn CEBI
Prof. Dr. Mustafa GUDEN
Prof. Dr. Ali CALISKAN
Prof. Dr. Mustafa GUNES
Prof. Dr. Serdar KURT
Prof. Dr. Orhan GUVENEN
Prof. Dr. Mehmet SEZER
Prof. Dr. Daniel LANE
Prof. Dr. Ali SURMEN
Prof. Dr. Tuncer OREN
Prof. Dr. Salih OKUR
Prof. Dr. Robert SHORTEN
Prof. Dr. Mustafa AYTAC
Prof. Dr. Nihat BOZDA
Prof. Dr. Ahmet GOKEN
Prof. Dr. Etienne E. KERRE
Prof. Dr. Saban EREN
Prof. Dr. Osman BALCI
Prof. Dr. rfan ALAN
Prof. Dr. Martin CORLESS
Prof. Dr. Mehmet Cudi OKUR
Prof. Dr. Gultekim CETINER
Prof. Dr. J.N.K.RAO
Prof. Dr. Serkan ERYILMAZ
Prof. Dr. Said Ali HASAN
Prof. Dr. Senay UDOGRUK
Prof. Dr. Orhan TORKUL
Prof. Dr. Levent SENYAY
Prof. Dr. Gulhan ASLIM
Prof. Dr. Masoud NIKRAVESH
Prof. Dr. Cemali DINCER
Prof. Dr. Erdal CELIK
Prof. Dr. Ismihan BAYRAMOGLU
Prof. Dr. Jorg FLIEGE
Prof. Dr. Mike NACHTEGAEL
Prof. Dr. Talip ALP
Prof. Dr. Ibrahim A. AHMAD
Prof. Dr. Selim ZAIM
Prof. Dr. Yavuz AKBAS
Prof. Dr. Turan BATAR
Prof. Dr. Harun TASKIN
Prof. Dr. Efendi NASIBOGLU
Prof. Dr. Gulen CAGDAS
Prof. Dr. Ugur CAM
Prof. Dr. Gokmen TAYFUR
Prof. Dr. Murat SOYGENIS
Prof. Dr. Yunus CENGEL
Prof. Dr. rfan ALAN
Prof. Dr. Haluk GUMUKAYA
Assc. Prof. Dr. Nurullah UMARUSMAN
Assc.Prof. Osman I. TAYLAN
Assc.Prof. brahim DARRAB
Assc. Prof. Dr. Dursun DELEN
Assc. Prof. Dr. Mustafa TOPARLI

Iona College (USA)


Texas A&M University (USA)
DokuzEyll University (TR)
Izmir Institute of Technology (TR)
Ege University (TR)
Gediz University (TR)
DokuzEyll University (TR)
Bilkent University (TR)
Mugla University (TR)
University of Ottowa (CA)
Bursa Technical University (TR)
University of Ottowa (CA)
Izmir Institute of Technology (TR)
National University of Ireland-Maynooth (IRL)
Uludag University (TR)
Gazi University (TR)
Istanbul University (TR)
Ghent University (BE)
Yasar University (TR)
University of Virginia (USA)
Ege University (TR)
Purdue University (USA)
Yaar University (TR)
Yalova University (TR)
Carleton University (CA)
Izmir University of Economics (TR)
King Abd. University (KSA)
DokuzEyll University (TR)
Sakarya University (TR)
DokuzEyll University (TR)
Ege University (TR)
UC Berkeley (USA)
Izmir University of Economics (TR)
DokuzEylul University (TR)
Izmir University of Economics (TR)
The University of Southampton
Ghent University (BE)
Yalova University (TR)
Oklahoma State University
Fatih University (TR)
Ege University (TR)
DokuzEylul University (TR)
Sakarya University (TR)
DokuzEyll University (TR)
Istanbul Technical University (TR)
DokuzEyll University (TR)
Izmir Institute of Technology (TR)
Yldz Technical University (TR)
Yldz Technical University (TR)
Ege University (TR)
Gediz University (TR)
Aksaray University (TR)
King Abd. University (KSA)
King Abd. University (KSA)
Oklahoma State University (US)
DokuzEyll University (TR)

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

vi

2 nd International Symposium on Computing in Science & Engineering

SCIENTIFIC COMMITTEE
Assc. Prof. Dr. Musa ALI
Assc. Prof. Dr. Sinan SENER
Assc. Prof. Dr. Yusuf OYSAL
Assc. Prof. Dr. Arzu GONENC SORGUC
Assc. Prof. Dr. Can BAYKAN
Assc. Prof. Dr. Ali Ihsan NESLITURK
Assc. Prof. Dr. Gamze TANOGLU
Asst. Prof. Dr. Muhammed CINSDIKICI
Asst. Prof. Dr. Hadi ZAREIE
Asst. Prof. Dr. Aziz KOLKIRAN
Asst. Prof. Dr. Selim SOLMAZ
Asst. Prof. Dr. Murat CAKIRLAR
Asst. Prof. Dr. Ozdemir CETIN
Asst. Prof. Dr. A.Turan OZCERIT
Asst. Prof. Dr. Uur TURKAN
Asst. Prof. Dr. Yavuz BAYAM
Asst. Prof. Dr. Koray KORKMAZ
Asst. Prof. Dr. Nurcan BAYKUS
Asst. Prof. Dr. Haldun SARNEL
Asst. Prof. Dr. Cuneyt AKINLAR
Asst. Prof. Dr. Ahmed FREEWAN
Asst. Prof. Dr. Mustafa Emre LAL
Asst. Prof. Dr. Ahmet ZENGN
Asst. Prof. Dr. Kadir ERKAN
Asst. Prof. Dr. H. Secil ARTEM
Asst. Prof. Dr. Osman CaglarAKIN
Asst. Prof. Dr. Alpaslan DUYSAK
Asst. Prof. Dr. Jens ALLMER
Asst. Prof. Dr. Yenal AKGUN
Asst. Prof. Dr. Ayce DOSEMECILER
Asst. Prof. Dr. Sabri ALPER
Asst. Prof. Dr. MD Haidar SHARIF
Asst. Prof. Dr. Hurevren KILI
Asst. Prof. Dr. Aysegul ALAYBEYOLU
Asst. Prof. Dr. AhmetTuran OZCERIT
Asst. Prof. Dr. Ibrahim GURLER
Asst. Prof. Dr. Sahin UYAVER
Asst. Prof. Dr. Fahrettin ELDEMIR
Asst. Prof. Dr. Ozan CAKIR
Assc. Prof. Dr. Mustafa TOPARLI
Assc. Prof. Dr. Fuat OKUMUS
Asst. Prof. Dr. Sinan KOKSAL
Asst. Prof. Dr. Ahmet Afsin KULAKSIZ
Assc. Prof. Dr. Bulent EKICI
Assc. Prof. Dr. Allaberen ASHYRALYEV
Assc. Prof. Dr. Ipek DEVECI
Asst. Prof. Dr. Emel KURUOLU
Asst. Prof. Dr. Mehmet AKSARAYLI
Asst. Prof. Dr. Istem KESER
Asst. Prof. Dr. Nahit EMANET
Dr. Mehmet Emre GULER
Dr. Emre ERCAN
Dr. Gokhan CAYLI
Dr. Murat TANIK
Dr. Ozlem KIREN GURLER
Dr. Efe SARIBAY

Ege University (TR)


Istanbul Technical University (TR)
AnadoluUniversity(TR)
Middle East Technical University (TR)
Middle East Technical University (TR)
Izmir Institute of Technology (TR)
Izmir Institute of Technology (TR)
Ege University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Sakarya University (TR)
Sakarya University (TR)
Sakarya University (TR)
Gediz University (TR)
Gediz University (TR)
Izmir Institute of Technology (TR)
DokuzEylul University (TR)
DokuzEylul University (TR)
Anadolu University (TR)
University of Jordan (JO)
Izmir Institute of Technology(TR)
Sakarya University (TR)
Yldz Technical University (TR)
Izmir Institute of Technology (TR)
Fatih University (TR)
Dumlupnar University (TR)
Izmir Institute of Technology (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Gediz University (TR)
Atlm University (TR)
Celal Bayar University (TR)
Sakarya University (TR)
Gediz University (TR)
Istanbul Commerce University (TR)
Fatih University (TR)
Gediz University (TR)
DokuzEylul University (TR)
Gediz University (TR)
Celal Bayar University (TR)
Selcuk University (TR)
Marmara University (TR)
Fatih University (TR)
DokuzEylul University (TR)
DokuzEylul University (TR)
DokuzEylul University (TR)
DokuzEylul University (TR)
Fatih University (TR)
YuzuncuYil University (TR)
Ege University (TR)
Gediz University (TR)
DokuzEylul University (TR)
DokuzEylul University (TR)
DokuzEylul University (TR)

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

vii

2 nd International Symposium on Computing in Science & Engineering

CONTENTS
Chapter 1 - COMPUTER ENGINEERING

Proceeding Number: 100/01


ISeeMP: A Benchmark Software for Multithreading Performance of Image Segmentation Using
Clustering and Thresholding Techniques
Proceeding Number: 100/03
Estimation of Dominant Motion Direction on Video Sequences
Proceeding Number: 100/05
Optimization of cos(x) and sin(x) for High-performance Computing
Proceeding Number: 100/07
An Overview of Two-Level Finite State Kyrgyz Morphology

16

26

Proceeding Number: 100/09


Examining the Impacts of Stemming Techniques on Turkish Search Results by Using Search Engine
for Turkish
Proceeding Number: 100/11
Development of New VO2 max Prediction Models by Using Artificial Neural Networks
Proceeding Number: 100/12
Improving of IMS SIP Server Security with Vulnerability Assessment

33

40

46

Proceeding Number: 100/13


Predicting the Performance Measures of a Message Passing Multiprocessor Architecture by Using
Artificial Neural Networks
Proceeding Number: 100/14
Symbolic Computation of Perturbation-Iteration Solutions For Differential Equations
Proceeding Number: 100/15
A Lightweight Parser for Extracting Useful Contents from Web Pages

54

60

67

Proceeding Number: 100/16


Applying Incremental Landmark Isomap Algorithm to Improving Detection Rate in Intrusion
Detection System
Proceeding Number: 100/18
Prime Numbers for Secure Cryptosystems and Primality Testing on Multi Core Architectures
Proceeding Number: 100/19

74

79

86

Rule Base Representation in XML


Proceeding Number: 100/21
Effectiveness of Standard Deviation of Fundamental Frequency for the Diagnosis of
Parkinson's Disease

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

viii

91

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 100/24

99

Improving PMG Mechanism for SPIT Detection


Proceeding Number: 100/27
Prediction Of Warp-Weft Densities In Textile Fabrics By Image Processing
Proceeding Number: 100/30
Software Automated Testing: Best Technique for Preventing Defects

106

111

Proceeding Number: 100/31


Comparing Classification Accuracy of Supervised Classification Methods Applied on
High-Resolution Satellite Images

118

Proceeding Number: 100/35


The Relationship Between the Angle of Repose and Shape Properties of Granular Materials
Using Image Analysis
Proceeding Number: 100/36

125

131

An Approach to Part of Speech Tagging for Turkish


Proceeding Number: 100/43
Performance Analysis of Eigenfaces Method in Face Recognition System
Proceeding Number: 100/46
Support Vector Machines with the COIL-20 Image Library Classification Practice
Proceeding Number: 100/50
Learning Management System Design And Network Access Security With RFID

136

143

149

Proceeding Number: 100/51


PSO based Trajectory Tracking PID Controller for unchattering control of Triga Mark-II Nuclear
Reactor Power Level
Proceeding Number: 100/54
Person Dependent Model Based Facial Expression Recognition
Proceeding Number: 100/55
Privacy Aspects of Newly Emerging Networking Environments: An Evaluation

156

161

167

Proceeding Number: 100/56


Realization of Campus Automation Web Information System in Context of
Service Unity Architecture
Proceeding Number: 100/57
Application Specific Cluster-Based Architecture for Wireless Sensor Networks
Proceeding Number: 100/58
Scalability Evaluation of the Wireless AD-HOC Routing Protocols in ns-2 Network Simulator
Proceeding Number: 100/59
A Design for Practical Fault Tolerance in Java Accessing Native Code

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

ix

173

180

188

193

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 100/60


On the Cache Performance of Time-Efficient Sorting Algorithms

200

Proceeding Number: 100/61


Performance Comparison of a Homogeneous Dedicated Linux Cluster and a Heterogeneous
Windows Cluster
Proceeding Number: 100/62
Feature Selection for Author Identification Using Genetic Algorithms
Proceeding Number: 100/64
A Real-Time TTL based Downlink Scheduler for IEEE 802.16 WiMAX
Proceeding Number: 100/65
Morphological Disambiguation via Conditional Random Fields

206

212

218

224

Proceeding Number: 100/67


Classification of Alcoholic Subjects using Multi Channel ERPs based on
Channel Optimization Algorithm
Proceeding Number: 100/68
E-Learning Content Authoring Tools and Introducing a Standard Content Constructor Engine

229

237

Proceeding Number: 100/69


Investigating Optimum Resource Allocation in University Course Timetabling using Tabu Search:
An Incremental Strategy
Proceeding Number: 100/70
PSOMDM: Faster Parallel Self Organizing Map by Using Division Method
Proceeding Number: 100/71
A Real-Time Generation and Modification of GIS-based Height Maps
Proceeding Number: 100/73
GIS Application Design for Public Health Care System Using Dijkstra Algorithms
Proceeding Number: 100/74
A Case Study about Being a CMMI-Level 3 Awarded Organization in One-Year Time

244

250

256

263

268

Proceeding Number: 100/77


A Comparative Analysis of Evolution of Neural Network Topologies for the Double Pole
Balancing Problem
Proceeding Number: 100/82

274

280

Complexity of Extremal Set Problem


Proceeding Number: 100/83
Simulated Annealing Based Parameter Selection in Watermarking Algorithms
Proceeding Number: 100/84

286

293

M-SVD Based Image and Video Quality Measures

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 100/87


Farsi / Arabic Printed Page Segmentation Using Connected Component and Clustering
Proceeding Number: 100/88
Investigation of Several Parameters on Goldbach Partitions
Proceeding Number: 100/96
Model Based Analysis of Lung Mechanics via Respiratory Maneuvers
Proceeding Number: 100/97
Genetic Algorithm Based Energy Efficient Clustering for Wireless Sensor Networks
Proceeding Number: 100/98
Using Binary Classifiers for Information Security Risk Analysis: A Case Study
Proceeding Number: 100/101
Test Based Software Development and a Sample Application-Full Text
Proceeding Number: 100/103
A Lightweight Wireless Protocol Based on IEEE 802.11 for a Robot Car
Proceeding Number: 100/104
Effort Estimation Using Use-Case Points Method for Object-Oriented Software Projects

Chapter 2 - ELECTRIC AND ELECTRONICS ENGINEERING


Proceeding Number: 200/01
Broadband Impedance Matching via Genetic Algorithm
Proceeding Number: 200/02
An Explicit Model Predictive Controller Design for a Chaotic Chua Circuit

300

306

315

321

327

334

339

347
357
358

362

Proceeding Number: 200/03


Adaptive Model Predictive Temperature Control of an Exothermic Hybrid Batch Reactor with
Discrete Inputs Based on Genetic Algorithm
Proceeding Number: 200/04
A New Key Management Scheme for SCADA Networks
Proceeding Number: 200/05
FPGA Based Wireless Multi-Node Transceiver and Monitoring System
Proceeding Number: 200/07
2-D High Resolution Image Tiling: A Parallel Processing Phase-only-correlation Approach
Proceeding Number: 200/08
Modeling Multivariate Time Series by Charge System Search

366

373

379

385

391

Proceeding Number: 200/10


Enhanced Power Amplifier Design with Active biasing for 2.4 GHz ISM band RF Front-End
Modules in Wireless Communication Systems

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xi

398

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 200/11


Hardware Implementation of Spectral Modular Multiplication on Fpgas
Proceeding Number: 200/14
Efficient SoC design for accelerator of Message Authentication and Data Integrity on FPGAs
Proceeding Number: 200/18
Application Oriented Cross Layer Framework for WSNs
Proceeding Number: 200/20
Inertia Weight for Evolutionary Programming with Levy Distribution Function
Proceeding Number: 200/21

403

409

419

426

434

The Memcapacitor-Capacitor Problem


Proceeding Number: 200/22
Adaptive Feedback Linearizing Tracking Control of a Quadrotor Helicopter
Prepared for ISCSE 2011

442

Proceeding Number: 200/28


The Adaptive Front Lighting System Based on Road Image Processing and Lane Detection Prepared
for ISCSE 2011

450

Proceeding Number: 200/33


A Comparative Study on Optimum PID Tuning with Differential Evolution and
Particle Swarm Optimization
Proceeding Number: 200/36
Design of a Low-Power CMOS Analog Neural Network
Proceeding Number: 200/38
Added AGC PA Design For 2.45 Ghz ISM Band Low Power Transceiver Systems

458

465

472

Proceeding Number:200/39
Design of CMOS Analog Operational Amplifiers using EKV Transistor Model and
Multi-Objective Optimization
Proceeding Number: 200/41

478

483

Bullet Matching Using Profile Clustering


Proceeding Number: 200/43
Developing Tracking System and Monitoring for a Model Glider
Proceeding Number: 200/45
Adaptive Trajectory Tracking Control of Wheeled Mobile Robot with an Inverted Pendulum

489

496

Proceeding Number:200/46
I-PD Controller Design for A 4-Pole Hybrid Electromagnet on the Basis of
Coefficient Diagram Method (CDM)

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xii

504

2 nd International Symposium on Computing in Science & Engineering

Chapter 3 - INDUSTRIAL ENGINEERING

511

Proceeding Number: 300/01


A Fuzzy Inference System for Outsourcing Arrangements Based on the Degree of Outsourcing and
Ownership

512

Proceeding Number: 300/02


Provider Selection and Task Allocation Problems under Fuzzy Quality of Service Constraints and
Volume Discount Pricing Policy for Telecommunication Network
Proceeding Number: 300/03

518

525

A Fuzzy Multicriteria SWOT Analysis


Proceeding Number: 300/06
Forecasting Daily Returns Of Istanbul Stock Exchange National 100 Index Using Expert Systems
Proceeding Number: 300/11
Forecasting Intermittent Demand with Neural Networks
Proceeding Number: 300/16

532

539

546

A Review Of Simulation Tools For Hospital Systems


Proceeding Number: 300/17
Production Scheduling Using Smulation MethodFaborg-Sim With Priority Rules
Proceeding Number: 300/23
A Novel Approach of Graph Coloring for Solving University Course Timetabling Problem

552

560

Proceeding Number: 300/25


A DEMATEL Method to Evaluate the Dimensions of Electronic Service Quality: An Application of
Internet Banking

567

Proceeding Number: 300/28


Parameter Design of Iterative Feedback Tuning Method Using Analysis of Variance for First Order
Plus Dead Time Models
Proceeding Number: 300/29
Effect of Nozzle Injector Angle on Airflow Character and Fluid Variables

574

581

Proceeding Number: 300/30


Performance Analysis of a Successive Approximation Classifier for Road Extraction in
Satellite Images

588

Proceeding Number: 300/32


An Overview of Data Mining Tools for Quality Improvement in Manufacturing
Prepared for ISCSE 2011
Proceeding Number: 300/33
Exploring E-commerce Use in Meerschaum Products Marketing: A Case Study

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xiii

595

601

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 300/37


Scenario Analysis of Scheduling Load-Haul-Dump Vehicles in Underground Mines
Using Simulation
Proceeding Number: 300/39
A Proposed Model for Web Service-Oriented Content Management System

607

611

Proceeding Number: 300/42


Embedded Hybrid Approaches for the Capacitated Lot Sizing Problem with Set-up Carryover and
Backordering
Proceeding Number: 300/45
Solving Vehicle Deployment Planning Problem by using Agent Based Simulation Modeling
Proceeding Number: 300/46
A Simulation Model to Improve Customer Satisfaction for Sales Points in Mobile Company

Chapter 4 - MECHANICAL ENGINEERING

618

625

631
641

Proceeding Number: 400/01


Estimation of Wind Energy Potential Based on Frequency Distributions in the Mediterranean Sea
Region of Turkey

642

Proceeding Number: 400/04


Performance Evaluation of a Reinforced Concrete Structure According to Turkish Earthquake
Code-2007 and Fema-356
Proceeding Number: 400/06
Analysis of Reinforced Concrete Structures Under the Effect of Various Surface Accelerations
Proceeding Number: 400/07
On New Symplectic Approach for Primary Resonance of Beams Carrying a Concentrated Mass

648

655

662

Proceeding Number: 400/08


Artificial Neural Networks Analysis of Reinforced Concrete Sections According to
Curvature Ductility
Proceeding Number: 400/09

672

680

Web-based Simulation of a Lathe using Java 3D API


Proceeding Number: 400/10
Effect Of Slice Thickness Variation On Free Vibration Properties of Micro-ct Based Trabecular
Bone Models

687

Proceeding Number: 400/12


Integrated Decentralized Automotive Dynamics Tracking Controllers that Account for
Structural Uncertainty
Proceeding Number: 400/13
Development of a Vehicle Dynamics Prototyping Platform based on a Remote Control Model Car

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xiv

693

704

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 400/14


Comparison of Metaheuristic Search Techniques in Finding Solution of Optimization Problems
Proceeding Number: 400/15
Ballistic Behavior of Perforated Armor Plates Against 7,62 mm Armor Piercing Projectile
Proceeding Number: 400/16
Noise Level Optimisation of a Midibus Air Intake Pipe by Using Numerical & Analytical Methods
Proceeding Number: 400/18
Dynamic Analysis of a Singular Steel Pile due to Wave Loads
Proceeding Number: 400/20
The Role of Finite Element Method in the Stent Design Methodology

712

720

728

735

742

Proceeding Number: 400/21


A New Finite Element Formulation for Dynamic Response of a Rectangular Thin Plate Under an
Accelerating Moving Mass
Proceeding Number: 400/25
Direct Perturbation Analyses of Nonlinear Free Vibrations of Kelvin-Voigt Viscoelastic Beams
Proceeding Number: 400/27

756

763

772

Methodology of Crashworthiness Simulations


Proceeding Number: 400/29
Effect of the Masonry Wall Stuccos to the Seismic Behavior of the Steel Structures

779

Proceeding Number: 400/36


Soil-Structure Interaction of RC Structures in Different Soils by Nonlinear Static and
Dynamic Analyses

786

Proceeding Number: 400/37


Simulation of Lid-driven Cavity Flow by Parallel Implementation of Lattice Boltzmann
Method on GPUs

793

Proceeding Number: 400/39


Weight Optimization of the Laminated Composites as an Aircraft Structure Material Using Different
Failure Criteria Prepared for ISCSE 2011
Proceeding Number: 400/41
Consideration of Heat Treatment Stages in the Simulation of the Formability of AA2024 T3 Alloys
Proceeding Number: 400/42
Numerical Modeling of Dynamic Behavior of Subsea Pipes Acting on Internal and External Flow
Proceeding Number: 400/45
Determination of Impact Behavior Depending On Span of Fin in Aluminum Composites
Proceeding Number: 400/47
Numerical Investigation on Diesel Spray Formation and Combustion

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xv

801

809

816

825

832

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 400/48


Investigation of Calcination Conditions on KirkaTincal Ore As Opposed to
Wet Concentration Methods
Proceeding Number: 400/51

840

849

Nonlinear Vibration of Fractional Visco-elastic String


Proceeding Number: 400/52
Stress Evaluations During Endodontic Treatment by Using Three Dimensional
Finite Element Method

856

Proceeding Number: 400/53


Application of Surface Response Method for The Bioactivity of Alkali Treated Ti6Al4V
Open Cell Foam
Proceeding Number: 400/54
Boundary Layer Equations and Lie Group Analysis of a Sisko Fluid Paper Prepared for ISCSE 2011

864

872

Proceeding Number: 400/55


Numerical Solution of the Single Degree of Freedom System by a Practical Collocation Method
Based on the Chebyshev Polynomials
Proceeding Number: 400/56
An Investigation on Implant Supported Fully Edentulous Mandible with the Use of 3D FEA
Proceeding Number: 400/57
Artificial Intelligent Applications for the Forecasting of Annual Wind Energy Output

879

856

893

Proceeding Number: 400/58


Computational Solution of the Velocity and Wall Shear Stress Distribution Inside a
Coronary By-Pass Graft to Artery Connection Under Steady Flow Conditions

898

Proceeding Number: 400/59


Comparison of Perturbation Iteration Method with Homotopy Perturbation Method and Explicit
Analysis for Poisson Boltzmann Equation of the Paper Prepared for ISCSE 2011
Proceeding Number: 400/60
A Generalized Solution Algorithm for Cubic Nonlinear Vibration Model with Parametric Excitation

904

909

Proceeding Number: 400/63


Estimation of Incoming Ocean Waves using Kalman Filter for use in Adaptive Ocean Power
Converters: A Preliminary Analysis

917

Proceeding Number: 400/64


Parametric Mass Optimization of Vehicle Suspension System Component under Different Load
Cases for ISCSE 2011
Proceeding Number: 400/67
Comparison of Turbulence Models for a Heavy Duty CI Engine

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xvi

925

932

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 400/68


Elastic Plastic and Residual Stress Analysis of Simply Supported Thermoplastic Composite Beams
Under a Transverse Uniformly Distributed Load

939

Chapter 5 - FUZZY LOGIC

949

Proceeding Number: 500/01


Design of Stable Takagi-Sugeno Fuzzy Control System via LMIs with Constraint on the
Input/Output& Initial State Independence

950

Proceeding Number: 500/02


Fuzzy Logic Control Design for a 2-Link Robot Manipulator in MATLAB/Simulink
via Robotics Toolbox
Proceeding Number: 500/03
Neural Network Based Fuzzy Time Series Approach by Using C Programming
Proceeding Number: 500/04
Parameter Selection of Fuzzy Nonparametric Local Polynomial Regression
Proceeding Number: 500/05
Optimization of Fuzzy Membership Functions of TTFLC using PSO
Proceeding Number: 500/07
Performance Analysis of Industrial Enterprises via Data Mining Approach
Proceeding Number: 500/08
Trajectory Tracking Speed Control of Hydraulic Motor with Fuzzy Logic and PID Algorithms
Proceeding Number: 500/09

957

964

971

978

985

992

999

The Notion of Fuzzy Soft Function and a Result


Proceeding Number: 500/10
A Fuzzy Weighted PSSM for Splice Sites' Identification
Proceeding Number: 500/13
Fuzzy Logic User Interface Software for Evaluation of Wooden Material Combustion Performance

1003

1010

Proceeding Number: 500/14


Reconstructing Non-Tidal Component of Historical Water Level Data with
Artificial Neural Network
Proceeding Number: 500/15
Comprehensive Usage of Vague Sets for Linear Programming Problems and a Quantitative Example

Chapter 6 - ARCHITECTURE

1017

1024
1035

Proceeding Number: 600/01

1036

New Level of Precision in Architecture


Proceeding Number: 600/02
A Novel Mechanism to Increase the Form Flexibility of Deployable Scissor Structures

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xvii

1042

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 600/07


A CAD-based Modeling for Dynamic Visualization of Urban Environments in Piecemeal
(Incremental) Growth
Proceeding Number: 600/09
Analysis of Work Space Functional Relationship Diagrams: A Case Study at Gediz University

Chapter 7 - FUNDAMENTAL SCIENCES


Proceeding Number: 700/02
Cubic B-Spline Differential Quadrature Methods and Stability for Burgers' Equation

1048

1056
1067
1068

Proceeding Number: 700/03


HYDROTAM: A Three-Dimensional Numerical Model to Simulate Coastal Flow and
Transportation Mechanism
Proceeding Number: 700/04
Layer Thickness of the Breakwaters in Marine Transportation

1075

1081

Proceeding Number: 700/05


Positive Solutions for Third-Order M-Point Boundary Value Problems for an Increasing
Homeomorphism and Homomorphism with Sign Changing Nonlinearity on Time Scales

1089

Proceeding Number: 700/06


A Collocation Method for Solving System of Linear Fredholm-Volterra Integral Equations with
Variable Coefficients
Proceeding Number: 700/07
Monte Carlo Simulation of Thin Film Growth With Crystallization Prepared for ISCSE 2011
Proceeding Number: 700/08
Iterative Operator Splitting Method to Solute Transport Model: Analysis and Application
Proceeding Number: 700/09

1097

1106

1112

1118

Transition from Line Congruence to Screw System


Proceeding Number: 700/12
Theoretical Investigation of the Solution of the Thin Boundary Layer Problem on the Half Plane
Proceeding Number: 700/13

1125

1131

The Dual Drawing Method of the Helicoid


Proceeding Number: 700/15
Taylor Polynomial Solution of Hyperbolic Type Partial Differential Equation with
Variable Coefficients
Proceeding Number: 700/20

1137

1144

A Novel Optimized Generating the Subsets of a Set


Proceeding Number: 700/30
Cubic B-spline Collocation Method for Space-splitted one- dimensional Burgers Equations

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xviii

1151

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 700/31


A New Hermite Collocation Method for Solving Differential Equations of Lane-Emden Type
Prepared for ISCSE 2011

1160

Proceeding Number: 700/33


The Analytical and a Higher-Accuracy Numerical Solution of a Free Boundary Problem in a Class
of Discontinuous Functions

1167

Proceeding Number: 700/38


Testing the Validity of Babinet's Principle in the Realm of Quantum Mechanics with a Numerical
Case Study of an Obstacle

1173

Proceeding Number: 700/39


A Computational Study of the Linear and Nonlinear Opotical Properties of Aminopyridines,
Aminopyrimidines and Aminopyrazines
Proceeding Number: 700/44
Reflection Investigation In Metamaterial Slab Waveguides
Proceeding Number: 700/46
Theoretical Implementation of Three QubitHadamard Gate for SI(S=3/2 , I=1/2) Spin System
Proceeding Number: 700/47
Data Partitioning Through Piecewise Based Generalized HDMR: Univariate Case
Proceeding Number: 700/48
The Solution of Heat Problem With Collocation Method Using Cubic B-Splines Finite Element
Proceeding Number: 700/49
A Node Optimization in Piecewise High Dimensional Model Representation
Proceeding Number: 700/55
Evaluation and Comparison of Diagnostic Test Performance Based on Information Theory
Proceeding Number: 700/58
Iterative Splitting Methods for Schrdinger Equation with Time-dependent Potential

1178

1184

1189

1194

1200

1206

1212

1219

Proceeding Number: 700/59


Taylor Polynomial Solution of Difference Equation with Constant Coefficients via Using Time
Scale Extension
Proceeding Number: 700/60

1225

1230

Sudoku Puzzle Solving with Bees Algorithm


Proceeding Number: 700/61
Construction Simulation for Cost and Duration Estimation
Proceeding Number: 700/62
On Morgan-Voyce Polynomials Approximation For Linear Fredholm Integro-Differential Equations

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xix

1237

1244

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 700/66


A Matrix Method for Approximate Solution of Pantograph Equations in Terms of
Boubaker Polynomials
Proceeding Number: 700/67

1253

1260

Fiber Bundles in Digital Images


Proceeding Number: 700/69

1266

On de Casteljau Type Algorithms


Proceeding Number: 700/71
Finite Difference and Iteration Methods for Fractional Hyperbolic Partial Differential Equations
with the Neumann Condition

1272

Chapter 8 - STATISTICS AND DATA ANALYSIS

1285

Proceeding Number: 800/07

1286

Investigating Zipfs Laws on Turkish


Proceeding Number: 800/08
A Novel Objective Function Embedded Genetic Algorithm for Adaptive IIR Filtering and
System Identification
Proceeding Number: 800/09
Comparison of Various Distribution-Free Control Charts with Respect to FAR Values
Proceeding Number: 800/10
Multivariate Regression Splines and their Bayesian Approaches in Nonparametric Regression
Proceeding Number: 800/11
Forecasting via MinMaxEnt Modeling: An Application on the Unemployment Rate

1293

1299

1304

1310

Proceeding Number: 800/12


Comparison of Simplified Bishop and Simplified Janbu Methods in the Determination of the Factor
of Safety of Three Different Slopes Subjected to Earthquake Forces
Proceeding Number: 800/13
Comparison of MaxMaxEnt and MinMaxEnt Distributions for Time Series in the Sense of Entropy

1316

1322

Proceeding Number: 800/14


Examining EEG Signals with Parametric and Non- Parametric Analyses Methods in Migraine
Patients and Migraine Patients during Pregnancy
Proceeding Number: 800/15
The Statistical Analysis of Highly Correlated Gaussian Noise in a Double Well Potential

1326

1334

Proceeding Number: 800/18


Use of A Combination of Statistical Computing Methods in Determining Traffic Safety Risk Factors
on Low-Volume Rural Roads in Iowa, USA
Proceeding Number: 800/19
Detecting Similarities of EEG Responses in Dichotic Listening

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xx

1340

1349

2 nd International Symposium on Computing in Science & Engineering

Proceeding Number: 800/22


Applying Decision Tree on Incident Management Data Base for Service Level Agreement
Proceeding Number: 800/23
Analysis of Highway Crash Data by Negative Binomial and Poisson Regression Models

Chapter 9 - CITY PLANNING AND CIVIL ENGINEERING


Proceeding Number: 900/03

1356

1360
1369
1370

Finite Element Analyses of Composite Steel Beams


Proceeding Number: 900/05
Knowledge Representation by Geo-Information Retrieval in City Planning

Chapter 10 - INVITED SPEAKERS

1375
1387

The Application of Fuzzy Logic for Image and Video Noise Reduction
Mike Nachtegael

June 1 -4,Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

xxi

1388

2 nd International Symposium on Computing in Science & Engineering

Chapter 1

COMPUTER
ENGINEERING

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/01

ISeeMP: A Benchmark Software for Multithreading


Performance of Image Segmentation using
Clustering and Thresholding Techniques
Bahadir KARASULU
Canakkale Onsekiz Mart University, Computer Engineering Dept., Engineering and
Architecture Faculty, Terzioglu Kampusu, 17020, Canakkale, Turkey.
karasulu.bahadir@gmail.com,bahadirkarasulu@comu.edu.tr
Abstract. Multiprocessing is the use of two or more central processing units (CPUs) within a single computer
system. There are certain important considerations when using multi-core processors for improvement of
single program performance of color or gray-scale image filtering or segmentation (FoS) process: the optimal
application performance and the decreasing of execution time. Image segmentation techniques such as
clustering and thresholding techniques are computationally-intensive to result a segmentation process of an
image, and they are time and processors resource consuming processes. The software developers should be
aware of optimal use of resources when using these techniques to coding thread-level parallelism (TLP) based
applications to segment images which have high-definition (HD) resolution. ISeeMP is an acronym for Image
Segmentation Extended via Multi-Processing. In my study, a benchmark software (i.e., ISeeMP) is developed
to evaluate TLP performance of four well-known image segmentation techniques. In the paper, the obtained
results are discussed.

Keywords: image processing, image segmentation, distributed and parallel processing, high performance
computing.

1 Introduction
Nowadays, concurrency in software is an important way to manage the sharing of hardware resources used at
the same time. The multiprocessor systems allow true parallel execution; multiple threads or processes run
simultaneously on multiple processors. The trade-off made in the multiprocessor case is increasing the overall
system cost [1]. The multi-core processors are composed of two or more independent cores in a single physical
package [2]. There are certain important considerations when using multi-core processors for improvement of
single programs performance of color or gray-scale image filtering or segmentation (FoS) process: the optimal
application performance (OAP) and the decreasing of execution time. The OAP will be achieved by effectively
using threads to partition software workloads [1]. The Open Multi-Processing (OpenMP) is an application
programming interface (API) used to explicitly direct multi-threaded and shared memory parallelism [2]. It
supports much functionality required for parallel computation based on thread-level parallelism (TLP) [2], [3]. In
most modern Fortran and C/C++ compilers as well as modern operating systems (OS), OpenMP is available [2],
[4]. The computationally intensive processes such as image FoS can be executed more efficiently on the systems
based on multi-core processors than the systems based on single-core processors. There are some works on
multi-core image processing with Open Multi-Processing (OpenMP) standard in the literature [2]. The OpenCV
library is an Open source Computer Vision library which involves over 500 functions that span many research

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

areas in vision [5], [6], [7]. Image segmentation is a low-level computer vision task. It is a decomposition
process of a gray-scale or color image into homogeneous partitions. There are some clustering techniques for
image segmentation such as k-means [8] and mean-shift (MS) [9], [10] clustering. Thresholding is a simplest
segmentation process. Otsus method and Entropy method are optimal thresholding techniques [11], [12].
Similar benchmark systems and/or softwares are published in the literature. Venkata et al. [13] presented the San
Diego Vision Benchmark Suite (SD-VBS). In SD-VBS, they implemented an algorithm for image segmentation.
There are other systems/softwares such as MediaBench [14] and Spec2000 [15] benchmark suites which include
different algorithms from different research areas. In my study, the benchmark software is developed to evaluate
TLP performance of four well-known image segmentation techniques (i.e., clustering and thresholding) which
are implemented and tested at same platform via same way on high-definition (HD) images. The software
benchmarks single- and multi-thread performance of related FoS techniques using OpenMP and OpenCV
infrastructure, and it plots performance results via its built-in graphic/plot viewer. My software is called ISeeMP,
which is an acronym for Image Segmentation Extended via Multi-Processing. The software has an original
approach for mutual performance comparison of well-known image FoS techniques.
The remainder of this paper is organized as follows. Section 2 describes FoS methods used in my benchmark
study. Section 3 explains the parallelization approach of ISeeMP. In section 4, I introduce my benchmark
software with details of their modules and/or structural parts. In section 5, I give the experimental performance
results obtained via my software on hardwares/machines of my testbed. Section 6 concludes the paper, and the
obtained results are discussed.

2 Image Segmentation Methods


In the literature, image segmentation can be classified into more than two categories. Furthermore, my study
deals only with two of well-known clustering (i.e., k-means- and MS clustering) and two of well-known
thresholding techniques (i.e., Otsus- and Entropy method). Their details are given below.

2.1 K-means Clustering


The k-means and MS clustering model the feature vectors associated with each pixel of an image (e.g., color
and coordinates) as samples from an unknown probability density function. Also, they try to find clusters
(modes) in this distribution. The k-means clustering technique uses a parametric model of the density function.
It implicitly models the probability density as a superposition of spherically symmetric distribution [16], and it
does not require any probabilistic reasoning or modeling [17]. Standard k-means employs an iterative relocation
scheme to produce a k-way hard clustering [8]. In batch k-means algorithm, the iterative refinement process is
repeated until a given termination criterion is satisfied. More details and batch k-means algorithms pseudo code
can be found in chapter 3 of [18] at pp.52-53. There are some parallel approaches for k-means clustering in the
literature. The details can be found in [19].

2.2 Mean-shift Clustering


The MS clustering smoothes the distribution and finds its peaks as well as the regions of feature space that
correspond to each peak, and it implicitly models the distribution using a smooth continuous non-parametric
model [16]. The mean-shift filtering (MSF) is based on this smoothing model. In the literature, a well-known
non-iterative discontinuity preserving smoothing technique is the bilateral filtering (BF). The salient difference
between the BF and the MSF based smoothing is in the use of local information [10]. In MSF, the spatial
coordinates of each pixel are adjusted along with its color values, so that the pixel migrates more quickly
towards other pixels with similar colors. Therefore it can later be used for clustering and segmentation [16], [20].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

The MS segmentation based on MS clustering is proposed in [10] that the details can be found in Comaniciu and
Meer [10] study.

2.3 Otsus Method


In the study of Otsu [11], a non-parametric and unsupervised method of automatic threshold selection for
image segmentation was presented. The optimal threshold in the study is selected by the discriminant criterion. It
maximize the separability (or goodness) of the resultant classes in gray levels. Otsu methods algorithm assumes
that the image to be thresholded contains two classes of pixels (i.e., foreground and background). It calculate that
these two classes combined spread (i.e., intra-class variance) is minimal. In Otsus study [11], basic relations are
given:

0 0 11 T , 0 1 1

(1)

w2 B2 T2

(2)

For Eq. (1), (k ) and (k ) are zeroth- and first-order cumulative moments of the histogram up to the k th
level. Also, T is the total mean level of the original image [11]. For Eq. (2), it is noticed that W2 and B2 are
functions of threshold level k , but T2 is independent of k . Furthermore, W2 is based on the second-order
statistics (i.e., class variance), while B2 is based on the first-order statistics (i.e., class means) [11], [21]. The
optimal threshold k * is:

B2 (k*) max B2 (k )

(3)

1 k L

The details of optimal thresholding via Otsus method can be found in [11] and [21].

2.4 Entropy Method


The Shannon entropy of a variable X is defined as [22]:
H ( X ) P( x) log 2[ P( x)]

(4)

where P(x) is the probability that X is in the state x , and P log 2 P is defined as 0 if P 0 . Many entropybased thresholding methods use their histogram entropy (HE) as a criterion function. The threshold related to the
maximum entropy value is chosen as the correct among all thresholds [12], [23]. The HE is given below by Eq.
(5).
n1

H p g log p g 0

(5)

g 0

where, g 0, ..., n 1 shows the n number of discrete gray levels that a pixel can take. The details of Entropy
method can be found in [12], [23].

3 Parallelization Approach
In parallel execution of the programs, the multi-core processors offers support to execute threads in parallel.
Therefore, the cost of communication is very less [3]. The TLP is the parallelism way inherent in an application.
This application runs multiple threads at once. TLP is coarser-grained then instruction-level parallelism (ILP). In

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

my study, Microsoft Visual C/C++ compiler, OpenCV library, and OpenMP 2.0 standard API are used to
develop my software (i.e., ISeeMP [24]). OpenMP supports the thread-based programming model. Also, the
sequential codes of related four FoS algorithms in my study are converted to multithreaded codes. OpenMP
allows the coder/programmer to indicate the regions of entire programs code that should be executed in parallel.
In this way, it enables to state how the workload in those regions should be shared among the available resources
[25]. Also, OpenMP allows nested parallelism that I used frequently this property in parallelization of my
applications sequential code. The strategy, which could form the basis for an implementation of parallelization
of related image FoS algorithm, involves specific parallel regions and private variables for related nests of
parallelizated loops. The threads in thread pool of OS are distributed to work dynamically by OpenMP API, but
in programs design if necessary I reorganized my programs code for assignment of the number of thread to
relevant section of code.

4 Software
In design of my software (i.e., ISeeMP [24]), I considered the benchmark tools in the literature. In my study, I
aimed to develop an evaluation platform. An evaluation tool help you make the best decisions for your specific
situations. My software contains five independent structural parts (i.e., modules). The segmentation based four
modules are issued for related image FoS method. These modules contain subparts that they work as single- or
multi-thread manner for related methods algorithm. The performance plots (PP) module also assigned to
evaluate and plot the TLP performance results which are speedup and efficiency. For the benchmark, the
software repeatedly runs with user-desired times (i.e., count of runs) that the relevant algorithms sequential or
parallel performance is to be measured and evaluated with respect to user choices. The performance
measurement (PM) is made by related part of relevant segmentation module, and PM is sent to PP module.
Therefore, PM of all methods are obtained, evaluated and displayed by PP module. In Fig. 1, (a) shows the
softwares main graphical user interface (GUI) window which has Settings&Outputs panel for available
parameter settings of related image FoS method; and (b) shows the performance plot of speedup. The plotting
interface is based on NPlot [26] charting library.

Fig. 1.(a) ISeeMPs GUI main window, and (b) its performance plots window.

5 Experimental Results
My testbed hardware suite involves two different computer equipped different kind of CPUs (i.e., one
computer with single-core and one computer with dual-core) and OSs. They are a single-core Intel Pentium IV
processor (#531 with Hyper-Threading support) at 3.0 GHz, 3 Gbytes of RAM, with Microsoft Windows XP 64
bit OS, and a dual-core Intel Core 2 Duo Centrino processor (#P8600) at 2.40 GHz, 3 Gbytes of RAM, with
Microsoft Vista 32 bit OS, respectively. In this paper, these hardwares/machines are called in given order as

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

Machine #1 and Machine #2, respectively. The ISeeMP software benchmarks four different segmentation
techniques which are implemented and tested at same platform via same way. I used home-made image dataset
to test my software. This dataset involves 10 images which are 24 bit 2048 x 1536 pixels color images [24].
From five test executions, I computed sequential and parallel execution times for each image segmentation
method via my benchmark software, and then I compared these results in related plots. These plots cover simple
models for speedup and efficiency of related segmentation methods performance for the TLP. The speedup ( S pt
) is the ratio between sequential execution time and parallel execution time of related segmentation algorithm,
and it is given in Eq. (6).
S pt Speedup

(6)

T (1)
T (n pt )

In my study, the efficiency of a parallel implementation of an image segmentation method is a measure of


processor utilization. I defined this efficiency ( ) to be speedup divided by the number of processors (or number
of threads) ( n pt ) used, and it is given in Eq. (7).

Efficiency

(7)

T (1)
(n pt ) T (n pt )

The TLP performance benchmark results over five executions are given via related tables. The speedup and
efficiency results of TLP performance for each one of methods are shown in Table 1 for Machine #1 and in
Table 2 for Machine #2. In these tables, the first row shows the average speedup values, and second row shows
the average efficiency values. In addition, the better values are shown as bold and italic, and same values in both
tables are shown just as italic.
Table 1. Speedup and efficiency of TLP performance for each one of image FoS methods executed with two
threads on Machine #1.
S pt & values for Machine #1

Image no.

#1

#2

#3

#4

#5

#6

#7

#8

#9

#10

K-means

0.82 0.98 0.82 0.83 0.82 0.84 0.82 0.81 0.76 0.83
0.41 0.49 0.41 0.41 0.41 0.42 0.41 0.40 0.38 0.41

Mean-shift

1.53 1.60 1.62 2.25 1.22 1.48 2.53 3.04 3.57 2.06
0.76 0.80 0.81 1.12 0.61 0.74 1.26 1.52 1.78 1.03

Otsu

0.90 0.83 0.89 0.92 0.87 0.87 0.88 0.92 0.87 0.91
0.45 0.41 0.44 0.46 0.43 0.43 0.44 0.46 0.43 0.45

Entropy

1.05 1.00 0.99 1.04 1.03 0.99 1.00 1.00 1.00 1.00
0.52 0.50 0.49 0.52 0.51 0.49 0.50 0.50 0.50 0.50

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

Table 2. Speedup and efficiency of TLP performance for each one of image FoS methods executed with two
threads on Machine #2.
S pt & values for Machine #2

Image no.

#1

#2

#3

#4

#5

#6

#7

#8

#9

#10

K-means

1.01 0.74 0.95 0.98 0.80 0.81 0.97 0.78 0.97 1.08
0.50 0.37 0.47 0.49 0.40 0.40 0.48 0.39 0.48 0.54

Mean-shift

1.71 1.46 1.55 2.04 1.24 1.40 2.70 2.91 2.67 1.49
0.85 0.73 0.77 1.02 0.62 0.70 1.35 1.45 1.33 0.74

Otsu

1.04 0.79 0.78 0.91 0.91 0.85 0.88 0.78 0.89 0.87
0.52 0.39 0.39 0.45 0.45 0.42 0.44 0.39 0.44 0.43

Entropy

1.31 1.33 1.01 0.89 1.06 1.23 1.13 1.72 0.96 1.28
0.65 0.66 0.50 0.44 0.53 0.61 0.56 0.86 0.48 0.64

I see from these results in both tables that the MS method has better parallelization results than other methods.
The overall results can be seen on ISeeMPs website [24].

6 Conclusions
In this study, the main contribution is to develop a platform for benchmark and performance evaluation for
TLP performance for some well-known image FoS methods. For some images and/or methods, the test results
obtained via dual-core equipped hardware are better than the results of single-core hardware. I have come to the
conclusion that overall results are depended on intra-region homogeneity of pixel colors and parallelization level
of nested loops in programs code.

References
1.

Akther S. and Roberts J. (2006). Multi-Core Programing. Increasing Performance through Software Multithreading.Intel Press.USA.
2. Slabaugh, G.; Boyes, R.; and Yang X. (2010). Multicore Image Processing with OpenMP. IEEE Signal Proc. Mag.
[Applications Corner] 27(2): 134-138. Mar. 2010.
3. Packirisamy V. and Barathvajasankar H. (2008). OpenMP in multicore architectures. Tech. Report.Uni. of
Minnesota. http://www.cs.umn.edu/~harish/reports/openMP.pdf
4. OpenMP. (2011). The Open Multi-Processing. http://openmp.org/. Accessed on 01March 2011.
5. Bradski G. and Kaehler A. (2008). Learning OpenCV: computer vision with the OpenCV library. OReilly Media
Inc. Publication. Sebastopol, CA.
6. OpenCV.
(2011).
The
open
computer
vision
library.
http://sourceforge.net/
projects/opencvlibrary/. Accessed on 01 March 2011.
7. Willow Garage. (2011). Willow Garage Software website. http://www.willowgarage.com/pages/software/opencv/.
Accessed on 01March 2011.
8. Ng H.P., Ong S.H., Foong K.W.C., Goh P.S. and Nowinski W.L. (2006). Medical Image Segmentation Using KMeans Clustering and Improved Watershed Algorithm. In Proceedings of IEEE Southwest Symp. on Image Analy.
and Interpr. 61-65.
9. Sonka M., Hlavac V. and Boyle R. (2008). Image Processing, Analysis, and Machine Vision, Intl. Student Ed., 3rd
ed. Thomson Learn. Thomson Pub.Toronto.Canada.
10. Comaniciu, D. and Meer, P. (2002). Mean shift: A robust approach toward feature space analysis. IEEE Trans. on
Pattern Analy. and Mach. Intel. 24(5): 603619.
11. Otsu N. (1979). A threshold selection method from gray-level histograms. IEEE Trans. on Syst., Man and Cybern.
9(1): 62-66.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering


12. Pun T. (1980). A new method for grey level picture thresholding using the entropy of the histogram, Signal Proc. 2.
223237.
13. Venkata, S. K., Ahn. I., Jeon, D., Gupta, A., Louie, C., Garcia, S., Belongie, S. and Taylor B. M. (2009) SD-VBS:
The San Diego Vision Benchmark Suite. In Proceddings of the IEEE Intl Symp. on Workload Characterization,
IISWC 2009. pp.55-64.
14. Lee C., Potkonjak M. and Mangione-Smith W. H. (1997) Mediabench: a tool for evaluating and synthesizing
multimedia and communications systems. In Proceedings of the 30th annual ACM/IEEE intl. symp. on
Microarchitecture (MICRO30). pp. 330335. Washington, DC, USA.
15. SPEC
(2000).
SPEC
CPU
2000
benchmark
specifications.
http://www.spec.org/
cpu2000/. Accessed on 01 March 2011.
16. Szeliski, R. (2011). Computer Vision: Algorithms and Applications. Texts in Computer Science. 1st ed. SpringerVerlag London Limited. London. UK.
17. Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.New York.USA.
18. Cord, M. and Cunningham, P. (Eds.) (2008). Machine learning techniques for multimedia. Case studies on
Organization and Retrieval. Springer-Verlag. Berlin. Heidelberg.
19. Othman, F., Abdullah R., Rashid, N.A. and Salam, R.A. (2004). Parallel K-means Clustering Algorithm on DNA
Dataset. K.-M. Liew et al. (Eds.): PDCAT 2004, LNCS 3320, pp. 248-251. Springer-Verlag. Berlin. Heidelberg.
20. Ying-Hua Wang, Y.-H., Han, C.-Z., (2010). PolSAR Image Segmentation by Mean Shift Clustering in the Tensor
Space, Acta Automatica Sinica 36(6):798-806.
21. Sezgin, M., and Sankur, B. (2004). A survey over image thresholding techniques and quantitative performance
evaluation. Journal of Electronic Imaging 13(1):146-165.
22. Weisstein,
E.W.
(2011).
Entropy.
From
MathWorld
A
Wolfram
Web
Resource.
http://mathworld.wolfram.com/Entropy.html
23. Brink, A.D. (1995). Minimum spatial entropy threshold selection. Vision, Image and Signal Processing, IEEE
Proceedings Book, 142(3):128132.
24. ISeeMP Image dataset and Application WebSite (2011), http://efe.ege.edu.tr/~karasulu/iseemp/. Accessed on 01
March 2011.
25. Chapman, B. and Huang, L. (2007) Enhancing OpenMP and its Implementation for Programming Multicore
Systems. Invited Paper. In: C. Bischof et al. (Eds.), Parallel Computing: Architectures, Algorithms and
Applications. Jlich NIC Series, 38:3-18.
26. Howlett M. (2011). NPlots Website. NPlot is a free .Net charting-plotting scientific library.
http://netcontrols.org/nplot. Accessed on 01 March 2011.

Biographies
Bahadir KARASULU He graduated from the Science and Arts Faculty-Physics Dept. at KocaeliUniversity, Kocaeli,
Turkey in 2003. Afterwards, in 2006, he completed a M.Sc. thesis study at MaltepeUniversity, Istanbul, Turkey. In 2010, he
obtained his Ph.D. degree in Computer Engineering from EgeUniversity, Izmir, Turkey. His research interests are artificial
intelligence, computer vision, distributed and parallel computing, simulation and optimization.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/03

Estimation of Dominant Motion Direction on


Video Sequences
Salih GRGNOLU1, afak ALTAY2, Baha EN 3
1,3

Department of Computer Engineering, Engineering Faculty, Karabk University,Karabk, Turkey

Department of Electronics and Computer Education, Technical Education Faculty, Karabk University, Karabk, Turkey
1

sgorgunoglu@karabuk.edu.tr,2safakaltay@karabuk.edu.tr, 3baha.sen@karabuk.edu.tr

Abstract. Motion estimation is widely used especially for observinghuman movements. Tracking human
movements is one of the important issues in security. Checking regularly singular movements of a person and
group movements is necessary in environments where providing security is important. In this study, a system
which is the estimation of dominant motion direction on video sequences based on k-means clustering
method was developed. Video sequences which are included within the scope of this study consist of human
movements.The aims of the system are determination of motion vectors accurately on video sequences and
utilisation of clustering process properly.Therefore, software for determining dominant motion direction
accurately was developed using C# visual programming language. User can select any video, start and stop
motion analysis and also see motion vectors and times of processes on interface of the software.

Keywords: motion estimation, k-means clustering, video processing

1 Introduction
Studies which are on image and video processing have been increasing nowadays. These studies usually
include observing moving objects. Motion estimation and motion analysis are used generally for this process.
A lot of academic studies were made on motion analysis and motion estimation. Some of them searched only
motion of people. One of them is nonparametric density estimation with adaptive, anisotropic kernels for human
motion observations [1]. In this paper, it is suggested to model priors on human motion by means of
nonparametric kernel densities.Some studies searched groups of people and evaluated motion of people in
groups. One of them istracking groups of people [2].
Moreover, there are studies which deal with estimation of traffic density by watching motion of vehicle in
traffic. They find regions where traffic density is much. One of them is estimation of vehicle velocity and traffic
intensity using rectified images [3]. Other one is vehicle detection and counting by using real time traffic flux
through differential technique and performance evaluation [4]. Automatic density estimation and vehicle
classification for traffic surveillance systems using neural networks is a study which used artificial intelligence
[5].
Motion estimation is widely used in medicine. There are a lot of studies on medicine. One of them is
correlation analysis of ultrasonic speckle signals for correlation based motion estimation [6].The other one is
motion estimation for abdominal MR[7].Studies were made on different block matching algorithms such as
spiral search algorithm, diamond search algorithm, adaptive search algorithm and orthogonal search algorithm
[8-12].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

2 ndInternational Symposium on Computing in Science & Engineering

In this study, full search algorithm which is a block matching algorithm is used for finding motion vectors and
k-means clustering method is used for clustering motion vectors.

2 Motion Analysis
At first, video images are subjected to specific pre-processing operations in motion analysis process. Motion
vectors occurred in moving regions in video images are determined after these processes. Finally, motion vectors
are grouped.

2.1 Pre-processing Operations


Video sequences consist of frames and consecutive frames are compared for motion estimation. Two frames
are selected for comparison by leaving five frames apart from each other since there must be definite interval
between the frames for formation of movement. Various pre-processing operations were applied to the frames
that will be compared after determination. First pre-processing operation is finding RGB values of frames
pixels. R denotes level of red brightness, G denotes level of green brightness and B denotes level of blue
brightness. Frames are converted into gray scale by using RGB values. Process of converting gray scale is made
by summation after multiplication of RGB values singly with certain coefficients. Later, edges were found by
Sobel filter. Frames are converted into black and white form by utilizing thresholding process. After these
processes, two frames are compared with each other in order to find active region. A new image is formed; in
this form, the regions are white with a white colored first frame and black colored second frame. And the rest of
them are black. Regions of white pixel in new image show active region. Noises are cleaned on image by filter.

2.2 Full Search Algorithm


Full Search algorithm is one of the block matching algorithms. Block matching algorithms are generally
used in motion estimation and motion analysis. Frames are divided into macro blocks in the block matching
algorithms. Motion vectors are formed via comparing macro blocks situated in the first frame with macro blocks
at the search region located in the second frame. Macro blocks are compared for each probability at the search
region in Full Search algorithm.
Motion vectors are found by using Full Search algorithm after the end of pre-processing operations. Firstly,
frames are separated into 16x16 pixels macro blocks for Full Search algorithm. Macro blocks of first frames
active region determined after pre-processing operations are matched on 3x3 macro block region of second
frame by scanning. Region of 16x16 pixels which has lowest Sum of Absolute Differences (SAD) and macro
block are matched. Between two macro blocks having NxN dimensions, SAD is computed as follows:

(1)

MB1 denotes macro block which will be compared in the first frame and MB 2 denotes macro block at search
region in the second frame at the equation. (x,y) represent the coordinates of macro block pixels. Full Search
algorithm applied in this study is showed in Figure 1.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

10

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 1. Full search algorithm


Full Search algorithm is as follows in general.
Start
Divide frames which will be compared into macro blocks having NxN dimension
Define search region as 3x3 macro block
For each MB1(x,y) in the first frame
{ For each i

{ x-N, x-(N-1),..., x+N}

{ For each j

{ y-N, y-(N-1),..., y+N}

{ Calculate SAD value between MB2(i,j) in the second frame and MB1(x,y)
If i=x-N and j=y-N The lowest value =SAD
'

'

If SAD< The lowest value { The lowest value =SAD, x =i, y =j }


}
}
'

'

Form motion vector between (x,y) and (x , y ) points


}
End

2.3 K-means Clustering Algorithm


K-means algorithm is a clustering algorithm which classifies data. It separates data into k number classes in
terms of their characteristics. In this study, clustering is done which is based on Euclidian space. Its formula is
given in Equation 2. MB denotes macro block, C denotes center of cluster and djk denotes the space of Macro
block j to center of cluster k.K-means algorithm which was applied is given in Figure 2.

(2)

j {1,2,,N} where N=Number of Macro Block


k {1,2,3}
x,y: Represent the Coordinates Center of Clusters

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

11

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 2. K-means algorithm

K-means algorithm which was utilized in this study is given below.

Start
Define k value of cluster number which will be formed
Define random cluster centers as much as k value (C1,C2, , Ck)
do
{ Store existing centers
(tempC1= C1, tempC2= C2, ... tempCk= Ck )
Calculate Euclidian space between each active block and cluster centers
Include active block to inlying center
Find the middle center of blocks included in each cluster (C1,C2, , Ck)
}
While (tempC1

C1, tempC2 C2, ... tempCk Ck )

End

3 Software
Estimation of dominant motion direction software was developed by C# which is a visual programming
language. The screenshot of the software developed is given in Figure 3. Video scene which was analysed,
motion vectors formed and processing times of algorithms can be seen in screen.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

12

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 3.Software interface

There are various menus provided to users in this software. Video which will be used in motion analysis can
be selected, played and stopped via Video menu. Additionally, characteristics of video can be displayed. Motion
analysis procedure can be initiated and stopped via Motion Analysis menu. Number of groups and whether the
motion vectors will be displayed in the screen can be selected via submenu Settings menu situated under Motion
Analysis, and frames which will be compared are selected via Pre-processing Operations submenu. Preprocessing procedures carried out are displayed via Pre-processing Operations submenu.

4 Conclusions
In this study, a system which is the estimation of dominant motion direction on video sequences based on kmeans clustering method was successfully developed. In this manner, motion which is out of accustomed and the
dominant direction of this motion can be determined. Therefore, some pre-processing procedures were applied to
video sequences at first. Afterwards, motion vectors were formed using Full Search algorithm. These motion
vectors were clustered with K-means algorithm. Screenshots, and detection and classification of the direction of
motion in these screenshots obtained in experimental studies are displayed in Figure 4a and Figure 4b
respectively. Video sequences utilised are in 320x240 pixels dimensions. The red circles in video sequences
display motion centres.

Durations of algorithms used in the study are given in Table 1. Durations of algorithms were obtained from a
notebook consists of hardware as follows: Intel(R) Pentium(R) Dual T3400 2.16 GHz microprocessor, 3GB Ram
with Windows 7 operating system.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

13

2 ndInternational Symposium on Computing in Science & Engineering

a)

b)

Fig. 4.Screenshots displaying the centre of motion direction obtained and its classification.
a) Motion in video sequence was classified as bidirectional. b) Motion in video sequence was classified as three directional.

Table 1. Duration of Algorithms


Process

Time (ms)

Pre-processing

Time for Two Frames

240

Operations

Obtaining RGB Values

0-5

Converting Grayscale

0-12

Finding Edges and Thresholding

40-140

Finding Active Region

15-60

Cleaning Noises by Filter

15-60

Full Search Algorithm

0-300

K-Means Algorithm

0-1

Drawing Motion Vectors

0-30

Total Time

300-700

References
1.
2.
3.

4.

5.

6.
7.
8.
9.

Brox, T.; Rosenhahn, B.; Cremers, D.; and Seidel, H. P. (2007). Nonparametric density estimation with adaptive,
anisotropic kernels for human motion tracking. Workshop on Human Motion. Rio de Janeir. Brazil. 152-165.
McKenna, S. J.; Jabri, S.; Duric, Z.; Wechsler, H.; and Rosenfeld, A. (2000). Tracking groups of people. Computer
Vision and Image Understanding 80(1): 42-56.
Maduro, C.; Batista, K.; Peixoto, P.; and Batista, J. (2009). Estimation of vehicle velocity and traffic intensity using
rectifield images. IbPRIA 4th Iberian Conference on Pattern Recognition and Image Analysis. Povoa de Varzim.
Portugal. 64-71.
Mohana, H. S.; Ashwathakumar, M.; and Shivakumar, G. (2009). Vehicle detection and counting by using real time
traffic flux through differential technique and performance evaluation. ICACC International Conference on
Advanced Computer Control. Singapore. 791-795.
Ozkurt, C. and Camci, F. (2009). Automatic density estimation and vehicle classification for traffic surveillance
systems using neural networks. Mathematical and Computational Applications An International Journal 14(3):
187-196.
Bilge, H. . (1997). Yapay akla dayal ultrasonik grntleme iin hareket tahmini. Yksek Lisans Tezi.
Krkkale niversitesi Fen Bilimleri Enstits. Krkkale. 1-25.
imek, Yldrm, M. (2007). Abdominal MR grntlerinde hareket tahmini. Yksek Lisans Tezi. Gebze Yksek
Teknoloji Enstits Mhendislik ve Fen Bilimleri Enstits. Gebze. 15-31.
Kroupis, N.; Dasygenis, M.; Soudris, D.; and Thanailakis, A. (2005). A modified spiral search algorithm and its
embedded hardware implementation. IEC. Prague. 375-378.
Zhu, S. and Ma, K. K. (2000). A new diamond search algorithm for fast block matching motion estimation. IEEE
Transactions on Image Processing 9(2): 287-290.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

14

2 ndInternational Symposium on Computing in Science & Engineering


10. Koh, Y. J. and Yang, S. B. (1999). An adaptive search algorithm for finding motion vectors. IEEE TENCON. Cheju
Island. South Korea. 186-189.
11. Metkar, S. P. and Talbar, S. N. (2010). Fast motion estimation using modified orthogonal search algorithm for
video compression. Signal, Image and Video Processing 4(1): 123-128.
12. Ezhilarasan, M. and Thambidurai, P. (2008). Simplified block matching algorithm for fast motion estimation in
video compression. Journal of Computer Science 4(4): 282-289.

Biographies
Salih GRGNOLU- was born in orum, 1970. He graduated from Gazi University in 1995. He received his M.Sc. and
Ph.D. degrees from the same university in 2000 and 2007 respectively. He worked as instructor at Gazi University between
the years of 1999-2007. His areas of interest include biometric systems, image processing, microprocessors and neural
network applications. Asst. Prof. Dr. Grgnolu has been still working for Karabk University, Department of Computer
Engineering.
afak ALTAY- was born in Erzurum, 1986. She graduated from Sleyman Demirel University in 2008. She is interested in
image and video processing. Research Assistant Altay has been still working for Karabk University, Department of
Electronics and Computer Education.
Baha EN- was born in Mersin, 1974. He received his B.Sc. in Computer Science Department from the Gazi University,
Ankara/Turkey in 1996. He received his M.Sc. degree from Institute of Science and Technology, Gazi University in 1999,
and his Ph.D. degree from same department. His research interests include graphics, vision, genetic algorithms, expert
systems, geographical information systems, 3d modeling and simulation systems. Asst. Prof. Dr. en has been still working
for Karabk University, Department of Computer Engineering.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

15

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/05

Optimization of cos(x) and sin(x) for


High-performance Computing
Md. Harris Uddin Sharif1, Sahin Uyaver2, Md. Haidar Sharif3
1
University of Asia Pacific, Dhaka, Bangladesh
2
TC Istanbul Commerce University, Istanbul, Turkey
3
TC Gediz University, Izmir, Turkey
1
haris245@yahoo.com, 2suyaver@iticu.edu.tr, 3md-haidar.sharif@gediz.edu.tr

Abstract.At the present day, high performance computing (HPC) architectures are designed to resolve
heterogeneous sophisticated scientific as well as engineering problems across an ever expanding number of
HPC and professional workloads. The computation of the fundamental functions

sin(x)

and

cos (x)

isfrequent in both scientific and engineering applications but somewhat time consuming task in highperformance numerical simulations. In this paper, we have addressed the problem of high-performance
numerical computing of sin(x) and cos(x) pair for specific processor IA-64 and optimized it for a vector of
input arguments

xi

where the vector length

must be an integer multiple of 4. We have showed that the

processor microarchitecture and the manual optimization techniques improve the computing performance
significantly as compared to the standard math library functions with compiler optimizing options.

Keywords: High-performance computing, optimization, compiler options, IA-64

1 Introduction
The computation of the fundamental trigonometric functions sin(x) and cos (x) are frequent in scientific
and engineering applications but some what very time consuming task in numerical simulations. For examples,
to simulate scattering at the Coulomb potential at Rutherford model needs to calculate tens of millions of
fundamental functions e.g., sin(x), cos(x), etc. (see Fig. 1). This function can be computed accurately and
efficiently by calling math library routine which will also deal with exceptional case e.g., input argument x = 0 .
But standard routine is often incapable of achieving the demanding performance of high-performance computing
in simulation. Our current trend in constructing high-performance numerical computing for specific processor
IA-64 (Intel Architecture-64) has been optimized for
or less simultaneously.

1/x with a vector of input arguments x which works more

In 2000, Strebel [1] optimized sin(x) and cos (x) functions along with others for the static scheduling
architecture e.g., Alpha 21164. The Alpha 21164 microprocessor was designed for in-order (static) scheduling
[1, 2]. Nevertheless, the optimization is not workable for the processors like Itanium or even Alpha 21264. Thus,
we have lined up our efforts towards Itanium and hence our work would be considered as an incremental
improvement of the optimization result presented by him.
We have optimized sin(x) and cos (x) functions for Itanium processor (IA-64) with an 1000MHz clock.
There are mainly 2 types of scheduling may observe in Itanium: (i) code scheduled to minimize the number of

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

16

2 ndInternational Symposium on Computing in Science & Engineering

bundles; and (ii) code scheduled to minimize the number of clock cycles. We have emphasized the first
scheduling and the most common bundles MMF (Template value 14 and 15 [3]) throughout our optimizations.
The Itanium processor core is capable of up to 6 issues per clock, with up to three branches and two memory
references. The memory hierarchy consists of a three-level cache. The first level uses split instruction and data
caches; floating-point data are not placed in the first-level cache. The second and third levels are unified caches,
with the third level being an off-chip cache placed in the same container as the Itanium die. However, the IA-64
is a unique combination of innovative features such as explicit parallelism, predication, speculation and more.
The architecture is designed to be highly scalable to fill the increasing performance requirements of various
server and workstation market segments. In the optimized implementations it has been used an eminent aspect
that one add and one multiply are issued each cycle and the result will be available after result latencies for both
add and multiply. It has been extensively used the standard manual optimization techniques e.g., loop unrolling
and software pipelining to compute sin(x) and cos (x) efficiently. The Loop unrolling technique combines
several iterations of a loop into one basic block. The technique of software pipelining is a way to overlap the
execution of different instances of loop body in a systematic way. Loop unrolling and software pipelining are
combined by first unrolling the loop and therefore increasing the size of the loop body to some extent and then
software pipelining the resulting codes which increases the potential for instruction level parallelism a bit more.

Fig. 1.Laboratory system: scattering at the Coulomb potential. If the case of numerical simulation of this
model, it is important to calculate sin(x) and cos(x) functions as quickly as possible because tens of millions of
particles are involved in such type of simulation.

2 Implementation Steps

2.1 Algorithm for sin(x) and cos (x)


In this subsection, we will discuss the algorithm for sin(x) and cos (x) computation which can be found in
[1].
For small | x | the trigonometric functions sin(x) and cos (x) can be efficiently computed using a couple of
terms of the Taylor series:

sin( x) = k =0

k
(1) k 2 k 1
( 1)
x
cos
(
x
)
=
x 2k .
and

k =0
(2k 1)!
(2k )!

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

17

2 ndInternational Symposium on Computing in Science & Engineering

Instead of using these formulas for larger values x as well, we may use the addition theorems of
trigonometric functions and use table lookup for some

xt x . For x = xt xs with small xs and mantissa of

xt being only b bits wide, sin(x) and cos (x) are given by:
sin( x) = sin( xt xs ) = sin( xt )cos ( xs ) cos ( xt )sin( xs )
cos ( x) = cos ( xt xs ) = cos ( xt )cos ( xs ) sin( xt )sin( xs ) .
Since

xs is small we have cos ( xs ) 1, so it is a good idea not to compute cos ( xs ) directly, but work with

us = cos ( xs ) 1 instead. A schematic representation of the code which calculates pair of sin(x) and
cos (x) is given below. For simplicity, we assume that the number of bits for the table lookup is b = 7 .
y = x 1/2
y = y 3 244

conversion to fixed point

yh = y 3 244

xs = ( x yh h ) yh s xs = x 2yh
t =< y > 6..0

index t for table lookup

ct (1 t ) = cos 2 < 0.t >


st (1 t ) = sin2 < 0.t >

table lookup

us = xs2 /2 xs4 /24 1 us = cos ( xs )


ss = xs xs3 /6 xs5 /120 ss = sin( xs )

c = ct (ct ( t us ) st ss ) c = cos ( x)
s = st (st ( t us ) ct ss ) s = sin( x)
return(c, s)
In this algorithm, the way of computing

y h is only possible if floating point numbers are always rounded to


b

53 bits in the mantissa. Note that the lookup table does not have to consist of 2 2 entries, but we may exploit
identities like cos (2 x) = cos ( x) and sin(/2 x) = cos ( x) . Our implementation uses a lookup table
for

cos ( xt ) for the range 0 xt containing 2b1 1 entries.

2.2 IA-64 Architecture


The Itanium processor is the first implementation of the IA-64 architecture. The Itanium processor uses a 10stage pipeline divided into four major parts[3, 4]. Now, we will discuss some key features of the IA-64 (Intel
Architecture-64) CPU followed by optimization techniques to compute sin(x) and cos(x) pair for EPIC
(explicitly parallel instruction computing) based 1.0 GHz Itanium CPU. The EPIC has the same principal feature
as VLIW (very long instruction word) - compiler, not processor, performs the parallelizing of instruction stream.
EPIC can roughly be denoted as the second generation of VLIW.
The Intel IA-64 chip represents a processor family that has significantly different characteristics from the
RISC chips. Its first implementation, the Itanium processor, finally became available in products from a number

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

18

2 ndInternational Symposium on Computing in Science & Engineering

of vendors in July 2001. Many vendors now market systems with this processor e.g., NEC and Fujitsu Siemens,
while HP and IBM offer them as alternative processors in their high-end systems such as the HP SuperDome and
the IBM x-series. In computing, IA-64 is a 64-bit processor architecture developed in cooperation by Intel and
Hewlett-Packard, implemented by processors such as Itanium and Itanium 2. The goal of Itanium was to produce
a post-RISC era architecture, using a VLIW design. Unlike Intel x86 processors, the Itanium is not geared
toward high performance execution of the IA-32 (x86) instruction set. Three instructions are grouped together
into 128-bit sized and aligned containers called

bundles [3, 4, 5, 6]. Each bundle contains three 41-bit

instructio n slots and a 5-bit template field. The format of a bundle is depicted in Table 1.
Table 1. Bundle Format

slot 2

slot 1

slot 0

template

(41-bit)

(41-bit)

(41-bit)

(5-bit)

First 4 bits of the template explicitly indicate types of instructions, and the last bit (stop bit) indicates whether
the bundle can be executed in parallel with the next bundle[7]. Bundled instructions don't have to be in their
original program order, and they can even represent entirely different paths of a branch. Also, the compiler can
mix dependent and independent instructions together in a bundle, because the template keeps track of which is
which. During execution, architectural stops in the program indicate to the hardware that one or more
instructions before the stop may have certain kinds of resource dependencies with one or more instructions after
the stop [7]. IA-64 instructions are packed by compiler into 128 bit length bundle. The bundle contains three IA64 instructions along with template. The template indicates dependencies between instructions whether the
instructions in the bundle can be executed in parallel or if one or more must be executed serially due to operand
dependencies. The template also indicates whether the bundle can be executed in parallel with the neighbor
bundles.A single bundle containing three instructions corresponds to set of three functional units. IA-64
processors would contain different numbers of such sets. And these processors will be able to run the same code.
Indeed, assume an IA-64 processor has N sets of three functional units each; then using the template information
on dependencies between bundles it is possible to chain the bundles to create instruction word of 3 N
instructions (N bundles) in length. This is the way chosen by HP and Intel to provide scalability of IA-64.
Certainly the concept is beautiful. Unfortunately IA-64 is not absolutely perfect. IA-64 CPUs are extremely
efficient chips, which can process more instructions per clock cycle than any other CPU. That does not mean
there are no concerns. The quality of compilers will make or break the success of IA 64. Complexity of the
compiler increases drastically. Therefore the number of errors in compiler and compilation time increases badly
too.

2.3 Optimization for IA-64 architecture


In this subsection, we will present the optimization techniques of sin(x) and cos(x) to compute many pairs
simultaneously.
The 2 I-units, 2 M-units, 3 B-units, and 2 F-units in the Itanium processor which are pipelined [3]. Itanium has
an instruction issue window that contains up to two bundles at any given time. With this window size, Itanium
can issue up to 6 instructions in a clock. In the worst case, if a bundle is split when it is issued, the hardware
could see as few as 4 instructions: 1 from the first bundle to be executed and 3 from the second bundle.
Instructions are allocated to functional units based on the bundle bits, ignoring the presence of no-ops or
predicated instructions with untrue predicates. Stalling the entire bundle leads to poor performance unless the
instructions are carefully scheduled.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

19

2 ndInternational Symposium on Computing in Science & Engineering

We have used the symbols


which correspond to multiplication,
addition, branch, integer operation, shift, load, store, nop (no operation), and fnop, respectively. The fnop copies
the stack top onto itself, thus padding the executable file and taking up processing time without having any effect
on register or memory. Before being performed loop unrolling and software pipelining, we performed
vectorization. This technique, also named as loop distribution, splits the loop into two or more parts, and
executes the parts in separate loops. This is helpful for large loop bodies which would require too many registers.
After vectorization, there are 2 phases and hence our optimization will be 2 phases.

Fig. 2.Four times unroll and instructions scheduling for the first phase. Each time a clock cycle will issue 2
bundles simultaneously - one from 1st bundle sequences and another from the corresponding 2nd bundle
sequences.

Fig. 3.Non-optimized first phase pre-loop. Each time a clock cycle will issue 2 bundles simultaneously - one
from 1st bundle sequences and another from the corresponding 2nd bundle sequences.

Fig. 4.Optimized first phase loop. Each time a clock cycle will issue 2 bundles simultaneously - one from 1st
bundle sequences and another from the corresponding 2nd bundle sequences.

Fig. 5.Non-optimized first phase post-loop. Each time a clock cycle will issue 2 bundles simultaneously - one
from 1st bundle sequences and another from the corresponding 2nd bundle sequences.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

20

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 6.Four times unroll and instructions scheduling for the second phase. Each time a clock cycle will issue 2
bundles simultaneously - one from 1st bundle sequences and another from the corresponding 2nd bundle
sequences.

Fig. 7.Non-optimized second phase pre-loop. Each time a clock cycle will issue 2 bundles simultaneously one from 1st bundle sequences and another from the corresponding 2nd bundle sequences.

Fig. 8.This structure depicts (n/4 - 2) times looping of 4 times unrolling and 3 times pipelining of instruction
scheduling to the resulting optimized code. The second phase loop is highly optimized. Each time a clock cycle
will issue 2 bundles simultaneously - one from 1st bundle sequences and another from the corresponding 2nd
bundle sequences.

Fig. 9. This structure indicates second phase non-optimized post-loop of 4 times unrolling and 3 times
pipelining of instruction scheduling to the resulting optimized code. Each time a clock cycle will issue 2 bundles
simultaneously - one from 1st bundle sequences and another from the corresponding 2nd bundle sequences.

2.3.1 First Phase Optimization


The first phase consists of 3 multiplications, 4 additions, etc. Ignoring other restrictions, the computation of a
single 1st phase will take at least 4 cycles. To achieve this optimum the instructions must be scheduled in such a
way that one floating-point add and a possible floating-point multiply are executed in each cycle, i.e, again
template 14 and 15 are appropriate for this purpose. The processor core is capable of up to six issues per clock,
with up to three branches and two memory references. Consequently, the processor will issue 2 bundles at a
clock cycle.
Assuming again that n is a multiple of 4 the loop can be unrolled 4 times as above. The result latency gives the
number of cycles required until the result is available. The result latency of 4 cycles for multiplication and
addition naturally suggests a 4 times loop unrolling, and the structure of the dependences required a 3 times
overlap in software pipelining. Fig. 2 elucidates n/4 times looping together with 4 times unrolling of sin(x) and
cos(x) pair with proper reordering of the instructions to obtain optimum performance for first phase. The loop
unrolling implies increased the size of the loop body, that may hurt performance but increase the potential for
instruction-level parallelism. From Fig. 2 it is easy to notify that after loop unrolling and scheduling each
iteration consists of a phase enclosing mainly integer operations, load, store, shift instructions, and a posterior

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

21

2 ndInternational Symposium on Computing in Science & Engineering

phase with floating point operations. Such an issue structure is pertinent for software pipelining. We have
overlapped 3 such issue structures so that the resulting structure will be able to minimize loop overhead and to
increase the potential for instruction-level parallelism to more extent. The resulting optimized code delineates in
the Fig. 3, 4, and 5 concerning pre-loop, loop, and post-loop successively of the first phase. After 4 times
unrolling and scheduling the cycles become 42n/4 11n . It is easy to observe, from Fig. 2, only 20.23% of
the total instruction slots are filled with instructions. There are several Itanium-dependent restrictions that cause
a bundle to be split and issue a stop [2]. So, it is often good idea to make overlap 3 such issue structures resulting a structure with 4 times unrolling and 3 times pipelining. After fabricating software pipelining, there
are

16n/4 = 4n cycles with some overhead.

2.3.2 Second Phase Optimization


The second phase consists of 12 multiplications, 11 additions, etc. Fig. 6 indicates n/4 times looping together
with 4 times unrolling of sin(x) and cos(x) pair with proper reordering of the instructions to obtain optimum
performance for second phase. We have overlapped 3 such issue structures so that the resulting structure will be
able to minimize loop overhead and to increase the potential for instruction-level parallelism a bit more. The
resulting optimized code has been figured successively in the Fig. 7, 8, and 9 concerning pre-loop, loop, and
post-loop of the second phase. After 4 times unrolling and scheduling the cycles yield 54n/4 = 13.5n which
uses 54.32% of the total instruction slots. On making 3 times pipelining software pipelining, there are

48n/4 = 12n cycles with some overhead.


While counting cycles based on the instruction counting would be misleading because we have ignored
memory latencies, it still estimates an upper limit for the possible improvement thanks to the code
transformations. At the starting, for the first phase after loop unrolling and software pipelining we have 4n cycles
plus some overhead. Analogously, after loop unrolling and software pipelining we have 12n cycles plus some
overhead for the second phase. Speaking with a shadow of doubt, loop unrolling and software pipelining the two
phases take 16 cycles.

3 Results of the optimized algorithm theoretically and practically

3.1 Theoretical results


The above issue figures demonstrate that the vectorized version can be implemented without further loss, at
least if we make some idealizations. With a clock rate of 1000MHz, these 16 cycles correspond to 16ns as a
lower limit for computing a pair of sin(x) and cos(x). Of course, the true execution time will be higher than 16ns
per pair of sin(x) and cos(x) computation.

3.2 Practical results without compiler options


To analyze the efficiency of the optimized pair of sin(x) and cos(x) for varying vector length n , the same
realistic approach as in [1] has been used for the execution time t per element,

t = t0 c1
where
parameter

c2
n

(1)

t 0 is the only barely adequate time required for compute a certain task with t0 = 16ns . The

c1 will be determined by the overhead which occurs for every iteration of the innermost loop such as

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

22

2 ndInternational Symposium on Computing in Science & Engineering

a taken branch penalty, as opposed to the parameter

c2 measures the overhead which occurs once per function

call or once per vector. A tiny portion of the overhead

c2 are for example function call and return, register save

and return to its original or usable and functioning condition, and the penalty due to non-optimal pre-loop and
post-loop codes. For large vectors n , the overhead

c2 will be negligible and the execution time will be

t t0 c1 . Every piece of overhead can not be classified to either class c1 or c2 in all likelihoods e.g., load
misses due to table lookup can occur in every iteration for small n , but for larger n table entries will be reused
and the number of load failures to succeed will decrease.
To find the overheads

c1 and c2 for pair of sin(x) and cos(x), we have measured the execution time t per pair

of sin(x) and cos(x) for varying vector length n . The parameters

c1 and c2 can be easily determined by making

ready those data to the simple model in the least squares sense, minimizing the relative errors between predicted
and measured execution times. The execution times t for the manually optimized codes are shown Table 2 for a
couple of vector lengths n without using any compiler optimized options. After fitting the data of Table 2 to the
simple model at Eq. 1 in the least squares sense, we have estimated

c1 = 3.9ns overhead per pair of sin(x) and

c2 = 247ns overhead per vector. In relation to the idealized execution time of 16ns the overall
3.9100
overhead drops to about
% 24% for n . Taking into account that the integer pipelines are
16
cos(x), and

highly utilized and that casual first level cache misses will lead to partial stalls, the resulting efficiency seems
satisfactory.

Table 2. With IA-64 (1.00 GHz), the execution time t in nanoseconds, per pair of sin(x) and cos(x)
computation for varying vector lengths n without using any compiler optimized option.
Vector length n

Nanoseconds

38.56

30.79

16

26.73

32

24.28

64

22.12

128

20.92

256

20.11

512

19.23

3.3 Practical results with compiler options


The difference between gcc and ecc is the performance. The gcc is a free cross compiler that supports a lot of
platforms and a handful of languages. The ecc is available as a cross compiler that runs on an IA-32 system and
a native compiler that runs on an Itanium processor system. Intel compiler with frequently used optimization
option is O2. Normally, nobody cares about code size for Itanium but performance is real issue for Itanium gcc.
The optimization of loop unrolling is performed by -funroll-loops, can be only done for loops whose number of
iterations can be determined at compile time or run time. The optimized option -funroll-loops minimizes loop
overhead and creates many opportunities for further optimizations [8]. On the other hand, -funroll-loops is a
risky optimization option; it can improve performance, but it can also penalize performance significantly: the

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

23

2 ndInternational Symposium on Computing in Science & Engineering

object file becomes larger, which can significantly hurt cache performance. To whatever extent, we can say that
the speed-up of our manually optimized pair of sin(x) and cos(x) depends on the quality of the compiler used.

Table 3. With IA-64 (1.00 GHz), the execution time t in nanoseconds, per pair of sin(x) and cos(x)
computation for varying vector length n using gcc and ecc following their optimized options -03 -funroll-loops
and -O2, respectively.

Vector length n

Compilers

gcc

ecc

t in nanoseconds
4

37.21

48.29

29.58

31.33

16

25.11

27.46

32

23.29

24.65

64

21.15

22.37

128

20.51

21.94

256

19.86

21.04

512

19.13

20.31

Built-in function

106.48

102.95

Table 4. Speed-up with respect to built-in function for vector length n deeming similar results and optimized
options from the Table 3.
Vector length n

Speed up

gcc

ecc

2.86

2.13

3.60

3.29

16

4.24

3.75

32

4.57

4.18

64

5.03

4.60

128

5.19

4.69

256

5.36

4.89

512

5.57

5.07

Table 3 depicts the time t in nanoseconds, for executables generated by gcc and ecc compilers. The best
results obtained by using the various optimizing options available for the different compilers have been shown.
The execution time of the optimized pair of sin(x) and cos(x) may vary to a little extent. As a result, the
execution time on the Table 3 has been computed as the geometric mean of 100 measurements with the same
optimized option for every vector length. However, in computing the optimized pair of of sin(x) and cos(x) for a
enough large vector length n with or without using compiler options in gcc and ecc give a satisfactory factor of
reduction as compared to the standard built-in approach.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

24

2 ndInternational Symposium on Computing in Science & Engineering

We have defined the speed-up as the ratio of the execution time of the built-in function and the execution time
of the optimized code in varying vector lengths. The Table 4 depicts different speed-up with varying vector
lengths. It is remarkable that higher vector lengths are desirable. But for simulation, higher vector lengths require
higher number of dummy inputs. For examples, maximum 7 dummies would be important for a choice of vector
length 8 and similarly 15 for 16, 31 for 32, 63 for 64, 127 for 128, etc. Although the lower vector lengths expect
to calculate a smaller number of dummies in simulation, the degree of performance of them is significantly low
and consequently they are hardly use in high performance computing. Depends on simulation work, one would
be benefited from vector lengths like 32 or 64 or so.

4 Conclusions
We addressed a specific problem to compute and presented a detailed analysis of possible software
optimizations to improve its performance. The processor micro-architecture and the manual optimization
techniques improve the computing performance significantly. The optimized routine for computing pair of sin(x)
and cos(x) expects some smarter compilers like gcc and ecc. for high performance. The routine is highly
optimized manually. Consequently, compiler optimization options will not have a big effect on performance. The
routine is significantly faster than using standard library routine, provided that the vector length n is large
enough. Although the routine is much more efficient on IA-64 (Itanium), with or without some maintainance it
can be compiled and will execute correctly on any processor which conforms the IEEE 754 floating point
standard.

References
[1] R. Strebel. Pieces of software for the Coulombic m body problem. Diss. ETH No. 13504, 2000.
[2] C. C. Corporation. Alpha Architecture Handbook. Compaq Computer Corporation, 4 edition, 1998.
[3] D. Patterson and J. Hennessy. Computer Architecture : A Quantitative Approach. Morgan Kaufmann Publishers, Inc.,
3rd edition, 2003.
[4] M. H. Sharif, A. Basermann, C. Seidel, and A. Hunger. High-performance computing of 1/sqrt(xi) and exp(xi) for a
vector of inputs xi on Alpha and IA-64, Journal of Systems Architecture, 54, 2008, 638-650.
[5] I. Corporation. IA-64 System Architecture : IntelR IA- 64 Architecture Software Developers Manual, 2, Intel
Corporation, 1.1 edition, 2000.
[6] I. Corporation. IA-64 Application Architecture : IntelR IA-64 Architecture Software Developers Manual, 1, Intel
Corporation, 1.1 edition, 2000.
[7] I. Corporation. Intels IA-64 Application Developers Architecture Guide. Intel Corporation, 1999.
[8] A. Oram and M. Loukides. Programming with GNU Software. OReilly & Associates, Inc., 1 edition, 1997.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

25

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/07

An Overview of Two-Level Finite State


Kyrgyz Morphology
Zeliha Grmez1, Semra nl Baki2, Atakan Kurt 3*, Kalmamat Kulamshaev 4 , Mehmet Kara 5
1

Department of Computer Engineering, Istanbul University


3
Department of Computer Engineering, Fatih University
4
Department of Modern Turkic Languages and Literature, Fatih University
5
Department of Contemporary Turkic Languages, Istanbul University
1
zgormez@istanbul.edu.tr, 2usemra@gmail.com, 3akurt@fatih.edu.tr,
4
kkulamshaev @fatih.edu.tr, 5mehkara@yahoo.com

Abstract. Morphologic analysis is the study of word formation in a language. It describes how the minimal
meaningful units called morphemes come together to form a word. Morphological parsing and generation is
the basis for many natural language processing applications such as machine translation. Kyrgyz is one of the
major languages in Turkic Languages Family. In this paper we introduce Kyrgyz Morphology using
Koskemnienis two-level finite state method with an implementation on Dilma Machine Translation
Framework. The moprhology is given using two tools: (1) A set of orthographic rules describing the
phonological rules when affixing morphemes to roots or stems (ii) A finite state automaton describing
morphemes and the order in which the morphemes affixed to words.

Keywords: Kyrgyz, morphology, phonology, orthographic rules, two level morphology, finite state machine,
machine translation

1 Introduction
Kyrgyz is one of the major Turkic languages. It is the official language of the independent state of Kyrgyzstan.
It is spoken by more than 4 million people Kyrgyzstan, China, Afghanistan, Kazakhstan, Tajikistan, Turkey,
Uzbekistan, Pakistan and Russia.
In this paper we present an overview of finite state Kyrgyz morphology using Koskenniemis two level
morphology (Koskenniemi, 1983, Karttunen 1983) with a set of orthographic rules modeling the phonological
dynamics during word formation. Morphology is one of the fundamental building blocks of any natural language
application. This is more so, especially for agglutinative languages in which most words are formed by joining
morphemes. Accurate morphological parsing is required for a proper syntactic and semantic analysis of
sentences upon which many applied linguistics applications are built. Developing a comprehensive Kyrgyz
morphology is part of our ongoing Kyrgyz-Turkish Machine Translation Project.
The RUSLAN project is developed to translate documents from Czech to Russian (Hadic 1987) which are
both Slavonic languages. Later another translation project Cesilko was undertaken to translate from Czeck to
Slovac (Hajic et al. 2000).Ceilko was extended to other Slavonic languages, Polish and Lower Serbian (Dworak
et al. 2006), and the Baltic language Lithuanian (Hajic et al. 2003)

Corresponding Author

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

26

2 ndInternational Symposium on Computing in Science & Engineering

InterNOSTRUM project was another project for closely related languages. It was developed to translate
between Catalan and Spanish (Canals-Marote et al. 2000). More work for Romance Language pairs was
alsoimplemented. Portuguese-Spanish machine translation system was implemented in a similar manner.
(Garrido-Alenda et al. 2003)
The two-level Turkish morphology was described by Oflazer (Oflazer, 1994) using PC KIMMO (Antwort
1990) which is milestone project. In a way it paved the way for similar studies on Turkic languages, since
Turkish and other Turkic languages have lexical, morphological and syntactic similarities.
The machine translation between Turkic languages is limited to only a few projects. Lexicon-based
translation system was implemented between Azerbaijani and Turkish (Hamzaoglu 1993). Another early system
was implemented between Crimean Tatar and Turkish (Altintas, icekli 2001).
A Turkmen Turkish machine translation system was implemented at Fatih University (Shylov 2008) which
turned into morphological machine translation system for Turkic languages, called DLMA. Another Turkmen
Turkish system was implemented at ITU (Tantug 2006,2007). We use DLMA to implement Kyrgyz Turkish
translation system. Two-level morphology of Kazakh Language was described and implemented in DILMAC
(Zafer, 2011). In a similar study two-level morphology of Kazan Tatar language was developed using DILMA
(Gkgz, 2011)
This paper is organized as follows: We describe the Kyrgyz orthography using two level rules in Section 2.
Orthographic rules are formulated for the correct spelling during word formation. We then represent the Kyrgyz
morphotactics using finite state machines (FSM) in Section 3. The FSMs for nominal and verbal morphotactics
describe how the words of the language can be formed in detail. We present a number of nominal, verbal and
adverbial word formation examples to demonstrate the system. The paper concludes in Section 4.

2 Kyrgyz Orthography
Kyrgyz is written in a modified version of Cyrillic script.The Kyrgyz Cyrillic alphabet is used in Kyrgyzstan.
We used Kyrgyz Cyrillic to Latin converter [Hata! Bavuru kayna bulunamad.]. Comparison of Kyrgyz
Cyrillic - Latin alphabet is given in Table 3.
Table 3. Comparison of Kyrgyz Cyrillic - Latin Alphabet
Cyrillic

Latin
A
Bb
Vv
Gg
Dd
E e;Ye ye
Yo yo
C c; J j
Zz
i
Yy
Kk

Cyrillic

Latin
Ll
Mm
Nn

Oo

Pp
Rr
Ss
Tt
Uu

Cyrillic

Latin
Ff
Xx
TS ts


I
inceltme
kesme
Ee
Yu yu
Ya ya

Like other Turkic languages Kyrgyz is also agglutinative. It has a rich set of inflectional and derivational
suffixes (Kasapolu 2007). A word is formed by affixing inflectional and derivational morphemes to roots
successively. During the formation of words some phonological rules is to be followed. These orthographic rules
are expressed in certain formalism as shown below. Some subsets of letters of Kyrgyz language that used in rules
are defined in Table 4

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

27

2 ndInternational Symposium on Computing in Science & Engineering

Table 4. Some Subsets of Letters of Kyrgyz Language


Set Letter
Cs
Ct
L
V
R

Letters in Set
{ f,s,t,k,,,h,p }
{ b,d,c,g,v,z,m,n, ,l }
{ l,d,t }
{ a,e,o,, ,I,u, }
{ r,y }

In this section orthographic rules are described using two-level morphology. In this model word morphology
is represented in two levels: lexical and surface. Orthographic rules describe transformation form lexical level to
surface level. In the rule (a:b), the colon ( : ) character is represent transformation between two levels. Letter a is
in the left side of the colon, indicates that it refers to symbol of lexical level and letterb is in the right side of the
colon, indicates symbol of surface level. These rules are represented four different types:

a : b = > LC__RC ; meaning a lexical a, corresponds to a surface b only if it follows the left context
(LC) and precedes the right context (RC).
a : b < = LC__RC ; meaning a lexical a always corresponds to a surface b if it follows LC and
precedes RC.
a : b < = > LC__RC ; meaning a lexical a corresponds to a surface b always and only if it follows LC
and precedes RC.
a : b / < = LC__RC; meaning a lexical a, never corresponds to a surface b betweeb LC and RC.

Here we give only a few rules because of space limitations

i.
ii.
iii.

L : l => [V|R] +:0_


L : t => Cs +:0_
L : d => Ct +:0_

These rules,are example of consonant harmony similar to Turkish, represent changing from L to set letters
{l,t,d}. First rule states that the letters in lexical L turn into letter l if the last letter of the word is one of the
letters in V or R. An application of the rule is given in the following example

Lexical : cete+LA
Surface: cete0le cetele (Kyrgyz); yedekle (Turkish); back up (English)

Second rule states that the letters in lexical L turn into letter t if the last letter of the word is one of the letters in
Cs. An application of the rule is given in the following example.

Lexical: ti+LA
Surface: ti0te

tite (Kyrgyz); dile (Turkish); bite (English)

Third rule states that the letters in lexical L turn into letter d if the last letter of the word is one of the letters in
Ct. An application of the rule is given in the following example. This rule is a consonant harmony like Turkish.
Lexical: kol+LA
Surface: kol0da kolda (Kyrgyz); kolla (Turkish); protect (English)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

28

2 ndInternational Symposium on Computing in Science & Engineering

In these examples the surface words are respectivelycetele, tite,kolda are formed by affixing +LA morpheme
to the rootsti, cete, kol. L in the lexical level becomes respectively l,t,d in the surface obeying the rules above.

I:0 =>V+:0__@*
This rule, is a example of vowel elision, represents dropping vowels in subset of I. If last letter of the word is
one of the letters in V and affix begins with Ip, the letter I drops. In the following example the surface word is
apam is formed by affixing +Im (Possesive 1st Person Single for noun) to root apa. I in the lexical level drop in
the surface level obeying the rule above.
Lexical : apa+Im
Surface: apa00m apam(Kyrgyz); annem (Turkish);my mother (English)

The orthographic rules are specified to the system using an XML file. Part of XML file representing the rules
about changing from L to I, t, or d is shown in Figure 1.

Figure 1.Part of XML File for Orthographic Rules Implementation

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

29

2 ndInternational Symposium on Computing in Science & Engineering

3 Kyrgyz Morphotactics
Morphotactics describe the morphemes and the order in which these morphemes are affixed to roots or stems.
Morphotactics allows one to generate valid or meaningful words out of morphemes and a lexicon. It also allows
one to check the validity of a given word. We describe Kyrgyz morphotactics using finite state machines (FSM)
as this is the usual method. A finite state machine as shown below is in principal a directed graph. It consists of a
set of states and a set of transitions among these states. Possessive suffixes for nouns are shown in Table 5.
Definitions of possessive suffixes for nouns morphotactics of Kyrgyz language using the finite state model is
given Figure 2.
Table 5. Possessive Suffixes for Nouns
Possesive for Nouns
Possesive 1st Person Single
Possesive 2nd Person Single
Possesive 3rd Person Single
Possesive 1st Person Plural
Possesive 2nd Person Plural
Possesive 3rd Person Plural

Abbreviation
Poss1PS
Poss2PS
Poss3PS
Poss1PP
Poss2PP
Poss3PP

Suffix
+(I)m
+(I)
+(s)I
+(I)bIz
+(I)Ar,+(I)Iz
+LarI, +(s)I

Example
bala+m
bala+
bala+s
bala+bz
bala+z
bala+lar, bala+s

Figure 2. FSM part of Noun in Kyrgyz Language


Transitions are the edges of graph labeled with inflectional or derivational morphemes defining in what order
those morphemes can be affixed to a word. The initial states [Noun] represent the roots words from a lexicon
and their part of speech such as noun, verb, adverb, adjective, etc. The immediate states [Plural], in a way,
represent words created by starting with a root word in an initial state and affixing morphemes on the transitions
to the partial words in each intermediate state such as Noun+LAr orNoun+LAr+(I)m. The final statesrepresent
words that cant take any more morphemes.
We define the nominal, verbal and adverbial morphotactics of Kyrgyz language using this finite state model.
Here we will give only a small portion of nominal morphotactics because of space limitation in

Table 6. Kyrgyz Morphotactics are implemented in a XML file. Part of xml file, for transition of states from
s-1(noun) to s-2 (plural), s-3(verb) and s-4;9 (possessive persons), is shown in Figure 3.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

30

2 ndInternational Symposium on Computing in Science & Engineering

Table 6 Example for Transition of States for Noun


Example
balam
bala
balas
balabz
balaz
balalar, balas
balalarm
Kansra
Azay

Root+Suffix
bala+(I)m
bala+(I)
bala+(s)I
bala+(I)bIz
bala+Iz
bala+LArI, bala+(s)I
bala+LAr+(I)m
Kan+sIrA
Az+Ay

Transition of States
S-1(Noun)s-4 (Poss1PS)
S-1(Noun) s-5 (Poss2PS)
S-1(Noun) s-6 (Poss3PS)
S-1(Noun) s-7 (Poss1PP)
S-1(Noun) s-8 (Poss2PP)
S-1(Noun) s-9 (Poss3PP)
S-1(Noun) s-2(Plural) s-4 (Poss1PS)
S-1 (Noun) s-3 (Verb)
S-1 (Noun) s-3 (Verb)

Figure 3. Part of XML File for Kyrgyz Morphotactics


4 Conclusions
In this study we presented an overview of Kyrgyz morphology. Morphology consists of technical components:
phonological rules and morphotactics. We used Koskemnienistwo-level orthographic rules for phonological
rules and FSA for morphotactics. The system is implemented Dilmac Machine Translation Framework. This
frameword which is developed for MT agglutinative Turkic languages is based on morphology. Morphology is
implemented on this system in a language independent way. It requires no programming. Specifications are as

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

31

2 ndInternational Symposium on Computing in Science & Engineering

XML files. System is available as a web application. Lexicons and XML specifications are uploaded through the
web interface. Testing is also performed on the web interface.
This is to our knowledge the first study on Kyrgyz language which is the first precondition for a successful
machine translation between Kyrgyz and Turkish. As a result of this study we now have a morphological parser
and a morphological generator for Kyrgyz. Our ultimately goal in this project is to develop a Kyrgyz-Turkish
machine translation system using DILMAC.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

12.
13.
14.
15.

16.

Koskenniemi K. (1983). Two level morphology: A general computational model of word-form recognition and
production. Tech. rep. Publication, No. 11, Department of General Linguistics, University of Helsinki.
Karttunen L (1983). PC-KIMMO: A General Morphological Processor. In Texas Linguistics Forum 22, pp.165186.
Oflazer, K. (1994). Two-level description of Turkish morphology, Literary and Linguistic Computing, Literary and
Linguistic Computing Volume9, Issue2 pp. 137-148.
Shylov M.(2008).DLMA: Turkish and Turkmen Morphological Analyzer and Machine Translation Program.
Masters thesis, FatihUniversity, stanbul Turkey.
Gkgz E., et al (2011). Two-Level Qazan Tatar Morphology. 1st International Conference on Foreign Language
Teaching and Applied Linguistics.
Zafer H.R, et al (2011). Two-Level Description of Kazakh Morphology. 1st International Conference on Foreign
Language Teaching and Applied Linguistics.
Kasapolu engel H. (2007). Krgz Trkesi, in Trk Leheleri Grameri [Prof. Dr. Ahmet Ercilasun], 481-542,
Ankara, Aka.
Altinta K & icekli . (2001) A Morphological Analyser for Crimean Tarar. In: Procedings of the 10 th Turkish
Sym on AI and NN TAINN pp 180-189, North Cyprus.
Canals-Marote R., et al. (2000) interNOSTRUM: a Spanish-Catalan Machine Translation System. Machine
Translation Review, 11, 21-25
Tantu A.C., Adal E. & Oflazer K. (2006) Computer Analysis of the Turkmen Language Morphology. In:
FinTAL, Lecture Notes in Computer Science, pp. 186-193. Springer
Dvok B., Homola P. & Kubo V. (2006) Exploiting similarity in the MT into a minority language. In: LREC2006: Fifth International Conference on Language Resources and Evaluation. 5th SALTMIL Workshop on
Minority Languages,Italy
Garrido-Alenda A., et al. (2003) Shallow Parsing for Portuguese-Spanish Machine Translation In: TASHA 2003:
Workshop on Tagging and Shallow Processing of Portuguese, Lisbon, Portugal
Haji J. (1987) RUSLAN - An MT System Between Closely Related Languages. In: Third Conference of the
European Chapter of the Association for Computational Linguistics (EACL'87), Copenhagen, Denmark
Haji J., Homola P. & Kubo V. (2003) A simple multilingual machine translation system. In: MT Summit IX,
New Orleans, USA
Haji J., Hric J. & Kubo V. (2000) Machine translation of very close languages. In: Proceedings of the sixth
conference on Applied natural language processing pp. 7-12. Morgan Kaufmann Publishers Inc., Proceedings of the
sixth conference on Applied natural language processing
M.Corbi-Bellot A., et al. (2005) An open-source shallow-transfer machine translation engine for the Romance
languages of Spain. In: 10th EAMT conference "Practical applications of machine translation", Budapest, Hungary

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

32

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/09

Examining the Impacts of Stemming Techniques on


Turkish Search Results by Using
Search Engine for Turkish
Erdin UZUN
Corlu Enginering Faculty / Computer Engineering Department / Namk Kemal University
erdincuzun@nku.edu.tr
Abstract.The aim of this paper is to introduce Search Engine for Turkish (SET) Project and examine the
effects of the stemming techniques on search performance of Turkish texts by using SET. SET has modules
of a crawler, an indexer, a ranking, a searching and an evaluator. The crawler module downloads Milliyet
news and automatically creates XML files. The indexer module prepares index to enable a rapid search. The
searching module displays the search results that are sorted by the ranking module that has no-stemming,
Turkish stemming and word truncation options. Moreover, it uses tf-idf to assist. The evaluator module helps
to check and assess the search results. 110 queries are prepared by using this evaluator. As expected, analysis
indicates that stemming techniques can be used for improving the search results. However, detailed analysis
shows that users suffixes are crucial in some queries so stemming techniques may have negative effects in
these queries.

Keywords: Turkish Web IR, Stemming Methods, Agglutinative Languages

1 Introduction
The major aim of search engines is actually a question of deciding which documents in a text collection should
be obtained from search algorithm to satisfy users need for information. They use any stemming techniques and
various different techniques to provide the best result first. For example, Google heavily relies on links when it
comes to determine the ranking of a web site. Moreover, the ranking process varies widely from one engine to
another. In addition to these, the stemming technique is used by search engines is not clear. Furthermore,
different stemming techniques dont support by commercial search engines. Hence, all possible cases cant be
examined in terms of the information retrieval for Turkish. Therefore, a search engine for Turkish (SET 1) is
developed . To the best of our knowledge, this is the first online project for researches on Turkish IR
(Information Retrieval). With developing a custom search engine, the effects of stemming techniques can be
examined for Turkish IR. In this search engine, no-stemming (NS) is selected to be the baseline; Turkish
stemmer (TS) and word truncation (WT) method are used as comparator.
Another matter is the test collection used by search engine. In Turkish, only a very limited number of test
collections are available for IR studies. We suffered from similar limitations in creating dataset at our previous
studies [1], [2]. Therefore, a Turkish sentence collector, which obtains data over internet, was developed. For
1Classes

of SET developed in C# programming language are open source and available via the web page
http://bilgmuh.nku.edu.tr/SET/. Moreover, you can try all modules by using this web page.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

33

2 ndInternational Symposium on Computing in Science & Engineering

this study, the Turkish sentence collector has been upgraded and developed a crawler that collects news
specifically from Milliyet which is an online newspaper. Using this crawler, news of Milliyet stretching from
2004 to 2007 was able to be accessed and created.
The paper is organized as follows: Section 2 introduces properties of the SET projects and gives general
information such as information models, stemming techniques, crawling techniques and evaluating techniques
that is used in SET. Section 3 examines the results of obtained from an evaluator module. The paper ends with
some concluding remarks.

2 Architecture of the SET


SET is a search engine project that is written in C# programming language. This search engine consists of the
following fivemodules.
A Crawler module: collects news of Milliyet between 2004 - 2007 and generates XML documents for
every news.
An index constructor module: parses XML files generated with crawler, tokenize the documents obtained
from parsing, do linguistic pre-processing of these tokens and index the files that each terms occurs in.
A ranking module: sorts the files according to a term weight is namely tf-idf (term frequencyinverse/document frequency) that is often used in information retrieval.
A searching module: supports to use keywords and phrases in search query. Moreover, it provides the use
of Boolean operators (AND, OR and NOT) and parentheses to specify the search query.
An evaluator module: is a web-based assessment system of either relevant or irrelevant for each querydocument pair.

2.1 The Crawler Module


This crawler is designed to download web pages of Milliyet between 2004 and 2007. It firstly prepares the
seeds that are a list of URLs (Uniform Resource Locator) to start. For generating these seeds, it produces an
appropriate
date
form.
(For
example:
http://www.milliyet.com.tr/2004/01/08/,
http://www.milliyet.com.tr/2005/01/01/, http://www.milliyet.com.tr/2006/03/01/.)
Then, it downloads initial URL, extracts all the hyperlinks in the downloaded page and adds them to the URL
Listing. In this extraction, regular expression, which is special text string for describing a search pattern, is used.
The following table indicates patterns that are used for extracting URLs.
Table 1. Link Patterns used in this Crawler
Patterns

Description

(?<=href=\").*?(?=\")

Standart HTML <a href> tag

openWindow\('(.*?)'\)

Links in Javascripts

popup\('(.*?)'

Before adding an URL into the URL Listing, URL normalization process and unique web page control process
are applied to URL for ensuring a duplicate record is not created. After obtaining the URLs, this crawler
generates a XML file for every web page. For generating this file, it takes string between comment tags of <!-PRINT BASLADI --> and <!-- PRINT BTT --> by using regular expression because the rest is made up of
banners, menus, advertisements and other unnecessary information. These comment tags didnt use in another
years so news between 2004 and 2007 are chosen to use. The generated XML file begin with an information
about news article (<DOCNO>, <DATE> and <CATEGORY> tags) and end with a text of a news article
(<TEXT> and<P> tags), as shown in Fig. 1. The first paragraph of texts is usually the title of the news articles.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

34

2 ndInternational Symposium on Computing in Science & Engineering

<DOC>
<DOCNO> 1103 </DOCNO>
<DATE>2007/08/20</DATE>
<CATEGORY>SPOR</CATEGORY>
<TEXT>
<p>
12 Dev Adam'da rota Efes Cup
</p>
<p>
A Milli Basketbol Takmmz, 3 - 16 Eyll tarihlerinde spanya'da dzenlenecek
olan 2007 Avrupa Basketbol ampiyonas ncesi son ciddi provasn zmir'de
yapacak. Ay - yldzllar, 22 - 26 Austos'ta zmir Halkapnar Salonu'nda
gerekletirilecek 6. Efes Pilsen World Cup Mini Dnya Kupas'nda boy
gsterecek. Yarn sabah bu turnuvaya katlmak zere zmir'e gidecek olan
millilerimiz, bugn sabah kondisyon ve akam da taktik olmak zere iki
antrenmanla hazrlklarn srdrecek. Milli Takmmz, turnuvada Letonya ve
Hrvatistan ile A Grubu'nda yer alrken, B Grubu'nda ise in, Srbistan ve Polonya
mcadele verecek.
</p>
</TEXT>
</DOC>

Fig. 1. Example of a news article


Test collection that is collected in this study contains 240,364 documents and the size of this collection is
around 511 MB in UTF-8. In all documents, this collection contains 94% alphabetic, 4% numeric and 2%
alphanumeric characters. Each article contains 309 words (tokens) on the average without stopword elimination.
The average length of a word is 6.60 characters.

2.2 The Index Constructor Module


The index constructor produces an inverted file that stores information about words and files to enable a rapid
search to be made. Before storing words to the inverted file, the most widely used technique is the stemming that
is the process for reducing inflected or derived words to their stem. SET uses no-stemming, stemming of
Zemberek2and word truncation technique. No-stemming uses original words for indexing. Zemberek is
morphological analyzer that can be removed both inflectional and derivational suffixes of words. In word
truncation technique, first n character of each word is its stem and words with n characters are with no
truncation. In Turkish IR researches, Sever and Tonta [3] also proposed the use of values 5, 6 and 7 for n.
However, their proposition is intuitive and based on their observation that truncated and actual Turkish words
display similar frequency distributions. Can et al. [4] indicate that n=5 is appropriate for Turkish IR. Hence,

2Zemberek

is an open source library that provides basic lexical operation for


(http://code.google.com/p/zemberek/). Furthermore, you can try this stemmer over
http://bilgmuh.nku.edu.tr/set/semcoz.aspx.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

35

Turkic languages
the web using

2 ndInternational Symposium on Computing in Science & Engineering

n=5is selected in this study. While indexing the test collection with these stemming techniques, they change the
size of storage. (See below Table 2.)
Table 2. The indexing information of NS and stemming techniques
Information

NS

TS

WT5

864035

364786

156328

Avg. no. of terms/doc.

214

163

148

Avg. term length

9.91

6.25

4.73

Median term length

Min. term length

Max. term length

55

55

Total Storage Size (MB)

1068

906

998

Size of Keywords (MB)

29

11

Size of Documents (MB)

49

49

49

Size of Relations (MB)

990

846

804

Total no. of terms

Stemming techniques reduce the size of storage in memory. TS and WT5 cause 15% and 20% of decrease in
the storage efficiency when comparing with NS.

2.3 The Ranking Module


The tfidf weight is a statistical measure used to evaluate how important a word is to a document in a text
collection. This weight has two main components. First one, the term frequency (tf) component, should depend
upon the frequency with which a query terms occurs in a given document. The other, the document frequency
component, should depend upon how frequency the term occurs in all documents. In fact, inverse document
frequency (idf), which measures the relative rarity of a term, is utilized in this study. The term weighting formula
is usually given as
wt ,d tf t ,d idf t ,d

where t is the weight of a term and d is the document vector. After obtaining term weight, the similarity vector
is computed by using the formula
sim(q, d )

t ,d

2
t ,d

wt ,q

2
t ,q

where q is the query vector.

2.4 The Searching Module


The search module is a web interface for specifying queries. Then most widely Boolean used retrieval model
was used in SET. This means you can use Boolean logic operator (AND, OR, NOT) and parenthesis in searching
query. However, users prefer to search basketball matches of Beikta and Fenerbahe, keywords can be used
Beikta OR Fenerbahe AND Basketbol. Moreover, synonym words can be added to query. For example,
Beikta is nicknamed the Kara Kartal (Black Eagles") and Fenerbahe is nicknamed Kanarya (Canary). For

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

36

2 ndInternational Symposium on Computing in Science & Engineering

adding these words to the search term, users need parentheses to show the order in which relationships should be
considered. In this case, keywords can be used ((Beikta OR (Kara AND Kartal)) and (Fenerbahe OR
Kanarya)) and (Basketball OR Pota).

2.5 The Evaluator Module


The evaluator module is a web interface for examining search results. In this evaluator, on the precision at 10
documents retrieved (P@10), precision at 20 documents retrieved (P@20), and mean uninterpolated average
precision (MAP) are concentrated. P@10 and P@20 are simple and intuitive. Furthermore, these measures
closely correlate with user satisfaction in tasks such as web searching and are extremely easy to interpret.
However,MAP is based on a much wider set of information than P@10 and P@20. MAP is the mean of the
precision scores obtained after each relevant document is retrieved. Geometrically, it is equivalent to the area
underneath an uninterpolated recall-precision graph. As MAP is a more reliable measure for IR effectiveness [5],
MAP value is used for comparison in this study.

3 Experiments
110 ad hoc queries are prepared to evaluate the effectiveness of stemming techniques. These query terms are
divided into three sub groups by using the MAP values of NS and TS.

42 negative cases that stemming techniques are ineffective


46 positive cases that stemming techniques are effective
16 equal cases that the MAP values are equal
The following table gives the results of four example queries for negative cases.
Table 3. Example Query Results for Negative Cases
Query Terms

NS

TS

WT5

niversiteye giri snav

0.91

0.67

0.64

ampiyonlar ligi

1.00

0.59

0.77

isizlik sorunu

1.00

0.21

1.00

tarihi eser kaakl

1.00

0.61

0.57

As these examples indicate, stemming techniques are statistically significantly inefficient in analyzing query
terms derived with inflectional and derivational suffixes. In fourth example, the results gathered by TS and WT5
are different because the stem, i (job), is used in TS however WT5 uses the word, isiz (jobless). According
to this selection, WT5 is more effective because the word that WT5 uses is closer to the users original word,
isizlik (joblessness), in meaning than the word that TS uses. In terms of count of retrieved search results,
these words ( i, isiz, isizlik) appear in 59832, 3533 and 1809 documents, respectively. Number of
relevant documents gathered by using the stem, i, is more than the number of relevant documents gathered by
using the words, isiz and isizlik. But the relevancy percent of the results is lesser due to the fact that there
is 2058 words derived from the stem, i, in test collection and these 59832 documents include all possible
forms of i. In other words, using the stem in search is most effective, if all the words derived from it have
similar meanings. Now, the positive cases are examined by analyzing four example queries. (See below Table 4.)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

37

2 ndInternational Symposium on Computing in Science & Engineering

Table 4. Example Query Results for Positive Cases


Query Term

NS

TS

WT5

film festivalleri

0.55

1.00

1.0

Nuri Bilge Ceylan

0.52

0.87

0.82

Trkiye'de futbol ikesi

0.33

0.62

0.76

Kaltsal hastalklar

0.15

1.0

1.00

In negative examples taking plural suffix -lar out has a negative effect on results, despite the fact that in
positive examples taking plural suffix -ler has a positive effect on results. In last two examples, NS have no
any effect because of query term that has no suffix. NS is efficient when user use suffixes in his query term. In
four positive cases, stemming techniques are observed to be adequate to improve search engine results.
Table 5. Comparison of three different cases
NS

TS

Wt5

Case

Query
MAP

Cnt

MAP

Cnt

MAP

Cnt

Cnt

Positive Cases

0.25

46

0.52

394

0.50

270

48

Equal Cases

0.76

561

0.76

1522

0.77

1193

16

Negative Cases

0.56

233

0.46

1519

0.53

656

46

Overall Results

0.49

166

0.53

1048

0.56

493

110

While evaluating the average performance on 110 query terms, stemming techniques seems to be slightly
better than the other techniques. Improvements of TS, WT5 are 6.68%, 13.16% better than NS, respectively. The
average count of retrieved search results show that no-stemming can be used to narrow the search results when
comparing other methods. In the other hand, TS is an appropriate technique for obtaining more search results
than the others.
In Turkish, Ekmekcioglu and Willett [6] compare the effectiveness of information retrieval by employing
stemmed and non-stemmed query word terms using Turkish news articles of size 6,289 and 50 queries. Sever
and Bitirim [7] evaluate the effectiveness of a new stemming algorithm, namely FINDSTEM, which employs
inflectional and derivational stemmers. Their algorithm provides 25% retrieval precision improvement with
respect to no-stemming. Pembe and Say [8] investigate the question of whether NLP techniques can improve the
effectiveness of information retrieval. Can et al. [4] compare the effects of four different stemming options by
using a large-scale collection. They used 72 ad hoc queries. All these studies are local. To the best our
knowledge, this study is the first online project in Turkish IR.

4 Conclusion
In this study, an online Turkish search engine is described and evaluated the effects of the stemming
techniques on Turkish search results obtained from this search engine. Stemming techniques usually gives
satisfactory results in IR[9], [10]. Still, this study indicates that there are some cases that stemming is proved to
be inadequate. Suffixes that are used in users query term can be critical in some cases. However, stemming
techniques eliminates importance of these suffixes. Regular agglutinative languages such as Turkish encode

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

38

2 ndInternational Symposium on Computing in Science & Engineering

more information with suffixes than the other languages. Because of that, not only stems but also suffixes are
important in agglutinative language based IR.
Some future research possibilities are modifying this Crawler to obtain different Turkish texts. Another future
work would be to try different information retrieval models such as OKAPI, language modeling and mutual
information model. Moreover, synonyms of query terms are to be used in searching.

References
Uzun, E., Klaslan, Y., H.Agun, V. and Ucar, E., (2008). "Web-based Acquisition of Subcategorization Frames
for Turkish", ICAISC 2008, Editors: Rutkowski L. et.al., ISBN 978-83-60434-50-5, pp. 599-607.
2. Uzun, E., (2007). An internet-based automatic learning system supported by information retrieval [nternet tabanl
bilgi eriimi destekli bir otomatik renme sistemi], Ph.D., Department of Computer Engineering, Trakya
University, Edirne, Turkey
3. Sever,H. and Tonta,Y. (2006). Truncation of Content Terms for Turkish, CICLing 2006, Mexico City, Mexico.
4. Can, F., Kocberber, S., Balcik, E., Kaynak, C., Ocalan, H. C., Vursavas, O. M., (2008). "Information retrieval on
Turkish texts." Journal of the American Society for Information Science and Technology. Vol. 59, No. 3, pp. 407421.
5. Sanderson, M. andZobel J. Information retrieval system evaluation: Effort, sensitivity, and reliability, ACM SIGIR
05, 2005, pp. 162-169.
6. Ekmekcioglu, F.C. and Willett, P. (2000). Effectiveness of stemming for Turkish text retrieval. Program, 34(2), pp.
195-200.
7. Sever, H. and Bitirimi Y. (2003). FindStem: Analysis and evaluation of a Turkish stemming algorithm. Lecture
Notes in Computer Science, 2857, pp. 238-251.
8. Pembe F. C., and Say ACC, (2004). A linguistically motivated information retrieval system for Turkish. Lecture
Notes in Computer Science, 3280, pp. 741-750.
9. Krovetz,R. (1993). Viewing morphology as an inference process, ACM SIGIR93, Pittsburgh: ACM, 1993, pp. 191202.
10. Savoy, J. (2006). Light stemming approaches for the French, Portuguese, German and Hungarian languages, ACM
SAC 06, pp. 1031-1035.
1.

Biography
Erdin Uzun received his BSc (2001), MSc (2003) and PhD (2007) degrees from Computer Engineering Department of
Trakya University respectively. He was a research assistant in this university during this time. Then, he has begun to work in
Computer Engineering Department of Namik Kemal University as assistant professor. He was the vice dean between 2007
and 2010 Faculty of Corlu Engineering. Since 2010, he is the vice chairman of Computer Engineering Department of this
faculty. His research interests include information retrieval, machine learning, data mining, web mining and natural language
processing. He is the developer of SET (Search Engine for Turkish - bilgmuh.nku.edu.tr/SET/) and Teaching (Lesson
Content Management System - bilgmuh.nku.edu.tr/Teaching/)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

39

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/11

Development of New VO2max Prediction Models by


Using Artificial Neural Networks
M. Fatih AKAY1, Noushin Shokrollahi2,Erman Aktrk3,James D. George4
1,2,3

Dept. of Computer Engineering / Cukurova University / Adana, TURKEY,


Dept. of Exercise Sciences / Brigham Young University / Provo, UT, USA
1
mfakay@cu.edu.tr, 2nshokrollahi951@gmail.com, 3erxman2004@hotmail.com, 4jim@byu.edu
4

Abstract. Artificial Neural Network (ANN) and Multiple Linear Regression (MLR) models based on
maximal and non-exercise variables are developed to predict maximal oxygen consumption (VO 2max) in
healthy volunteers ranging in age from 18 to 65 years. The dataset includes data of 100 subjects andthe input
variablesof the dataset aregender, age, body mass index (BMI), grade, self-reported rating of perceived
exertion from treadmill test (RPE), heart rate (HR), perceived functional ability (PFA) and physical activity
rating (PA-R). The performance of the models are evaluated by calculating their standard error of estimate
(SEE) and multiple correlation coefficient (R).The results suggest that the performance of VO2maxprediction
models based on maximal variables can be improved by including questionnaire variables (PFA and PA-R) in
the models.
Keywords: maximal oxygen consumption, artificial neural networks

1. Introduction
Cardiorespiratory fitness (CRF) is the ability to perform dynamic, moderate-to-high intensity exercise using
the large muscle groups for long periods of time [1]. CRF depends on the respiratory, cardiovascular, and
skeletal muscle systems and, therefore, is an important component of health and physical fitness [2].The standard
test for determining CRF is the direct measurement of maximal oxygen uptake (VO2max) during a maximal
graded exercise test [3]. Additionally, this method is useful when educating individuals about their overall fitness
status, stratifying cardiovascular risk and prescription and control of fitness programs in healthy individuals and
patient who could be treated using physical exercise [4].VO 2max is the most accurate way to assess CRF,
however maximal exercise tests that directly measure VO2max is impractical in most physical therapy clinics [5]
because maximal tests require expensive gas analysis and ventilation equipment. As a result, researchers have
sought to develop alternative methods that would allow clinicians to predict VO 2max without having to perform
direct measurement of oxygen uptake [6].VO2max could be predicted by using maximal exercise variables,
submaximal exercise variables, non-exercise variables or any combination of these variables. Maximal tests
require expensive equipment, trained staff and a highly motivated client [7]. Submaximal tests are most often
performed on a cycle ergometer, a treadmill or a track to indirectly estimate VO 2max. Although submaximal
tests are faster, safer, and cheaper to administer, they are less accurate than maximal tests [8]. Non-exercise
variables include various demographic (age, gender) , biometric (body mass, height, weight) and questionnaire
(PFA to walk, jog or run given distances and PA-R) information [9].
Froelicher et. al. [10] investigated the hypothesis that an individuals VO2max can be realistically predicted by
the maximal time achieved in the Balke treadmill protocol. The oxygen consumption in the final minute

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

40

2 ndInternational Symposium on Computing in Science & Engineering

ofexercise of 1025 healthy men who performed a maximal effort in the Balke protocol were linearly regressed on
their maximal treadmill time using a least-squares fit technique. Their results for standard error of estimate (SEE)
and multiple correlation coefficient (R) were 4.26 and 0.72, respectively.
Foster et. al. [11] had an investigation on 230 male patients. Individuals were categorized according to health
status on the basis of having or not having cardiovascular disease (documented myocardial infarction, typical
angina pectoris, or myocardial revascularization surgery). They used the time variable and tried to show
nonlinear regression could produce more accurate results than linear regression for VO 2max prediction. SEE and
R of their models were reported to be 3.35 and 0.97, respectively.
Patton et. al. [12] used a maximal predictive cycle ergometer test for estimating VO 2max. The dataset
contained 15 males and 12 females. The test consisted of pedaling a cycle ergometer (Monark) at 75 rev/min,
beginning at an intensity of 37.5 watts and increasing this amount each minute until the subject could no longer
maintain pedal rate. The highest work rate achieved was recorded as the end point of the test and used to
construct regression equations to predict VO2max. This was compared with two direct measures of VO 2max (an
interrupted treadmill run and an interrupted cycle ergometer procedure at 60 rev/min) and with the submaximal
predictive test. The R of their models was 0.85, however they did not report any results for SEE.
Storer et. al. [13] used 116 females and 115 males, aged 20-70 years, sedentary, nonsmoking and apparently
healthy subjects. They hypothesizedthat cycle ergometer VO 2max could be accurately predicted due to its more
direct relationship with watts. Therefore, they developed an equation including the variables watts, weight and
age. They reported that the R of their model was 0.94.
Jette et. al. [14] investigated if VO2max could be predicted from independent variables measured during the
administration of the Canadian Home Fitness Test. They used 59 subjects between the ages of 15 and 74years
underwent the fitness test and a progressive exercise treadmill test for the direct determination of volitional
VO2max. Average oxygen cost of the last completed exercise stage, body weight, post exercise heart rate and
age were the variables for their models. Their results indicated that VO2max could be adequately predicted. SEE
and R were reported to be 4.08 and 0.90, respectively.
Stickland et. al. [15] investigated the accuracy of the 20-m multi-stage shuttle run test to predict VO2max in 60
men and 62 women young adults. Their models included only one variable called the last half-stage of the shuttle
run completed. For men, the reported values of SEE and R were 4.07 and 0.88, respectively. For women, the
reported values of SEE and R were 3.64 and 0.81, respectively.
Flouris et. al. [16] used the maximal attained speed from the 20-m shuttle run test to predict VO2max of 110
healthy young males. SEE and R of their best model were reported to be 1.70 and 0.96, respectively.
Ruiz et. al. [17] developed an artificial neural network (ANN) equation to estimate VO2max from 20 m shuttle
run test performance (stage), sex, age, weight, and height in 122 boys and 71 girls adolescents aged 13-19 years.
The SEE and R of their model was reported to be 2.78 and 0.96, respectively.
Leger et. al. [18] validated a maximal multistage 20-m shuttle run test for the prediction of VO2max in 91
adults. Maximal speed was the only variable in their model. They hypothesized that the 20-m shuttle run
testcould be a valid and reliable test for the estimation of VO2max. The presented SEE and R values were 5.4 and
0.84, respectively.
There are several limitations of the studies in literature that focus on predicting VO 2max by using maximal
variables. First of all, almost all of these studies used multiple linear regression for developing VO2max
prediction equations. Intelligent data processing techniques such as ANNs have been used in one study
only[17]. Secondly, cross validation was not used in most of these studies, which raises a question about the
reliability of the presented results. Thirdly, all the studies used maximal variables and standard non-exercise
variables such as sex, age, weight and height. In order words, they did not consider including questionnaire type
non-exercise variables in their VO2max prediction models.
In this study, new VO2max models for fit adults based on both maximal exercise and non-exercise variables
are developed by using ANNs. The dataset involves measured VO 2max values of 100 individuals as well as the
maximal test variables; heart rate, grade and self-reported rating of perceived exertion from treadmill test and
also non-exercise variables; gender, age, body mass index (BMI), PFA and PA-R questionnaires. Six different

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

41

2 ndInternational Symposium on Computing in Science & Engineering

VO2max prediction models are developed using 10-fold cross validation on the dataset. SEE and R values of the
models are computed and it is shown that the performance of the prediction VO 2max model based on maximal
and standard non-exercise variables can be improved by adding questionnaire variables in the prediction model.
The reported values of SEE and R for the best model are 2.28 and 0.94, respectively.Section 2 gives dataset
generation. Section 3 presents VO2max prediction models. Section 4 gives results and discussion. Finally,
Section 5 concludes the paper.

2. Dataset Generation
The dataset contains 100 subjects (50 females and 50 males), that are healthy volunteers ranging in age from
18 to 65 years. All subjects were recruited from the Y-Be-Fit Wellness Program at Brigham Young University
(BYU) and employees from the LDSHospital in Salt Lake City, Utah. During the exercise testing, a physical
activity readiness questionnaire (PAR-Q) and an informed consent document that was approved by the BYU
Institutional Review Board for Human Subjects, were given all subjects to complete. Using a stadiometer and
balance beam scale, volunteers height and body mass were measured and recorded, respectively. Prior to
testing, instructions about the maximal graded exercise test were given to all subjects. Subjects performed a
maximal graded exercise test using a modified version of the Arizona State University (ASU) maximal protocol
[19], with only a slight change in the warm-up. The warm-up consisted of having subjects complete up to three
4-min stages and reach 75% of maximum heartrate (HRmax). During the first stage, subjects walked at a selfselected brisk pace, 4.86.4 km/h. If subjects progressed to the second stage, the speed was increased to a selfselected jogging pace between 4.8 and 6.4 km/h. If 75% of HR max was not achieved by the end of the second
stage, subjects continued to the third stage where the speed was increased to 9.6 km/h or greater. After the warmup, while the test administrator explained the test procedures for the maximal graded exercise test and fit
subjects with a mouthpiece and nose clip, subjects rested for approximately 5 min. As the necessary pace for the
maximal graded exercise test the ending speed of the warm-up served. Thereafter, the grade was increased 1.5%
each minute, while pace remained the same, and continued until subjects reached volitional fatigue and were no
longer able to continue.
Metabolic gases were collected using the TrueMax 2400 metabolic measurement system during the maximal
graded exercise test. Every 15s, the VO2max and respiratory exchange ratio (RER) were computed, averaged,
and printed by an online computer system. At the end of each stage, the subjects exercise heart rate (HR) and
RPE scores were recorded. If at least two of the following three criteria were met, VO2max was considered
valid:
1. HRmax within 15 beats of age predicted maximal heart rate.
2. RER equal to or greater than 1.10.
3. Plateau in VO2max despite an increase in work load.
Subjects who failed to meet at least two of these criteria were dropped from the study. Prior to exercise testing
subjects completed the PFA and a modified PA-R non-exercise questionnaire.

3. VO2max Prediction Models


A feed forward ANN is used to develop six different VO 2max prediction models. Table 1 shows the variables
utilized in each model. Models 1 through 3 contain maximal variables along with standard non-exercise
variables (i.e. gender, age, BMI). Models 4 through 6 are created by adding questionnaire variables (i.e. PFA and
PA-R) to models 1 through 3.In the hidden layer of the ANN models, Tansigmoid activation function is used,
and pure-linear activation function is used in the output layer. The network is trained using LevenbergMarquardt (LM) algorithm. The other important parameters of the ANN model are the number of epochs
(selected as 500), the learning rate (selected as 0.05). The optimum number of neurons in the hidden layer for

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

42

2 ndInternational Symposium on Computing in Science & Engineering

each model was determined by trial and error. Table 1 also shows the number of neurons in the hidden layer for
each model.
Table 1: VO2max prediction models and their variables
Model
No
1

Variables
Gender, Age, BMI, RPE

Number of Neurons
In the Hidden Layer
8

Gender, Age, BMI, HR

11

Gender, Age, BMI, GRD

Gender, Age, BMI, RPE, PFA, PA-R

10

Gender, Age, BMI, HR, PFA, PA-R

Gender, Age, BMI, GRD, PFA, PA-R

RPE, self-reported rating of perceived exertion from treadmill test; HR, heart rate; GRD, grade

In order to assess the performance of the ANN-based models, MLR-based models have also been developed.

4. Results and Discussion


The performance of both ANN and MLR models are evaluated by using 10-fold cross validation and
calculating the SEEand R, whose formulas are given in (1) and (2), respectively,

(1)

(2)

In (3) and (4), Y is the measured VO2max value, Y is the predicted VO2max value, Y is the mean of the
measured values of VO2max and N is the number of samples in a test subset.For both ANN-based and MLRbased VO2max prediction models, the individual SEE and R values for each fold have been calculated and
average values for each model are shown in Table 2.As Table 2 shows, among models 1 through 3, which
contain maximal and standard non-exercise variables, model 3 has the lowest SEE and highest R. As is clearly
seen from Table 2,adding questionnaire variables (PFA and PA-R) to models 1 through 3 yields lower SEEs and
higher Rs both for ANN-based and MLR-based models. Table 3 shows the performance improvement of models
in percentage after including the questionnaire variables in the models.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

43

2 ndInternational Symposium on Computing in Science & Engineering

Table 2: Results for ANN-based and MLR-based models


Regression Method
ANN
MLR

Models
Model No
1
2
3
4
5
6

Variables

SEE

Gender, Age, BMI, RPE


Gender, Age, BMI, HR
Gender, Age, BMI, GRD
Gender, Age, BMI, RPE, PFA, PA-R
Gender, Age, BMI, HR, PFA, PA-R
Gender, Age, BMI, GRD, PFA, PA-R

3.72
3.59
3.15
2.34
2.23
2.28

R
0.86
0.86
0.89
0.93
0.94
0.94

SEE
5.44
5.43
5.09
3.82
3.77
3.73

R
0.65
0.65
0.72
0.86
0.86
0.87

Table 3: Performance improvement of models after including the questionnaire variables


Model No

Regression Method
ANN

1
2
3

MLR

SEE

SEE

-37.19%
-37.78%
-27.55%

+8.4%
+15.12%
+6.09%

-29.86%
-30.44%
-26.75%

+32.18%
+31.96%
+20.37%

Model 2 has the highest decrement in SEE both for ANN-based and MLR-based models. Model 2 also has the
highest increment in R for the ANN-based model whereas model 1 has the highest increment in R for the MLRbased model. It is clear from the presented results that ANNs perform better than MLR for prediction of
VO2max. For instance the SEE of the best ANN model is 2.23 and the SEE of the best MLR model is 3.73. Also,
the R of the best ANN model is 0.94 and the R of the best MLR model is 0.87.

5. Conclusions
In this study, we use ANNs to develop VO2max prediction models by using maximal variables such as heart
rate, grade and self-reported rating of perceived exertion from treadmill test and non-exercise variables gender,
age and BMI. We show that the accuracy of the VO2max prediction models based on maximal and standard nonexercise variables can be improved by including questionnaire variables PFA and PA-R in the models. Models 1
through 3 yielded 37.1%, 37.88% and 27.62% decrements in their SEE values, after including the questionnaire
variables. The most accurate VO2max prediction model is the one that includes the variables gender, age, BMI,
heart rate, PFA and PA-R. According to the presented results, it is understandable that ANN performs better than
MLR for prediction of VO2max. The reported values of R for all ANN-based models are higher than those
reported for MLR-based models. Also, the reported values of SEE for all ANN-based models are lower than
those reported for MLR-based models.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

44

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.

Wilmore, J. H., et. al. (2008). Physiology of Sport and Exercise. USA: Human Kinetics.
Williams, L.& Wilkins. (2000). AmericanCollege of Sports Medicine. Philadelphia: ACSMs guidelines for
exercise testing and prescription 6th ed.
Jackson, A.S., et. al. (1990). Prediction of functional aerobic capacity without exercise testing. Medicine and
Science in Sports and Exercise 22(6):863-870.
Duque, I. L., et. al. (2009). A new non exercise-based VO2max prediction equation for patients with chronic low
back pain. J Occup Rehabil 19:293-299.
Chatterjee, S., et al. (2006). Prediction of maximal oxygen consumption from body mass, height and body surface
area in young sedentary subjects. Indian J Physiol Pharmacol 50(2):181186.
Balmer, P. B. and OConnel, D. G. (2009). Research corner regression analysis for prediction: understanding the
process. Cardiopulmonary Physical Therapy Journal 20(3):23-26.
Waddoups, L., et. al. (2008). Validation of a single-stage submaximal treadmill walking test. Journal of Sports
Sciences 26(5):491-497.
Hunn, H. M., et al. (2002). The influence of pre-test anxiety, personality and exercise on VO2max estimation.
JEPonline 5(1):5-14.
George, J. D., et. al. (2009). Prediction of maximum oxygen uptake using both exercise and non-exercise data.
Measurement in Physical Education and Exercise Science 13(1):1-12.
Froelicher, V. F. and Lancaster, M. C. (1974). The prediction of maximal oxygen consumption from a continuous
exercise treadmill protocol. Am HeartJ 87:445-450.
Foster, C., et. al. (1984). Generalized equations for predicting functional capacity from treadmill performance. Am
Heart J 107:1229-2134.
Patton, J. F., et. al. (1982). Evaluation of a maximal predictive cycle ergometer test of aerobic power. Eur J Appl
Physiol 49:131-140.
Storer, T. W., et. al. (1990). Accurate prediction of VO2max in cycle ergometry. Med Sci Sports Exerc 22:704-712.
Jette, M., et. al. (1976). The canadian home fitness test as a predictor of aerobic capacity. CMA Journal 114:680692.
Stickland, M. K., et. al. (2003). Prediction of maximal aerobic power from the 20-m multi-stage shuttle run test.
Canadian Society for Exercise Physiology 28(2): 272-282.
Flouris, A. D., et. al. (2005). Enhancing the efficacy of the 20 m multistage shuttle run test.Br J Sports Med 39:166170.
Ruiz, J. R., et. al. (2008). Articial neural network-based equation for estimating VO2max from the 20 m shuttle
run test in adolescents. Articial Intelligence in Medicine 44: 233-245.
Leger, L. A. and Lambert, J. (1982). A maximal multistage 20-m shuttle run test to predict VO2max. Eur J Appl
Physiol 49:1-12.
George, J. D. (1996). Alternative approach to maximal exercise testing and VO2max prediction in college students.
Research Quarterly for Exercise and Sport 67(4):452457.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

45

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/12

Improving of IMS SIP Server Security with


Vulnerability Assessment
Afsaneh Madani1, Hasan Asgharian2, Ahmad Akbari 3

Computer Engineering Department, Iran University of Science and Technology, Tehran 16846-13114, Iran.
1

madani@itrc.ac.ir, 2asgarian@iust.ac.ir, 3akbari@iust.ac.ir

Abstract. IMS (IP Multimedia Subsystem) network is considered as an NGN (Next Generation Network)
core networks by ETSI. Decomposition of IMS core network has resulted in a rapid increase of control and
signaling message that makes security a required capability for IMS commercialization. The control messages
are transmitted using SIP (Session Initiation Protocol) which is an application layer protocol. IMS networks
are more secure than typical networks like VoIP according to mandatory of user authentication in registration
time and added SIP signaling headers. Also different vulnerabilities have been occurred that lead to SIP
servers attacks. This paper studies the main SIP servers of IMS (x-CSCF) based on ETSI Threat,
Vulnerability and Risk Analysis (TVRA) method. This method is used as a tool to identify potential risks to a
system based upon the likelihood of an attack and the impact that such an attack would have on the system.
After identifying the assets and weaknesses of IMS SIP servers and finding out the vulnerabilities of these
hardware and software components, some security hints that can be used for secure deployment of IMS SIP
servers are proposed. Modeling shows the effects of server weaknesses and threats that reduces availability.
Any designed system has some assets with weaknesses. When threats have accrued based on weaknesses, the
system will vulnerable. Vulnerability analysis optimizes costs and improves security.

Keywords: IMS SIP, threat, asset, vulnerability

1 Introduction
Importance of system security and assets has led different methods to risk assessment and threats analysis.
There are some differences between these methodologies in simulation and implementation standpoint, but goal
of all them appropriates response system requirements, vulnerabilities, threats and activities could prevent
destroying of system assets. Providing suggestions for protection of system privacy, integrity and availability are
the main outputs of vulnerability assessment. TVRA is standard by ETSI organization as a method of systematic
modeling to identify threats, specify protection requisites to reduce risks and enhance system security, also
weaknesses, threats, security objectives and the overall security arrangements will be obtained [1]. System assets
have Weaknesses that may be attacked by threats and may lead to an unwanted incident with breaking certain
pre-defined security objectives. Vulnerability, consistent with the definition given in ISO/IEC 13335, is modeled
as the combination of a weakness that can be exploited by threats. The goal of security design is to ensure
reduction of unwanted incidents and attacks. Unwanted incident is dependent upon the weakness in an asset.
Modeling is completed with the following steps [2]:

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

46

2 ndInternational Symposium on Computing in Science & Engineering

1)
2)
3)
4)
5)

Security objective & requirement setting


Assets and values determination
weaknesses identification
Attack and threat classification
Security countermeasure definition

Vulnerability assessment determines necessary countermeasure items in implementation. This paper has been
trying to use the behaviour methodology and identify system vulnerability. Fist, an IMS network modelled by
TVRA is explained, as a related similar work then, IMS SIP server modelled is given. The final provided table is
used to balance between designing of SIP servers with suitable countermeasures to reduce attack potential.

2 Related similar works


IMS TVRA modelling is one of the successfully examples in this field. The vulnerabilities have been prepared
and introduced in the components of TVRA modelling [3]. It introduces IMS as a system with comprehensive
analysis of the vulnerabilities associated with the weaknesses and every asset has classified in the IMS with
associated weakness, threatening to attack and exploited security objectives when an attack is occurred. End
results of this model show the most IMS Network investments that is meeting in SIP sessions information and
signalling messages. Weak authentication methods, choosing and transmitting message with no confidentiality
mechanism are the most IMS vulnerabilities. HTTP digest authentication is more common method and less
accurate authentication than IMS AKA. IMS AKA is a more secure but heavy method in authentication [3].
These results are useful in implementation time of IMS network. The optional cases in standards may be
necessary when vulnerability analysis is completed in ETSI TVRA modelling. Other samples of components
modelling like IPTV or NGN services with TVRA are explained in [4], [5] ETSI standards.

3 IMS SIP server modeling with TVRA method


System security modelling in TVRA design is based on system requirements and application types. This
method suggests seven design steps that could be combined with each other. There are three different CSCF
entities in IMS network core: P-CSCF3 is the entrance gateway to IMS system that connects user, S-CSCF4 is
actually SIP server and I-CSCF5 allocated S-CSCF to each user. Vulnerability analysis of IMS SIP servers is
done by modelling with TVRA in major steps that would be described in detail.

3.1 Step 1) Security objectives and requirement setting


Security objectives are system characteristics that must be protected in transferring or storing of data [6] [7].
Security objectives, defined in TVRA modeling, include important security dimensions [8] as confidentiality,
integrity, accounting, authentication and availability. SIP server signaling Confidentiality is accomplished by
message encryption between user equipment and IMS P-CSCF server, the encrypted section is header of
message that contains controlling information. Message can be encrypted via the chosen protocol in registration
time. As an example, if the chosen protocol is IMS AKA, SIP connection is encrypted with Cryptography key
(Ck) that is ready in P-CSCF,S-CSCF and user equipment. So message content eavesdropping is not possible. In
addition, using IPSec tunneling is more effective. User communication confidentiality is strongly depends on the
authentication protocol and key agreement. SIP proxy weaknesses cause some threats on system assets like user
profile information or message methods/headers.
3

Proxy-Call Session Control Function


Serving-Call Session Control Function
5 Interrogating-Call Session Control Function
4

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

47

2 ndInternational Symposium on Computing in Science & Engineering

There are deferent methods to ensure the IMS SIP proxy message integrity [11]:
1.
2.
3.

IMS AKA
HTTP digests with integrity supporting
Any both Methods with IPSec or TLS.

User and network communication requires integrity security mechanism. We can implement HTTP digest
authentication with TLS. This mechanism seems also establish some network layer security like transport layer.
The integrity protection mechanism may have no encryption methods, but it must provide message integrity.
Security protection mechanism and algorithm types are agreed in TLS security layer. At user registration time by
AKA, the connection will be protected by TLS and the security level will be higher than the time just IMS AKA
authentication protocol is used.
Attacker cannot guess the produced session key in the TLS, even if she/he could influence AKA protocol [9].
The next important issue raised SIP server security is users accounting. Any user is associated with the SIP
proxy by definition of charging conditions. The network has to provide the desired service to all authorized
users. However, in case of single SIP proxy modeling, this article discussion may not have relevance, but it is
one of the considered implementation cases in modeling. I-CSCF server is billing responsible. User charging
information is added to the SIP message header by P-CSCF (p-charging-vector).
Another major issue that should be considered in modeling is SIP server availability. The most important
weaknesses of SIP proxy is the Vulnerability comes from flooding attacks that is the serious threat for SIP
infrastructure in IMS network [9]. Floods of invite, response and register messages with random source
addresses/ports, are sent to P-CSCF by attacker. It attempts to keep track of the large number of calls. When
legitimate users attempt to make a call, the SIP element is not able to process the messages due to lack of
resources (memory, CPU, processing time, etc). Reduction of the flooding attacks will increase availability of
SIP Proxy servers. To promote of availability, definition of comparison and controlling methods on transferred
message sequences are more practical. For example, a substantial imbalance between an accounting of SIP invite
and SIP 180 ringing messages indicates a flooding attack. Increasing of invite message number comparing with
Ok messages is shown the invite flooding attack [10].
The last part of security objectives is authentication. It is the initial necessary steps to IMS network
communication [6]. The authentication mechanisms are done by the user and the network agreed in
''authorization'' header. Available authentication methods are the following:
Early IMS authentication
Network Attachment Sub-System(NASS)
Http digest (challenging)
http digest over TLS/IPSec
IMS AKA : AV(Rand(IK,CK), Autn, Xres)
These methods are sequenced according to increasing of safety. Digest authentication is password-based
method that allows secure user identification without sending password in plaintext over the network. TLS is
based on Secure Sockets Layer (SSL) and provides data integrity and confidentiality for reliable connection
(TCP). AKA is not only mutual authentication. It has a confidentiality and integrity key negotiation for
connection security. After user authentication ''P-ASSERTED-IDENTITY'' header is added to SIP message by
P-CSCF for showing of IMS trust to a user [3]. This header identifies user has authenticated by network and
causes recently requests are not authenticated due to save the resources [11]. This header field identifies the
source of message even when amount of ''from'' field not provided properly [11]. Table 1 categorized the
discussed IMS SIP server security objectives using ideas contained in TVRA.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

48

2 ndInternational Symposium on Computing in Science & Engineering

Table 7. IMS SIP server Security objectives in TVRA


Dimension

Server

Statement and methods

Authentication P/S/I-CSCF Authorization header in register message


Confidentiality P/S-CSCF
Integrity

P/S-CSCF

''Ck'' key of IMS AKA,TLS/IPSec protocols


''Ik'' key of IMS AKA, TLS, IPSec/HTTP digest

Accounting

P/I/S-CSCF P-charging vector in P-CSCF,

Availability

P/S-CSCF

Auth. Methods, IDS/IPS, comparison algorithm

3.2 Step 2) Asset and Values Determination


According to specified asset types in any system modeling, they are divided to physical and logical assets [1].
Importance of any asset depends on founded attacks on it. Logical asset is the content of physical asset. IMS SIP
servers have one physical asset is named x-CSCF servers hardware. The servers have few logical assets that
include authentication parameters: confidentiality & integrity keys, session related data like session key, IPSec
tunneling information, TLS protocols. There are some SIP message methods as logical assets. The ''Register'',
''Invite'', ''Cancel'', ''Bye'' and ''Update'' methods are the most important, because of attacks definition on them.
These attacks will be explained in Step 3&4.
Another logical asset in SIP server is message header field. The least message header fields that complete the
session are Call-Id, CSeq, Contact, Via, To, From, Route and Record Route (Table2).
Table 2. SIP server Security objectives in TVRA
Physical Asset

Logical Asset
Authentication parameters (ISIM, user credentials)
Integrity, cryptography & session keys(P/S-CSCF)

x-CSCF
IPSec, TLS parameters
SIP Methods (invite, Bye, Cancel, Register)

3.3 Step 3) weakness identification


The next step in TVRA modeling is system weakness determination. The Attackers can misuse system
weaknesses to make threat on a system. Attack definition using weaknesses leads to system vulnerabilities. User
Registration and message authentication are mandatory in start of the IMS network communication. With
authentication of all submitted requests to the S-CSCF, the traffic of cx reference point known as the interface
between S-CSCF and HSS will be increased. So P-CSCF and S-CSCF availability will be abused and we know
that the availability was one of the security objectives. Authentication of all requests in SIP server forces extra
processing time to server and the posted messages will be discarded due to high waiting time. This is another
vulnerability of SIP server. So we must authenticate only critical messages like ''Register/Invite'' methods.
Countermeasures are discussed in Step 4. The next vulnerability point is flooding attacks, the most important
weakness of IMS SIP servers[10]. The ''Invite'' and ''Register'' messages have highest processing time. Attacker
floods ''Register'' and ''invite'' request to P-CSCF server and makes the servers out of service. Another weakness
of SIP server is possibility of choosing weak authentication methods by user [12][14]. An attacker can force P-

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

49

2 ndInternational Symposium on Computing in Science & Engineering

CSCF server to connect even with no encryption. With elimination of ''authorization'' field in ''Register'' message
header, server shall select ''Early IMS authentication'' method. Thus eavesdropping could be possible, so the
confidentiality is not supported. Session characteristics would be eavesdropped by attacker and an illegal ''bye''
or ''cancel'' message will be sent, so a legitimate dialog could be dropped. We suggest authenticating ''Bye'' and
''Cancel'' messages, when we have no encryption mechanismin communication.

3.4 Step 4) Attack and Threat Classification


Regarding to identified threats in TVRA modeling [1][4], attacks are considered to: denial of service (DOS),
Interception, Manipulation and Repudiation.
Message interception exploits confidentiality. There are some message encryption and authentication methods
may due to interception, because of encryption lacklike ''Early IMS authentication'' method.
Message eavesdropping could due to manipulation. Manipulation attack is sending of modified message to
network again. Manipulation attack is possible only in integrity mechanism absence [1] [5]. Masquerade attack is
one type of manipulation. This type of attacks in IMS SIP server is less than the other networks because of the
SIP user authorization necessity before service achieving in IMS network.
SQL injection is the other attack that is done at the beginning of user authentication and changes the legal
message text. When malicious user tries to launch SQL injection in SIP server, she/he spoofs the SIP message
and inserts the malicious SQL code in authorization header fields. It could be launched simply by inserting
malformed syntax when UE and P-CSCF starts authentication procedure. All ofSIPcommunications have been
authorized at first and user profile information are added to SIP transferred message header fields between IMS
SIP servers[4][5].
DOS attacks aim at depleting SIP server resources and become unavailable for processing legitimate SIP
requests. Flooding attack has various methods like ''Invite'', ''Register'', Invite Response, and Register Response
flooding. All of these attacks are categorized as time dependent attacks. These attacks make resources
unavailable for duration of time. Sending amount of messages is the main scenario of flooding DOS attack that
due to a lack of resources (memory, CPU, etc.) and render them partially or completely unusable to other users
on the network. Message flooding makes DOS attacks with availability exploiting.
Password guessing attack is one of the flooding attack types that goes on till to catching 'OK' response from
P-CSCF server. In password guessing, the attacker gets a lot of 401-response messages in reply to fake
''REGISTER'' requests to P-CSCF in order to crack the password. This attack could also be launched by
legitimate user without breaking of the message authentication.
Message length reduction named signal compressing (SigComp) is one of the IMS SIP services in P-CSCF to
reduce the size of SIP message. This mechanism helps server in front of DOS attack by saving of used
bandwidth. There are deferent algorithms to reduce the message length. These algorithms must be agreed by
user equipment and P-CSCF server. Maximum message length reduction by compressing mechanism is 80% in
P-CSCF server [11]. Attacker could force P-CSCF server to choose a heavy SIP message compressing algorithm
and made a DOS attack. Sending of unauthorized ''Bye'' or ''Cancel'' message and terminating of a legitimate
dialog is a type of DOS attack too.

Step 5) Security Countermeasure definition and contribution


The final step of modeling is countermeasures identification to protect the system vulnerability. Added
countermeasures must impose low processing time to the system. Primary DOS attacks protection is based on
packets inspection and detection. Additional protection measures must be applied, if this kind of protection is not
sufficient.
Packet inspection and overload protection on P-CSCF server are the most DOS protection methods. Overload
protection countermeasure is implemented in all IMS nodes. The main issue about overload protection is

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

50

2 ndInternational Symposium on Computing in Science & Engineering

selection of packets have to be discarded. If server CPU load remains on or crosses the threshold limit (80%), for
a period of time, server is under flooding attack [9].
The P-CSCF is the most important IMS SIP servers in security protection. It is suggested to implement PreParsing system on P-CSCF as a packet inspection mechanism. Pre-parsing system can implement out of x-CSCF
Server. Protection system makes delay in packet processing, when it implements out of the P-CSCF as a firewall.
The implementation of pre-parsing mechanism inside of P-CSCF is more practical. One of the prevention
mechanisms against the flooding attack is message processing with severity consideration. For example less
important SIP headers will be discarded. The following notes are suggestedin boundary conditions:

New invite messages is discarded.

All established sessions are continued.

New session establishment would be in lower severity.

Unknown user ''REGISTER'' message should be blocked. These messages may be the cause of server
overloading.

The ''REGISTER/INVITE'' messages from known legitimate User Equipments (users authenticated
successfully) should be carried out.

Using of heavy algorithms in SigComp service can be limited.

TLS and IPSec mechanisms are useful in integrity and confidentiality protection.

Countermeasure must have severity in detail design stage to reduce the cost.

Although authentication of all user requests is a strong control mechanism to remove the user ID fraud,
forgery attacks and message manipulation, it will increase P-CSCF, S-CSCF processing time [13].
The registration process is tightly coupled with authentication process in IMS SIP [11].''REGISTER'' message
authentication is a force function. Choosing authentication mechanism without confidentiality is one of the IMS
SIP server vulnerabilities. It is recommended to restrict this condition. When no encryption mechanism is ready,
an attacker can due to terminate dialogue by sending illegal ''Bye'' and ''Cancel''. We can also control attack by
authentication of these methods.
To detect SQL Injection, pre-parsing system parses message and checks ''username'' field with (;) in
''REGISTER'' method. Protection system alerts: ''SQL-injection has been identified'' and further processing of
message will be stopped. User name is inserted in the Blacklist. Some other''REGISTER'' method fields like:
''Realm'' and ''URI" can be in parsing subjects, too.

Table 3. IMS SIP server security in TVRA


Logical Asset

Weaknesses

Position
(x-CSCF)

Threat& Attacks

Security
Objectives

Countermeasures
Cancel/bye message
mandatory authentication
when we have no
encryption.

Cancel/Bye
method

p-cscf
communication
without
cryptography

P/S/I

DOS

Authentication

Invite/ Register
method

No pre-parsing

P/S

DOS/Flooding

Confidentiality

Load processing in SIP


packet process.

Invite/ Register
method

Long
processing time

P/S

DOS/Flooding

Confidentiality
Availability

Packet No. relation in


SIP transaction

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

51

Limitation in using of
Early IMS
Auth.,NBA,Http basic
Auth.

2 ndInternational Symposium on Computing in Science & Engineering


State diagram process
Data mining ( Bayesian
network, genetic
algorithm)

Register method

SIP header
(Cseq, Call-Id,
Via)

SigCmp, TLS,
IPSec data

Weak
authentication/
no integrity
mechanism

SIP message

Heavy algrthm/
increasing of
processing
capacity

Availability

Integrity supporting in
HTTP digest

Transmission
with no.
encryption
Authenticati
on with no
encryption

SQL injection

Message content
processing {syntax (;) with
cut/copy/del world}

Sniffing
SIP message

manipulation

DOS

Confidentiality
Integrity
Availability

Availability

TLS Mandatory
encryption in registration
time
Using of TLS/IPSec
ESP in communication
security protection
Limitation in compression
algorithm choosing in high
level QOS

Conclusion
In this paper a vulnerability analysis was done on the IMS SIP servers based on the TVRA methodology. The
results of this analysis has shown that flooding attacks on the P-CSCF and S-CSCF servers are the most
important treats that target the availability of these servers. Using encrypted authentication mechanism is one of
the best proposed approaches that not only prevent against eavesdropping and message integration attacks, but
also make a preventive mechanism in encountering with denial of service attacks. Some consequences has been
shown in table 3.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

ETSI TS 102 165-1, (2006), (TISPAN); Methods and protocols; Part 1: Method and proforma for Threat, Risk,
Vulnerability Analysis.
ETSI TR 187 002,(2010), (TISPAN); TISPAN NGN Security (NGN_SEC); Threat, Vulnerability and Risk Analysis
V3.0.2.
Wang, D., Liu, C.(2009), Model-based Vulnerability Analysis of IMS Network, Journal of Networks, VOL. 4, NO. 4.
ETSI TR 187 014,(2009),(TISPAN); eSecurity; User Guide to eTVRA web-database.
ETSI TR 187 011,(2008),(TISPAN); NGN Security; Application of ISO-15408-2 requirements to ETSI standards -guide,
method and application with examples.
3GPP TS 23.228, 3GPP Technical Specification Group Services and System Aspects; (IMS);age 2 (Release 10).
ITU-T, (2003), Security architecture for systems providing end-to-end communications, ITU_T X.805.
3GPP TS 33.203 V10.0.0 ,(2010), 3GPP Technical Specification Group Services and System Aspects; 3G Security;
Access security for IP-based services (releases 10).
Sisalem, D., Floroiu, J, Kuthan, J., Abend, U., Schulzrinne, H.,(2009), SIP Security, published by Jhon Wiley.
Rebahi, Y., Sher, M., Magedanz, T.,(2008),"Detecting flooding attacks against (IMS) networks," Computer Systems and
Applications, 2008. AICCSA 2008. IEEE/ACS International Conference on , vol., no., pp.848-851.
Russell, T., (2008), The IP Multimedia Subsystem (IMS); Session Control & Other Network Operations, published by Mc
Graw Hill.
3GPP TS 33.978, (2008), 3GPP Technical Specification Group Services and System Aspects; Security aspects of early
IMS; Release8.
Bremler-Bar, A., Halachmi-Bekel, R., Kangasharju, J., (2006), '' Unregister Attacks in SIP '', 2nd IEEE workshop on
Secure Network Protocols (NPSec), CA.
3GPP TS 24.229 V9.3.1, (2010), 3GPP Technical Specification Group Core Network and Terminals; IP multimedia call
control protocol based on (SIP) and (SDP)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

52

2 ndInternational Symposium on Computing in Science & Engineering

Biographies
Afsane Madani Afsaneh Madani received her M.Sc in ICT (secure telecommunication) from Computer Engineering
Department of Iran University of Science and Technology (IUST) in 2011. She has received her B.S degree in electronic
engineering from Amirkabir university of Technology (AUT). She is working in network security department in Iran ITRC
institute. Her main research interests include network security, network signaling and protocols, 3G and NGN.
Hassan Asgharian Hassan Asgharian received his M.Sc. in Computer Engineering from Amirkabir University of
Technology (AUT) in 2009 and He also has got his B.Sc. from Computer Engineering Department of Iran University of
Science and Technology (IUST) in 2006. Currently he is a PhD candidate in computer engineering in IUST and working as a
research assistant in the Network Research Group (NRG) of the Research Center of Information Technology (RCIT) of
Computer Engineering Department in Iran University of Science and Technology.
Dr. Ahmad Akbari Ahmad Akbari received his Ph.D. in Electrical Engineering from the University of Rennes 1, Rennes,
France, in 1995. Dr. Akbari is currently an associate professor at Iran University of Science and Technology, Iran. Dr. Akbari
works on Speech Processing related research topics (especially speech enhancement) for more than 20 years. His current
research interests include Intrusion Detection and Response Systems, VoIP Communications, Next Generation Networks,
VoIP and SIP Security and also Data Communications Networks. Dr. Akbaris work has appeared in several peer-reviewed
journals and conference proceedings.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

53

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/13

Predicting the Performance Measures of a Message


Passing Multiprocessor Architecture by Using
Artificial Neural Networks
M. Fatih AKAY1, Elrasheed Ismail Mohommoud ZAYID2
1

Dept. of Computer Engineering / Cukurova University / Adana 01330,Turkey


Dept. of Electrical and Electronics Engineering / Cukurova University / Adana 01330,Turkey
1
mfakay@cu.edu.tr, 2 rasheed@student.cu.edu.tr

Abstract. In this paper, we develop artificial neural network (ANN) models for predicting the performance
measures of a message passing multiprocessor architecture interconnected by the Simultaneous Optical
Multiprocessor Exchange Bus (SOME-Bus), which is a fiber-optic interconnection network. OPNET Modeler
is used to simulate the SOME-Bus multiprocessor architecture and to create the training and testing datasets.
The performance of the ANN models is evaluated by calculating metrics such as mean absolute error (MAE),
root mean squared error (RMSE), relative absolute error (RAE), root relative squared error (RRSE) and
correlation coefficient (r). It is concluded that ANN models shortens the time quite a bit for obtaining the
performance measures of a message passing multiprocessor and can be used as an effective tool for this
purpose.

Keywords:multiprocessors, message passing, artificial neural networks

1. Introduction
The demand for even more computing power has never stopped. A number of important problems have been
identified in the areas of defense, aerospace, automotive applications and science, whose solutions require a
tremendous amount of computational power [1]. Parallel computers with multiple processors are opening the
door to teraflops computing performance to meet the increasing demand of computational power [2]. The
programmingmodel for multiprocessor systems is important because it affects the amount of operating system
overhead involved incommunication operations as well as the level of involvement required by the programmer
tospecify the processor interaction required by the application.Shared address programming and message passing
are examplesof the programming models that can be supported by multiprocessor systems.The message passing
paradigmrequires a higher level of programmer involvement and knowledge of the details of theunderlying
communication subsystem in order to explicitly direct the interprocessorcommunication. Shared memory
programming offers the application programmer amodel for using shared data that is identical with that used
when writing sequential programs [3].
The performance analysis of a multiprocessor architecture is an important factor in designing such
architectures. Statistical simulation is a powerful tool in evaluating the performance measures of a
multiprocessor architecture. In such simulation, the architecture is modeled by using specific probability
distributions [4, 5]. The simulation can be time consuming especially when the architecture to be modeled has
many parameters and these parameters have to be tested with different values or probability distributions.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

54

2 ndInternational Symposium on Computing in Science & Engineering

There is only a single study in literature that shows artificial intelligence techniques could be used to predict
the performance measures of a multiprocessor architecture [4]. In that study, a broadcast-based multiprocessor
architecture called the SOME-Bus employing the distributed shared memory programming model was
considered. The statistical simulation of the architecture was carried out to generate the dataset. The dataset
contained the following variables: ratio of the mean message channel transfer time to the mean thread run time,
probability that a block can be found in modified state, probability that a data message is due to a write miss,
probability that a cache is full and probability of having an upgrade ownership request. Support vector regression
was used to build prediction models for estimating average network response time (i.e. the time interval between
the instant when a cache miss causes a message to be enqueued in the output channel until the instant when the
corresponding data or acknowledge message arrives at the input queue), average channel waiting time (i.e. the
time interval between the instant when a packet is enqueued in the output channel until the instant when the
packet goes under service) and average processor utilization (i.e. average fraction of time that threads are
executing). It was concluded that support vector regression model is a promising tool for predicting the
performance measures of a distributed shared memory multiprocessor.
In this paper,we develop artificial neural network (ANN) models to predict the performance measures of a
multiprocessor architecture employing the message passing protocol. The simulated architecture is the SOMEBus, which is a high performance optical multiprocessor architecture. ANN models are developed to predict
average channel waiting time, average channel utilization, average network response time, average processor
utilization and average input waiting time. The following five error metrics are used for evaluating the accuracy
of the prediction models: mean absolute error (MAE), root mean squared error (RMSE), relative absolute error
(RAE) and root relative squared error (RRSE) and correlation coefficient (r). Considering the results, it is clear
that except for the average network response time, ANN performs a good job in predicting the performance
measures of a multiprocessor architecture employing the message passing protocol.
This paper is organized as follows. Section 2 summarizes the SOME-Bus architecture. Section 3 presents
overview of ANNs. Section 4 gives the statistical simulation and dataset generation. Section 5 presents
results.Finally, Section 6 concludes the paper.

2. Overview of the SOME-Bus Architecture


One implementation of an architecture which can support simultaneous multicasts from all nodes has been
presented in [6]. This architecture, called the SOME-Bus incorporates optoelectronic devices into a highperformance network architecture.
SOME-Bus has a unique feature that every processor is directly connected to the other processor through a
dedicated output channel. This eliminates blocking of a node due to contention for shared switching logic with
other transmitters [6]. SOME-Bus also has an input channel interface based on an array of N receivers, which
simultaneously monitors all N channels, resulting in an effectively fully connected network (Figure 1). The
receiver array does not need to perform any routing, and consequently its hardware complexity is small. It
contains an optical interface that performs address filtering, length monitoring and type decoding. If a valid
address is detected in the message header, the message is placed in a queue, otherwise the message is ignored.
The address filter can recognize broadcast addresses in addition to recognizing the address of the home node.
The receiver array also contains a set of queues such that one queue is associated with each input channel,
allowing messages from any number of nodes to arrive and be buffered simultaneously [7]. This organization
supports multiple simultaneous broadcasts.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

55

2 ndInternational Symposium on Computing in Science & Engineering

Figure 1. Parallel Receiver Array

3. Overview of Artificial Neural Networks


ANNs are parallel computing systems whose original development was based on the structure and function of
the brain. Feed-forward ANNs comprise a system of units, analogous to neurons, which are arranged in layers
[8, 9]. Between the input layer and output layer there may be one or more hidden layers. The units in each layer
are connected to the units in a subsequent layer by a weight w, which may be adjusted during training [10]. A
data pattern comprising the values xi presented at the input layer i is propagated forward through the network
towards the first hidden layer j. Each hidden unit receives the weighted outputs wjixi from the units in the
previous layer. These are summed to produce a net value, which is then transformed to an output value upon the
application of an activation function. Prior to its application as a model, the ANN must be trained. In general,
training data patterns are fed sequentially into the input layer, and this information is propagated through the
network. The resulting output predictions yj(t) are compared with a corresponding desired or actual output, dj(t).
The mean squared error at any time t, E(t), may be calculated over the entire data set using (1). The intermediate
weights are adjusted using an appropriate learning rule until E(t) has decayed to a suitable level .

(1)

A wide range of algorithms have been developed for training the network to achieve the optimum model
performance, while ensuring generalization and computational efficiency. For feed-forward ANNs, the back
propagation algorithm is the most frequently used [11].

4. Simulation and Dataset Generation


In this paper, Opnet Modeler [12] is used to simulate the SOME-Bus architecture employing the message
passing protocol. Figure 2 shows the node model of the simulated architecture. Each node contains a processor
station in which the incoming messages are stored and processed, and also a channel station in which the
outgoing messages are stored before transferring them onto the network. The important parameters of the
simulation are the number of nodes (selected as 16, 32, and 64), the number of the threads executed by each

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

56

2 ndInternational Symposium on Computing in Science & Engineering

processor (ranging from 1 to 6), ratio of the mean thread run time to channel transfer time (ranging from 0.05 to
1), thread run time (exponentially distributed with a mean value of 100), and pattern of the destination node
selection (uniform and hot region). In the uniform traffic, the destination node is selected using uniform
distribution among the nodes. .In the hot region pattern, the destinations of the 25% of the packets are chosen
randomly within a small hot-region consisting of 12.5% of the nodes [13].The dataset obtained as a result of the
simulation contains four input and five output variables. The input variables are: T/R, node number, thread
number, traffic pattern. The output variables are: average processor utilization, average network response time,
average channel waiting time, average input waiting time, and average channel utilization. Table 1 shows
descriptive statistics of the output variables.

Figure 2. A typical N-node SOME-Bus using message passing protocol


Table 1. Descriptive statistics of the output variables

CWT

CU

NRT

PU

IWT

21.84

0.30

521.45

0.60

189.37

Minimum

0.02

0.02

47.72

0.24

15.87

Maximum

186.40

0.85

1027.36

0.95

356.91

31.66

0.20

209.31

0.19

94.23

Mean

Standard
deviation

CWT:Channel Waiting Time; CU:Channel Utilization; NRT:Network Response Time; PU:Processor Utilization; IWT:Input Waiting Time

A multistage feed forward ANN [8] is used for developing the prediction models. Levenberg-Marquardt back
propagation algorithm is used for training the networks. A tansigmoid transfer function is used in the hidden
layer and a pure linear transfer function is used in the in the output layer.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

57

2 ndInternational Symposium on Computing in Science & Engineering

5. Results
The following five metrics are used for evaluating the accuracy of the prediction models:MAE, RMSE, RAE
and RRSE and r [14]:

MAE

RMSE

1
n

| Y

1
n

i 1

(2)

(Y Y ) 2

RAE

Y |

i 1

| Y

(3)

Y |

i 1
n

(4)

| Y Y |
i 1

RRSE

(Y

Y ) 2

i 1
n

(5)

(Y Y ) 2
i 1

Y Y Y ' Y '
1

n 1
Y
Y '

(6)

where n is the number of data points used for testing, Y is the measured value, Y is the predicted value,
the average of the measured values,
measured values and

Y is

Y is the average of the predicted values, Y is the standard deviation of

Y is the standard deviation of predicted values.

Table 2 shows the performance of the prediction models. As is clearly seen from Table 2, except for the
average network response time, ANN performs a good job in predicting the performance measures of a
multiprocessor architecture employing the message passing protocol.
Table2. Summary of regression models to estimate message passing architecture performance
Performance Measures

RMSE

MAE

RAE

RRSE

Average channel waiting time

0.99

1.63

1.04

0.20

0.05

Average channel utilization

0.99

0.01

0.00

0.16

0.03

Average network response time

0.99

14.63

10.98

0.26

0.08

Average processor utilization

0.99

0.09

0.05

0.24

0.06

Average input waiting time

0.99

8.26

5.80

0.27

0.09

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

58

2 ndInternational Symposium on Computing in Science & Engineering

6. Conclusion
This paper proposes to use ANN-based models to predict the performance measures of a message passing
multiprocessor architecture. The basic idea is to collect a small number of performance measures by using a
statistical simulation and predict the performance of the system for a large set of input parameters based on
these. Future research can be performed in a number of areas. The first area would be expanding the number of
input parameters in the dataset. The second area would be feature extraction on input variables. In this case, the
critical attributes that best predict performance measures can be selected from a candidate set of attributes
through feature selection algorithms combined with ANNs.

Acknowledgments
We would like to thank Dr. Constantine Katsinis for letting us include the material about the SOME-Bus
architecture in this paper. We also would like to thank OPNET Technologies, Inc. for letting us use the OPNET
Modeler under the University Program.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

Duato, J., Yalamanchili,S., andNi. L. (2003). Interconnection Networks: An Engineering Approach. USA: Morgan
KaufmannPublishers.
Guller,D.E., SinghJ.P., and Gupta, A. (1999).Parallel Computer Architecture: A Hardware/Software
Approach.USA: Morgan Kaufmann Publishers.
Chan,F., CaoJ., and Sun, Y. (2003). High-level abstractions for message-passing parallel programming. Parallel
Computing29(11):1589-1621.
Akay, M.F. and Abaskele, . (2010). Predicting the performance measures of an optical distributed shared
memory multiprocessor by using support vector regression.Expert Systems with Applications37(9): 6293-6301.
Wenisch, T.F., et al. (2006). Statistical sampling of microarchitecture simulation. In Proceedings of the 20th
Parallel and distributed Processing Symposium. RhodesIsland, Greece.25 - 29 April 2006.
Katsinis, C. (2001). Performance analysis of the simultaneous optical multi-processor exchange bus.Parallel
Computing 27(8):1079-1115.
Katsinis, C. and Hecht, D. (2004). Fault-tolerant DSM on the SOME-Bus multiprocessor architecture with message
combining.In Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS04).
Santa Fe, New Mexico. 26-30 April.USA.
Alpaydn,E. (2010).Introduction to Machine Learning.London. England: MIT press.
Lavinea B.K. and Blank T.R. (2009). Comprehensive Chemometrics Chemical and Biochemical Data Analysis
3(18):571-586.
Chen M.-S. and Yen H.-W.(2011). Applications of machine learning approach on multi-queue message scheduling.
Expert Systems with Applications38(3):33233335.
Andries P. Engelbrecht (2002). Computational Intelligence: An Introduction, Wiley.
OPNET Modeler, OPNETUniversity program, http://www.opnet.com/university_program.
Aci, C.I. and Akay, M. F. (2010). A new congestion control algorithm for improving the performance of a
broadcast-based multiprocessor architecture.Journal of Parallel and Distributed Computing70(9):930-940.
Witten, I.H. and Frank, E. (2005).Data Mining: Practical Machine Learning Tools and Techniques. Canada:
Morgan KaufmannPublishers.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

59

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/14

Symbolic Computation of Perturbation-Iteration


Solutions for Differential Equations
nal Gkta1, Mehmet Pakdemirli2, Yiit Aksoy 3
1

Department of Computer Engineering, Turgut zal University


Keiren, Ankara 06010, Turkey
2,3
Department of Mechanical Engineering, Celal Bayar University
Muradiye, Manisa 45140, Turkey
1
ugoktas@turgutozal.edu.tr, 2mpak@bayar.edu.tr, 3yigit.aksoy@bayar.edu.tr

Abstract. An algorithm for the symbolic computation of perturbation-iteration solutions of nonlinear


differential equations is presented. In the algorithm the number of correction terms in the perturbation
expansion (n ) and the number of Taylor expansion terms (m) with n m can be arbitrary. The steps of the
algorithm have been illustrated on a Bratu type initial value problem. The algorithm has been implemented in
Mathematica, a leading computer algebra system. The package PerturbationIteration.m is briefly discussed.

Keywords: perturbation method, perturbation-iteration method

1 Introduction
Many real life problems can be modeled by differential equations, displaying the interrelations between
mathematics, physical and biological sciences or engineering [1, 2]. Therefore, studying the solution methods for
differential equations has always been an important research subject [3-5].
Perturbation methods [6] are widely used for computing approximate analytical solutions of differential
equations. Due to the small parameter limitation of perturbation methods which makes the solution valid for
weakly nonlinear systems, alternative methods such as the modified and multiple-scale Lindstedt-Poincar
method [7, 8], the linearized perturbation method [9], the homotopy perturbation method [10] and iterationperturbation methods [11-13] etc. are used for strongly nonlinear systems.
However, a general solution method valid for all types of equations which do not require special assumptions
and transformations is lacking in the literature.
As an extension of the perturbation-iteration algorithms (PIAs) for algebraic equations [14-16], the PIAs in [1,
17] which do not require special transformations or initial assumptions are applicable to a wide range of
differential equations.
Although the number of correction terms in the perturbation expansion is just one ( n 1) and the algorithms
are limited to at most third order in the Taylor series expansion ( m 3) , the three PIAs described in [1, 17]
involve lengthy algebraic computations which are hard to do by hand. Computer algebra systems can be very
useful for carrying out these computations.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

60

2 ndInternational Symposium on Computing in Science & Engineering

With a generalization towards working for general n and m such that 1 n m , the PIAs in [1, 17] are
implemented in Mathematica, a leading computer algebra system. The Mathematica package
PerturbationIteration.m[18] automatically carries out all the steps of the algorithms.
The paper is organized as follows. Section 2 outlines the key steps of the PIA(2, 3) algorithm up to 2
iterations, i.e., n 2 and m 3 , on a Bratu type initial value problem. In Section 3, the steps of the PIA(1, 6)
algorithm up to 2 iterations are illustrated on the same initial value problem. Section 4 has comparison of our
results with earlier perturbation-iteration results [1]. In Section 5,Mathematica package
PerturbationIteration.mis briefly described.

2 PIA(2, 3)
The Bratus initial value problem [1]:
u

u 2 e 0,

(8)

0 x 1

u (0) u (0) 0
where u u (x) will be used as our leading example to illustrate the steps of the algorithm. The exact solution
for (1) is given as [1]: u 2 ln(cos x) .
First introduce an auxiliary perturbation parameter to the nonlinear term in (1):

u 2 e

(2)

0.

Two correction terms are taken in the perturbation expansion:


(3)

u n1 u n (u c,1 ) n (u c,2 ) n .

Upon substitution of (3) into (2), expanding in a Taylor series with up to third order, and re-arranging the
terms with respect to similar powers of yields:
2

(u n 2) (( u c,1 ) n 2 u n ) (( u c, 2 ) n 2 (u c,1 ) n u n )

(4)

1 3
3
( u n 2 u n (u c,1 ) n (u c, 2 ) n ) 0.
3
Equation (4) contains two unknowns (u c,1 ) n and (u c,2 ) n which require two equations to be solved. Hence
equation (4) is separated into two blocks as follows:
(5)

(u c,1 ) n 2 u n u n 2 0,
2

(u c, 2 ) n 2 (( u c,1 ) n (u c, 2 ) n ) 2 u n (u c,1 ) n u n

1 3
u n 0,
3

(u c,i ) n (0) 0, (u c,i ) n (0) 0, i 1, 2.


For the initially assumed function, we may take a trivial solution which satisfies the initial conditions
(6)

u0 0
and solving (5) with (6) yields

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

61

2 ndInternational Symposium on Computing in Science & Engineering

(7)

2
(u c,1 ) 0 x ,
(u c , 2 ) 0

1 2 x
2 x
2 2 x
2 x 2
e
(1 2 e
e
2e
x ).
2

Hence by setting 1 and using (3) and (7), we get

u1

(8)

1 2 x
2 x
2
e
(e
1) .
2

Now substituting (8) in (5) leads to a system with variable coefficients. To overcome this, in (5), we replace

u n in the coefficient of (u c,1 ) n by u 0 instead of u1 and we get:


(9)

(u c,1 )1 0,
(u c,2 )1 2 (( u c,1 )1 (u c,2 )1 )
1

( 16 e

3 2 x

9e

2x

9e

2x

3 2x

) 0,

24
(u c,i )1 (0) 0, (u c,i )1 (0) 0, i 1, 2.
Solving (9) gives:
(10)

(u c,1 )1 0,
(u c , 2 )1
e

3 2 x

(e

2 x

1)( 1 e

2 x

64(e

2 2 x

3 2 x

384

4 2 x

5 2 x

36 2 x (e

2 2 x

3 2 x

) ).

Hence from (3), (8) and (10), the result of the second iteration is:

u2

3 2 x

(1 512 e

3 2 x

6 2 x

4 2 x

( 255 36 2 x ))

(11)

384

3e

2 2 x

(85 12 2 x ) ).

3 PIA(1, 6)
Still working on the Bratus initial value problem (1), we will now describe the algorithm with one correction
term and with terms up to sixth order in Taylor series expansion.
Only one correction term is taken in the perturbation expansion:

u n1 u n (u c ) n .

(12)

Substituting (12) into (2), then expanding in a Taylor series with up to sixth order, and re-arranging the terms
with respect to similar powers of yields:

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

62

2 ndInternational Symposium on Computing in Science & Engineering

(13)

(u n 2) (( u c ) n 2 u n ) ( 2 (u c ) n u n )
1 3 3
1 4
4
2
2
(u n 6 u n (u c ) n )
( u n 12 u n (u c ) n 12 (u c ) n )
3
12
1

60
1

(u n 20 u n (u c ) n 60 u n (u c ) n )
6

( u n 30 u n (u c ) n 180 u n (u c ) n 120 (u c ) n ) 0.

360

Setting 1 in (13) we get the following differential equation to be solved for (u c ) n :

60

1
3

un

360

6
2
u n u n (u c ) n 2 (u c ) n (u c ) n

u n (1 (u c ) n )

(u n

1
2

12

1
3

(14)

(u c ) n

u n (1 (u c ) n )

u n ) ( 2 2 (u c ) n (u c ) n ) 0,

(u c ) n (0) 0, (u c ) n (0) 0.
Taking u 0 0 for the initially assumed function in (14) and omitting the nonlinear terms in (u c ) n leads to:
(15)

(u c ) 0 2 (u c ) 0 2 0,
(u c ) 0 (0) 0, (u c ) 0 (0) 0.

We leave better treatment of the nonlinear terms in (14) for future work and continue with solving (15), which
yields

(u c ) 0

(16)

1 2 x
2 x
2
e
(e
1) .
2

Hence by setting 1 and using (12) and (16), we get

u1

(17)

1 2 x
2 x
2
e
(e
1) .
2

Now substituting (17) in (14) leads to a nonlinear system with variable coefficients. To overcome this
difficulty, in (14), we replace u n in the coefficient of (u c ) n by u 0 instead of u1 and omit the nonlinear terms
in (u c ) n . Doing so yields
(u c )1 2 (u c )1
604e
e

3 2x

8 2x

6 2 x

(e

2x

2x
2 2x
4
1) (1 4e
76 e

23040

4390e

4 2x

604e

5 2x

76 e

6 2x

4e

7 2x

) 0,

(u c )1 (0) 0, (u c )1 (0) 0.

Solving (18) gives:

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

63

(18)

2 ndInternational Symposium on Computing in Science & Engineering

(u c )1

6 2 x

2 x

(e

1)( 1 e

2 x

155 e

(19)

2 2 x

1612800

1555e

3 2 x

29730 e

29730e

7 2 x

4 2 x

379050 e

8 2 x

155 e

1555e

238560 2 x (e

5 2 x

6 2 x

5 2 x

9 2 x

379050 e

6 2 x

10 2 x
11 2 x
e
e

)).

Hence from (12), (17) and (19), the result of the second iteration is:

u2

6 2 x

(1 154 e

2 2 x

1400e

(20)

3 2 x

1612800

28175e

4 2 x

2370900 e

6 2 x

28175 e

8 2 x

1400 e

9 2 x

10 2 x 12 2 x
7 2 x
154e
e
120 e
(1988 2 x 9631)
120 e

5 2 x

(1988 2 x 9631)).

4 Numerical Comparisons
Comparisons of the different perturbation-iteration algorithms with numerical solutions of equation (1) are
given [1] in Table 1. Although all iteration algorithms rapidly converge to the numerical solutions, PIA(1, 6)
seems to perform slightly better than the others.
Table 8. Comparisons of perturbation-iteration algorithms and numerical results for Bratuss initial value
problem [1]
x

PIA(1, 3)

Numerical

PIA(2, 3)

PIA(1, 6)

Solution

u1

u2

u1

u2

u1

u2

0.1

0.01001

0.01001

0.01001

0.01001

0.01001

0.01001

0.01001

0.2

0.04026

0.04026

0.04026

0.04026

0.04026

0.04026

0.04026

0.3

0.09138

0.09135

0.09138

0.09135

0.09138

0.09135

0.09138

0.4

0.16445

0.16431

0.16445

0.16431

0.16445

0.16431

0.16445

0.5

0.26116

0.26059

0.26116

0.26059

0.26116

0.26059

0.26116

0.6

0.38393

0.38212

0.38391

0.38212

0.38391

0.38212

0.38392

0.7

0.53617

0.53134

0.53610

0.53134

0.53610

0.53134

0.53614

0.8

0.72278

0.71124

0.72249

0.71124

0.72249

0.71124

0.72264

0.9

0.95088

0.92542

0.94983

0.92542

0.94983

0.92542

0.95037

1.23125

1.17818

1.22772

1.17818

1.22772

1.17818

1.22947

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

64

2 ndInternational Symposium on Computing in Science & Engineering

5 The Mathematica Package


To use the code, first load the Mathematica package PerturbationIteration.m [18] using the command
In[2]:=Get[PerturbationIteration.m];
Proceeding with the Bratus initial value problem
PerturbationIterationAlgorithm (which is part of the package):

(1)

as

an

example,

call

the

function

In[3]:=PerturbationIterationAlgorithm[
{''[]2*Exp[[]]==0},
{[0]==0,[0]==0},,,2,3,2
]
which will produce the results (8) and (11). Similarly, all results in this paper can be reproduced by using our
package.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.

Aksoy Y.; and PakdemirliM. (2010). New perturbation-iteration solutions for Bratu-type equations.Computers and
Mathematics with Applications 59: 2802-2808.
Hoppensteadt, F. C. and Peskin, C. S. 1992. Mathematics in Medicine and the Life Sciences, Springer-Verlag,
New-York.
Ince, E. L. 1944. Ordinary Differential Equations, Dover, New York.
Kamke, E. 1959. Differentialgleichungen: Lsungsmethoden und Lsungen, Akademische Verlagsgesellschaft,
Leipzig.
Murphy,G. M. 1960. Ordinary Differential Equations and Their Solutions, D.van Nostrand Company, Inc.,
Princeton.
Nayfeh,A. H. 1981. Introduction to Perturbation Techniques. John Wiley and Sons, New York.
Hu,H. (2004). A classical perturbation technique which is valid for large parameters.Journal of Sound and
Vibration 269: 409-412.
Pakdemirli, M.; Karahan M. M. F.; and BoyacH. (2009). A new perturbation algorithm with better convergence
properties: Multiple Scales Lindstedt Poincar method.Mathematical and Computational Applications 14: 31-44.
He, J. H. (2003). Linearized perturbation technique and its applications to strongly nonlinear oscillators.Computers
and Mathematics with Applications 45: 1-8.
He, J. H. (2003). Homotopy perturbation method: A new nonlinear analytical technique.Applied Mathematics and
Computation 135: 73-79.
He, J. H. (2006). Some asymptotic mehods for strongly nonlinear equations.International Journal of Modern
Physics B 20: 1141-1199.
He, J. H. (2001). Iteration perturbation method for strongly nonlinear oscillations.Journal of Vibration and Control
7: 631-642.
zi T.; and Yldrm, A. (2009). Generating the periodic solutions for forcing van der Pol oscillators by the
iteration perturbation method.Nonlinear Analysis: Real World Applications 10: 1984-1989.
Pakdemirli M.; and Boyac, H. (2007). Generation of root finding algorithms via perturbation theory and some
formulas.Applied Mathematics and Computation 184: 783-788.
Pakdemirli, M.; Boyac H.; and Yurtsever, H. A. (2007). Perturbative derivation and comparisons of root-finding
algorithms with fourth order derivatives.Mathematical and Computational Applications 12: 117-124.
Pakdemirli, M.; Boyac H.; and Yurtsever, H. A. (2008). A root finding algorithm with fifth order
derivatives.Mathematical and Computational Applications 13: 123-128.
Pakdemirli, M.; Aksoy, Y.; and Boyac, H. (2011). A new perturbation-iteration approach for first order differential
equations.Mathematical and Computational Applications 16: 890-899.
Gkta, . (2011). Software is available on http://www.turgutozal.edu.tr/ugoktas

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

65

2 ndInternational Symposium on Computing in Science & Engineering

Biographies
nal Gkta holds a BSc. degree (1993) in mathematics from Boazii University (Turkey), MSc. (1996) and Ph.D. (1998)
degrees in mathematical and computer sciences from the Colorado School of Mines (U.S.A.).
His research focuses on integrability tests of nonlinear partial differential equations and nonlinear semi-discrete lattices.
He also works on symbolic solution methods of differential and difference equations, symbolic summation methods and
various other aspects of symbolic computation.
Dr. Gkta was employed by Wolfram Research, Inc. (makers of Mathematica) as a senior kernel developer prior to
joining the Department of Computer Engineering at Turgut zal University (Turkey) in 2010.
Mehmet Pakdemirli was born in Ankara, Turkey in 1963. He received his BS. degree (1985) and MS. degree (1987) in
mechanical engineering from Boazii University (Turkey). He completed his Ph.D. studies in 1991 from stanbul Technical
University (Turkey). He worked as a postdoctoral research associate in Virginia Tech (U.S.A.) for two years. He became
assistant professor in 1993, promoted to associate professor in 1994 and finally to full professor in Celal Bayar University,
Manisa, Turkey. He visited the University of Michigan (U.S.A.) for six months in 1996 and King Fahd University of
Petroleum and Minerals (Saudi Arabia) in 2003-2004. He is currently professor and president of Celal Bayar University.
His major areas are applied mathematics, mechanical vibrations of continuous systems and non-Newtonian fluid
mechanics. He has authored, co-authored some hundred papers in internationally refereed journals.
Yiit Aksoy was born in zmir, Turkey in 1982. He received his BS. degree (2005) and MS. degree (2007) in mechanical
engineering from Celal Bayar University (Turkey). Currently, he is a Ph.D. candidate in mechanical engineering at Celal
Bayar University.
His major areas are fluid mechanics and approximate analytical methods of mathematical physics.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

66

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/15

A Lightweight Parser for Extracting Useful Contents


from Web Pages
Erdin Uzun1, Tark Yerlikaya2, Meltem Kurt3

Computer Engineering Department / Namik Kemal University


2, 3

Computer Engineering Department / Trakya University

erdincuzun@nku.edu.tr, 2tarikyer@trakya.edu.tr, 3meltemkurt@trakya.edu.tr

Abstract. In many web content extraction applications, parsing is crucial issue for obtaining the necessary
information from web pages. A DOM parser is preferably used in this task. However, major problems with
using a DOM parser are time and memory consumption. This parser is an inefficient solution for applications
which need web content extraction between tags. Therefore, we develop a lightweight parser, namely SET
Parser, which is utilized regular expressions and string functions for extracting these tags. In experiments,
2000 web pages are crawled from Sabah and Milliyet for experimental setup. The average size of a DOM tree
created from these web pages is as large as 9.58 times of the average size of the web pages. On the other
hand, SET Parser in parsing contents is less time consuming than DOM. These experiments indicate that SET
Parser is more useful for extracting contents from web pages.

Keywords: Parsers, DOM, Content Extraction, Time and Memory Consumption

1 Introduction
Document Object Model (DOM, www.w3.org/DOM) parsing is widely used a key operation for processing
web pages. Especially, a DOM parser is the preferred way of extracting web contents [1], [2], [3], [4]. Web
documents have a hierarchy of informational units called nodes; DOM is a way of describing those nodes and
the relationships between them. In DOM, everything is an object that consists of element names and contents of
them. A DOM parser presents a document as a tree-structure in memory. However, the size of DOM tree created
from a web document is larger than the size of the original web document. This means that memory and time
consumption will increase constantly. For exceptionally large documents, parsing and loading the entire
document can be slow and resource intensive.
Web pages often contain irrelevant contents such as pop up ads, advertisements, banners, unnecessary images,
extraneous links etc. around the body of an article that distracts users from actual content. There are lots of
applications about extraction of useful and relevant content from web pages including text summarization, cell
phone and pda browsing, speech rendering for the visually impaired [5], [6]. For extraction of relevant
content,unnecessary tags and contents in Web pages should be removed. In general, extracting content of text in
conventional techniques required knowledge on structure of the text [7]. Web pages are semi-structured
documents mostly written in HTML that defines tags. These tags can be structured with DOM parser. However,
Cai et al. [8] proposed that only some tags (<table>, <tbody>, <tr>, <td>, <p>, <ul> and <li>) are very important
and commonly used in web pages. Yerlikaya and Uzun [9] use the layout html tags, <div>, <table> and <ul>, for

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

67

2 ndInternational Symposium on Computing in Science & Engineering

obtaining relevant contents. In content extraction, because of A DOM parser takes all tags into account, it is not
efficient.
In search engine for Turkish (SET6) Project, we developed an intelligent crawler that automatically detects
irrelevant contents and extracts relevant contents. We realized that memory and time consumptions are important
issue in this task. Therefore, we developed a lightweight parser (namely SET Parser) for reducing these
consumptions. In this study, we describe this parser and examine the improvements in memory and time.
The paper is organized as follows: Section 2 gives general information about DOM, Regular Expressions and
the use of them C# programming language. Section 3 introduces the SET parser which is utilized regular
expressions and string functions for extracting contents. Section 4 examines memory and time consumptions in
DOM and SET Parser. The paper ends with some concluding remarks.

2 DOM and Regular Expressions


The DOM is a W3C (World Wide Web Consortium) standard. The DOM defines a standard for accessing
documents by using Javascript and Jscript that are client-side programming languages. Each document is treated
as the Document Object; this object is queried, searched and updated. The following figure is an example
Document Object for a web page of Milliyet.

Fig 1. En example DOM Object from Milliyet Web Pages


Fig 1. presents a DOM example (as a tree-structure) for a web page. DOM is a standard model and
programming interface for HTML. Manyprogramming languages support DOM. For example, when extracting
links or images from a web page, the following codes can be used in C#.
IHTMLDocument2 htmlDocument = new mshtml.HTMLDocumentClass();
htmlDocument.write(a web page);
IHTMLElementCollection Elements_links = htmlDocument.links;
IHTMLElementCollection Elements_images = htmlDocument.images;

To access the DOM programmatically, mshtml library is used. write function creates a DOM object for a web
document. Nonetheless, while structuring a web document, a DOM object takes all tags into consideration. It is
clear at this point that memory consumption and time consumption will increase. Moreover, regular expressions
can be used for extracting links and images.
The origin of regular expressions lies in automata and formal language theory. Mathematician Stephen Cole
Kleene described these models of using his mathematical notation called regular sets in the 1950s. Regular
expression is a language that can be used to edit texts or obtain sub-texts that based on a set of defined rules.

6Classes

of SET developed in C# programming language are open source and available via the web page
http://bilgmuh.nku.edu.tr/SET/. Moreover, you can try all modules by using this web page.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

68

2 ndInternational Symposium on Computing in Science & Engineering

Regular expressions can be used for obtaining relevant contents from web pages. For example, the following
table indicates patterns that are used for extracting links and images from web pages.
Table 1. Regular expression patterns for extracting links and images
Links

(?<=href=\").*?(?=\")

Images

<\\s*img [^\\>]*src\\s*=\\s*([\"\\'])(.*?)>

Regular expressions are supported by many programming languages such as C, C++, .NET, Java, Perl, Ruby,
Python to search and manipulate text based on patterns. For accessing .Net regular expression engine from C#,
we import the namespace

System.Text.RegularExpressions.
Regular expressions can save you time when considering DOM. Therefore, we write two functions which are
used regular expression for this task. However, regular expressions have been a bottleneck for the unknown
nested structure that is a layout stored within the structure of another layout. Now, we describe the main function
of SET Parser.

3 SET Parser
SET Parser has three functions. Two functions of SET Parser are used only regular expressions for extracting
links and images.Nevertheless, unfortunately regular expressions dont give accurate results in the nested
structure of tags. Therefore, we write codes for obtaining inner contents from layout tags.

Function Find Contents of a given tag


input a given tag and a web page
prepare pattern of regular expression of a given tag
determine cnt_giventag = count of a given tag by using pattern in a web page
determine start_tag of a given tag
determine end_tag of given tag
output array results
for i=0 to cnt_giventag do
start_position of i. given tag in a web page
NEXT: end_position of temp_tag in a web page
content = extract string between start_position and end_position
cnt_opentags= determine the count of start tags by using start_tag
cnt_endtags = determine the count of end tags by using end_tag
if(count of open tags != count of close tags)
find next end_position;
goto NEXT;
end if
else if
results[i] = contents
end else if
end for
return results

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

69

2 ndInternational Symposium on Computing in Science & Engineering


end function

For example, when using SET Parser in a web page for <div class="content"> tag, firstly regular expression
pattern <div.class="content"> (by replacing blanks with a point) is prepared for calculating the count of this
pattern in a web page. Then, start tag as <div and end tag </div are created as appropriate to the tag. Start
position and end positions are found by using these tags. indexof string function can be used for this task.
substring can be utilized for extracting a proposed content by using these positions. Afterwards, the count of
start tag and end tag are calculated whether the proposed content is correct or not. If the count of start and end
tags are equal, this content is added to the result array. While implementing this algorithm, it is clear that the last
control operation increases the response time in contents which have a lot of inner tags. Therefore, we examine
the effects of the count of inner tags in the experiments.

4 Experiments
In experiments, test collection obtained from Milliyet (www.milliyet.com.tr) and Sabah (www.sabah.com.tr)
contains 2000 web pages. 1000 pages are crawled for each newspaper. The total sizes of these collections are
around 160.47 MB in UTF-8 format. Table 2 gives more information about this collection.
Table 2. Information about Test Collection
Document Size
Information

Tag Count

Milliyet

Sabah

Milliyet

Sabah

Storage Size of all Documents

56.32 MB

104.15 MB

Median a Document

57.67 KB

106.65 KB

1103.41

1320.07

Minimum a Document

30.04 KB

36.7 KB

587

496

Maximum a Document

112.66 KB

140.39 KB

3730

1998

This collection contains tags that are used to design web pages and contents that present between tags. A web
document in this collection may take approximately 82.16 KB. A crude observation on the text collections
reveals that text collection of Sabah contains more unnecessary tags and contents than Milliyet when considering
that the sizes of actual contents are approximately similar. While doing experiments, we also take into account
the effect of file size and the number of used tags. In the first analysis, we compare the parsing time of links and
images for parsers of DOM and SET. The following table gives more information about this comparison.
Table 3. Information about the average time and the average count of extracted links and images

DOM

SET Parser

Average Time (ms)

Average Count

Links

Images

Links

Images

Milliyet

214.49

355.54

248.84

55.42

Sabah

741.48

1098.93

272.75

171.99

Milliyet

21.05

4.68

248.84

55.42

Sabah

29.91

7.83

272.75

171.99

This analysis indicates that DOM Parser needs longer time to parse when compared with SET Parser which is
used regular expressions. Moreover, the parsing time of a DOM object for Sabah is very slow when compared
with Milliyet because of the file sizes and the count of tags used in web pages. The use of Regular expressions is

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

70

2 ndInternational Symposium on Computing in Science & Engineering

more suitable solution for extracting links and images than the use of DOM. The analysis show that the pattern
used for extracting links is slow than the pattern of extracting images in terms of time efficiency since patterns
used for extraction have an effect on the results. The second analysis is on examining the parsing time of layout
tags which have nested structure. We select three layout tags for each newspaper. These tags for respectively
Milliyet and Sabah:
1. Main layouts: <div class="content"> and <div id="container_body">
2. Menu layouts: <div class="menu"> and <div id="altmenu" class="altmenu_style altmenu_font_style">
3. Related news Layouts: <div class="haber"> and <div class="pad10lrb print_hidden" style="">
In this analysis, the parsing time of DOM and SET parsers is examined for better understanding the
improvements. (See below Table 4)
Table 4. Analysis of the Parsing Time in the Nested Structure
DOM Parser

SET Parser

Milliyet

Sabah

Milliyet

Count of the

Sabah

Count of the

(ms)

(ms)

(ms)

Inner Tags

(ms)

Inner Tags

639.68

1729.51

3.15

17.88

228.02

424.24

636.15

1690.21

2.50

3.00

37.47

176.68

617.21

1637.98

1.79

1.00

5.54

3.00

Avg.

631.01

1685.90

2.48

7.29

90.34

201.31

Tags

Table 4 indicates similar results when compared with Table 2. However, the count of inner tags increases the
parsing time of SET Parser. For example; the count of the inner tags in Tag 3 of Sabah is approximately 3.00
and the parsing time is 5.54 milliseconds. Nevertheless, the count of the inner tags in Tag 1 of Sabah goes up to
424.24 and also the parsing time increases to 228.02 milliseconds. But still, the SET Parser is more suitable
solution for obtaining contents between tags. The average parsing time of DOM Parser is 254.4 and 18.7 times
shorter than the average parsing time of DOM parser, respectively in Milliyet and Sabah. Third analysis is
examined the impact of the size of web pages on parsing time. For this analysis, the main layouts of Milliyet and
Sabah are selected. The following figure indicates the parsing time of DOM parser for tag <div class="content">
of Milliyet and tag <div id="container_body"> of Sabah. (See Fig 1. (1))

500
450
400
350
300
250
200
150
100
50
0
ms

ms

2200
2000
1800
1600
1400
1200
1000
800
600
400
200
0

405060708090100110120130140
Milliyet KB

405060708090100110120130140
KB
Milliyet

Fig 1. The parsing time for DOM Parser (1) and SET Parser (2) in different file sizes
The parsing time of Sabah is longer than the parsing time of Milliyet in similar file sizes because of the count
of tags used in Sabah is more than the count of tags used in Milliyet. That is, the parsing time of DOM parser
depends on the count of tags used in web pages. Moreover, Fig 1. (1) shows that the increasing size of web pages
has a negative effect on parsing time.The Fig 1. (2) indicates the parsing time of SET Parser for same tags. The

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

71

2 ndInternational Symposium on Computing in Science & Engineering

parsing time of Milliyet is lesser than the parsing time of Sabah. The parsing time of SET parser depends on the
count of inner tags. In the other words, the Fig 1. (2) shows that Sabah contains more inner tags than Milliyet.
The last analysis is for investigating the memory consumption of DOM Parser and SET Parser. (See below Table
5.)
Table 5. Analysis of Memory Consumption
Average of File Sizes

DOM Memory SET Memory Improvements

(KB)

Usage (KB)

Usage (KB)

(%)

Milliyet

57.67

539.08

61.90

88.52

Sabah

106.66

1035.42

142.77

86.21

Avg.

82.16

787.25

102.34

87.00

DOM parser stores all contents and relations in memory. However, SET Parser only contains required part of
contents and file size in memory. Therefore, SET Parser improves the memory usage with %87.00. The size of a
DOM tree created from a document is as large as 9.58 times of the size of the original document. Wang et al.
[10] claim that the size of a DOM tree crated from a document may be 10 times larger than the original size.
However, this finding is not experimental but our study argues this claim for HTML DOM.

Conclusion
DOM tree constructed from a web page is widely used step for many content extraction algorithms. However,
the use of DOM is not efficient on algorithms that are focused on specific tags. Because of DOM takes all tags
into account in this task. In this study, the experiments show thatthe use of SET Parser is more suitable solution
for extracting contents than the use of DOM. That is, a lightweight parser like the one in this study can be
utilized for this task.
These analyze show that SET Parser was used for obtaining relevant contents of Turkish newspapers, namely
Milliyet and Sabah. This method provides less parsing time and memory than the use of DOM. Some future
research possibilities are adapting this parser to extract different web contents. Furthermore, the results of our
search engine (SET) may be improved by using texts obtained from this parser.

References
1.
2.
3.
4.
5.
6.
7.
8.

lvarez-Sabucedo L. M., Anido-Rifn L. E., Santos J. M. (2009). Reusing web contents: a DOM approach.
Software: Practice and Experience 2009, 39(3): 299314.
Kaasinen E., Aaltonen M., Kolari J., Melakoski S., Laakko T. (2000). Two Approaches to Bringing Internet
Services to WAP Devices. WWW9; 231-246.
Wong W. and Fu A. W. (2000). Finding Structure and Characteristics of Web Documents for Classification. In
ACM SIGMOD 2000; Dallas, TX., USA
Zheng Y., Cheng X., Chen K. (2008). Filtering noise in Web pages based on parsing tree. The Journal of China
Universities of Posts and Telecommunications; 15, 46-50.
BuyukkoktenO., Garcia-MolinaH., Paepcke.A. (2001). Accordion Summarization for End-Game Browsing on
PDAs and Cellular Phones. In Proc. of Conf. on Human Factors in Computing Systems (CHI'01)
Buyukkokten,O., Garcia-Molina, H., Paepcke.A. (2001). Seeing the Whole in Parts: Text Summarization for Web
Browsing on Handheld Devices, In Proc. of 10th Int. World-Wide Web Conf..
Gupta S., Kaiser G. E., Peter G. (2005). Chiang M F, Starren J. Automating Content Extraction of HTML
Documents. World Wide Web: Internet and Web Information Systems; 8, 179-224.
Cai D., Yu S., Wen J. R., Ma W. Y. (2003). Extracting content structure for web pages based on visual
representation. APWeb'03 Proceedings of the 5th Asia-Pacific web conference on Web technologies and
applications.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

72

2 ndInternational Symposium on Computing in Science & Engineering


Yerlikaya T. and UZUN E. (2010) nternet Sayfalarnda Asl erii Gsterebilen Akll Bir Tarayc. ASYU-2010;
21-24 Haziran, Kayseri & Kapadokya, ISBN: 978-975-6478-60-8, 53-57
10. Wang, F., Li, J., Homayounfar, H. (2007). A space efficient XML DOM parser. Data Knowl. Eng.185-207
9.

Biographies
Erdin Uzun received his BSc (2001), MSc (2003) and PhD (2007) degrees from Computer Engineering Department of
Trakya University respectively. He was a research assistant in this university during this time. Then, he has begun to work in
Computer Engineering Department of Namik Kemal University as assistant professor. He was the vice dean between 2007
and 2010 Faculty of Corlu Engineering. Since 2010, he is the vice chairman of Computer Engineering Department of this
faculty. His research interests include information retrieval, machine learning, data mining, web mining and natural language
processing. He is the developer of SET (Search Engine for Turkish - bilgmuh.nku.edu.tr/SET/) and Teaching (Lesson
Content Management System - bilgmuh.nku.edu.tr/Teaching/)
Tark Yerlikaya received his BSc degree in Electronics & Communications Engineering Department of Yldz Technical
University (1999), MSc (2002) and PhD (2006) degrees in Computer Engineering Department of Trakya University. He was
a research assistant between 1999 and 2006 in this university. Since 2006, he is the assistant professor in same university.
Between 2006 and 2008, he was the head of the Division of Computer Hardware in this department. Since 2009, he is the
chairman of Computer Technologies and Information Systems Department in Kean Yusuf apraz School of Applied
Sciences of Trakya University. His research interests are cryptology, security, web mining and intelligent systems.
Meltem Kurt received her BSc degree in Computer Engineering Department of Trakya University in 2010. Now, she is the
MSc student in same department. Her research interests are cryptology, web mining and information retrieval.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

73

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/16

Applying Incremental Landmark Isomap Algorithm


to Improve Detection Rate in
Intrusion Detection System
Seyed Mehdi Iranmanesh 1, Ahmad Akbari 1
1

Iran University of science and technology, Computer Engineering Department, University Road, Hengam Street,
Resalat Square, Tehran, Iran
1
m_iranmanesh@comp.iust.ac.ir, 2akbari@iust.ac.ir

Abstract. In recent years, intrusion detection has emerged as an important technique for network security.
Most of intrusion detection systems use primary and raw features which are extracted from network
connection without any preprocessing on the features. Dimensionality reduction is crucial when data-mining
techniques are applied for intrusion detection to transform features. Many data mining algorithms have been
used for this purpose. Manifold learning is an emerging and promising approach in nonlinear dimension
reduction. Isometric feature mapping (Isomap) is one of the most prominent manifold learning methods that
have been investigated in this domain. Researchers successfully applied Isomap on intrusion detection
systems as a nonlinear dimension reduction method. But, manifold learning algorithms have some problems
such as operation on batch mode. Therefore they cannot be applied efficiently for a data stream. Incremental
Landmark Isomap which is an increment version of classical landmark Isomap can handle the problem of
new data points. This method is applied on NSLKDD dataset. The results demonstrate higher detection rate
for this method, comparing to linear methods such as PCA.

Keywords: intrusion detection system, dimensionality redution, manifold learning, isomap, incremental
landmark isomap, PCA.

1 Introduction
With rapidly development of communication, there is no restriction of real distance for people to contact each
other. It helps people in many areas, such as business, entertainment, education, etc. In particular, the Internet
has been used as an important component of business models[1] . Besides the improvement and efficiency of the
network, it is distinguished that unauthorized activities by external attacker or internal sources are increased
dramatically. So the intrusion detection system which was introduced by Anderson [2] is an important problem
nowadays.
The aim of the intrusion detection system is to classify benign users from intruders and attackers with high
accuracy. One of the important factors to achieve this aim is input data and features, which are extracted from
the raw input data. Whenever input features have more information about the benign and intruder users, the
intrusion detection system can better separate different type of users, and the security of the protected
system/network is improved. From this point of view, preprocessing on the raw input features has an important
role in intrusion detection systems. Feature preprocessing methods are divided into two main groups: feature
selection and feature transformation. We investigate feature transformation in this study.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

74

2 ndInternational Symposium on Computing in Science & Engineering

Typical datasets for intrusion detection are generally very large and multidimensional. With the growth of
high speed networks and distributed network based data intensive applications storing, processing, transmitting,
visualizing and understanding the data is becoming more complex and expensive. To tackle the problem of highdimensional datasets, researchers have developed some methods such as PCA [3] and MDS [4]. These methods
fail to act properly on real-world datasets, because these datasets are non-linear. Therefore using non-linear
dimension reduction instead of linear dimension reduction for mapping manifolds to their intuitive dimensions is
more rational.
Non- linear manifold learning algorithms such as LLE[5] and Isomap[6] have been used for nonlinear
dimension reduction. These methods are divided in two main categories. First category includes methods that try
to maintain globally structure of dataset while second category maintains locally structures. For instance, Isomap
is based on maintaining globally geometry of dataset.
Landmark Isomap [7] is a variation of Isomap, which preserve all of attractive attributes, but is more efficient.
It selects some data points as landmarks to construct the map. Landmark points are chosen, randomly.
An important fact that exists in data mining domain is that sometimes the information should be collected
sequentially through dataflow. Manifold learning algorithms operate in batch mode. It means that all data
should be available during training and they cannot be applied on dataflow. Incremental manifold learning has
been invented for this purpose. Martin law et all in [8] proposed incremental Isomap and incremental L-Isomap
that can solve this problem. Their method can handle unseen data, and it can be applied on data stream too.
In this paper, we use the incremental version of L-Isomap. This method could handle the problem of data
streams. Furthermore, because of landmark part of this algorithm, it can solve bottlenecks of classical Isomap.
The rest of the paper is organized as follows. Section 2 provides a brief overview on Isomap, L-Isomap and
Incremental Isomap and then it describes our contributrion. The experimental results are described in section 3.
The conclusions are presented in section 4.

2 Methods

2.1 Isomap
Isomap is a generalization of MDS (Multi-Dimensional Scaling) in which the pairwise distance matrix is
replaced by the matrix of pair wise geodesic distances. The algorithm contains three steps:
1.

Construct graph that shows manifold of data points in high dimensional space. This graph is built on
input data according to certain rules which should reflect the structure in the neighborhood of data
points. It uses one of two prominent methods to build the graph. These two prominent methods are
KNN-neighborhood and -neighborhood. In KNN method would be the neighbor of if it was in the
k nearest neighborhood of , and in -method is the neighbor of if the distance between them is
less than .
2. Compute pair wise distance matrix D with the Floyd or Dijkstra algorithm.
3. Apply MDS on D.
MDS is a linear dimension reduction technique that embeds data points in low dimensional space. When input
data points has a low-dimensional Euclidean structure, classical MDS is guaranteed to find embedding which
exactly preserve Euclidean distance between data points. Given Euclidean distance matrix D, this algorithm
embeds input data points such as and to a low dimensional space and so that:
|

(9)

Here, the complexity is O(kN2), Where N is the number of data points, and k is the dimension of the
embedding [4].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

75

2 ndInternational Symposium on Computing in Science & Engineering

2.2 Landmark Isomap


Landmark Isomap [7] is a variation of Isomap, which preserve all of the attractive attributes, but is more
efficient.Landmark Isomap saves three bottlenecks that exist in classical Isomap algorithm: storage, calculation
of distance matrix, and the eigenvalue problem. In the following, these three bottlenecks are described in more
details:
1.

2.
3.

Storing the distance matrix: classical Isomap needs O(N 2)storage while L-Isomap needs O(Nn). Here, N
is the number of data points and n is the number of Landmarks. When N is too large, landmark version
will need much less memory storage in comparison with classical Isomap.
Calculating distance matrix: Using Dijkstras algorithm this is O(knNlogN) where k is the size of
neighbourhood.
Finding the embedding: in classical Isomap it takes O(N3), but in L-Isomap it reduces to O(n2N).

2.3Incremental Isomap
Suppose that data points for
exist. Batch Isomap algorithm can calculate for
, so that
is embedded form of original data points in low dimensional space. Then, the new data point
arrives.
The goal of incremental Isomap [8] is to update the transformed data points
so that to best preserve the
updated geodesic distances. This is done in three stages:

Updating the geodesic distance for the original n vertices.


Updating the embedded data points regarding to the new geodesic distance matrix.
Calculating the transformed instances of new data point
.

2.4 Our contribution


Manifold learning algorithms are non-linear dimension reduction methods which are used to map data from
high to low dimensional space. Unfortunately, most of these algorithms operate in a batch mode, meaning that
all data points need to be available during training. When data points arrive sequentially, batch methods are
computationally demanding: repeatedly running the batch version whenever new data points are obtained takes
a long time. So they cannot be used as a dimension reduction method for real-time intrusion detection systems.
Accordingly, incremental version of these algorithms are proposed to handle the problem of new data.
Linear dimension reduction algorithms such as PCA can handle the problem of new data, and as a result, they
can be used as a dimension reduction method in real-time systems.
We employed the following two steps to build the intrusion detection system in order to detect anomalies:
Step 1: Reduce the dimensionality of the data using Incremental L-Isomap.
Step 2: Using decision tree to detect abnormal data.
After this, the above steps are repeated to build intrusion detection system. This time PCA algorithm is used
for dimension reduction part in step 1.
Finally, the detection rates of these two intrusion detection systems are compared.

3 Results
In this section, we evaluate methods using the NSL-KDD dataset[9]. NSL-KDD is a dataset suggested to solve
the inherent problems of the KDD99 dataset mentioned in[9]. However, this new version of the KDD data set
still suffers from the problems discussed by McHugh[10] and may not be a perfect representative of existing real
networks. Because of the lack of public datasets for network-based IDS, we believe it still can be considered as a
suitable benchmark allowing researchers to compare different intrusion detection methods. Furthermore, the

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

76

2 ndInternational Symposium on Computing in Science & Engineering

number of records in the NSL-KDD training and test sets is reasonable. This advantage makes it affordable to
run the experiments on the complete set without the need to select a small portion randomly. As such, evaluation
results of the different works will be consistent and comparable[11]. Table (1) shows the summary of the NSLKDD dataset.

Table(1): Summary of the NSL-KDD Dataset


Dataset Name

Application

Number of Features

Number of Samples

Train +

Train

41

125973

Train 20% +

Train

41

25192

Test +

Test

41

22544

Test -

Test

41

11850

NSL-KDD has two different training datasets: Train+ and Train 20%+. The dataset Train 20%+ contains 20%
samples of the Train+, with almost all varieties of samples in Train+. We use Train20%+ as the training dataset.
For the test phase, we use two test datasets of NSL-KDD, Test+ and Test-. We ran the experiments on a Pentium
IV 2 GHz machine with 1 GB memory.
As mentioned before, using incremental manifold learning method instead of classical manifold learning can
handle problem of data streams. The number of neighbors to construct manifold, is a parameter that has to be set.
After feature reduction with incremental L-Isomap, we classified data points with decision tree classifier.
Another time, after feature reduction with PCA, data points were classified with decision tree. Table (2-3) shows
number of features and the accuracy of classification for each method. Each value in this table is the average of
10 independent runs of various methods.
Table(2):Accuracy of classification for NSl-KDD(+)
Number of neighbor s
for L-Isomap
40

NSL-KDD(+)

PCA

Classical L-Isomap

Original dataset

58.39

69.48

78.01

10

67.78

71.37

20

76.57

79.78

30

76.97

80.21

Table(3) :Accuracy of classification for NSl-KDD(-)


Number of neighbor s

Number of embedding

PCA

Classical L-Isomap

Original dataset

for L-Isomap

dimension

40

46.67

57.34

58.19

10

51.67

59.65

20

55.34

62.7713

30

57.95

61.90

Results show higher accuracy for incremental L-Isomap, in comparison with PCA. As we can see in tables,
when the embedding dimension gets lower, the difference between accuracy of two methods becomes more. For
example, when the embedding dimension is 5, the difference between accuracy of two methods is more than
10%. This difference is less than 4%, when the embedding dimension is 30. This fact shows us that the accuracy
of incremental L-Isomap is better in comparison with PCA, when the number of features is very low.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

77

2 ndInternational Symposium on Computing in Science & Engineering

Besides, original datasets without applying feature reduction algorithms are classified. It can be seen that
incremental L-Isomap improves accuracy of classifying, when it reduces the number of features for each data
point to its half. This shows that some features are irrelevant or noise and incremental L-Isomap can omit them.

4 Conclusion
In this paper we applied incremental L-Isomap for dimension reduction in IDS and compared it with PCA.
Experiment results demonstrate higher accuracy for incremental L-Isomap in comparison with PCA.
Furthermore, the difference between accuracy of two methods is more, when the number of reduced features is
low.
Additionally, we compared accuracy of original dataset without applying feature reduction method. The use of
Incremental L-Isomap improves the overall performance of IDS mainly due to three reasons. Firstly, it can
handle the problem of new data points. Secondly, it reduces the dimension, thereby making the computational
efforts less. Third reason is the reduction of noise in the data. By reducing the noise, we gained a better
classification of normal and abnormal data.

References
1.

Shon T, Moon J. "A hybrid machine learning approach to network anomaly detection", Information Sciences, 2007,
p. 3799-3821.
2. J.P. Anderson, Computer Security Threat Monitoring and Surveillance, James P. Anderson Co., Fort
Washington, PA, Tech. Rep. 79F296400, Apr. 1980, p. 1-56.
3. I.T. Jolliffe, "Principal Component Analysis", Springer-Verlag, New York, 1986.
4. T.F. Cox, and M.A.A. Cox., "Multidimensional Scaling", Chapman &Hall, London, 1994.
5. S.T. Roweis, L.K. Saul, Nonlinear Dimensionality Reduction by Locally Linear Embedding, Science, vol. 290,
December 2000, p. 2323-2326.
6. J.B. Tenenbaum, V. de Silva, and J.C. Langford, A Global Geometric Framework for Nonlinear Dimensionality
Reduction, Science, vol. 290, 2000, p. 2319-2323.
7. Vin De Silva and Joshua B. Tenenbaum. "Global Versus Local Methods in Nonlinear Dimensionality Reduction" ,
In Advances in Neural Information Processing Systems 15, MIT Press, 2003, p. 705712.
8. Law, M., Zhang, N., Jain, A.: "Nonlinear manifold learning for data stream", In Berry, M., Dayal, U., Kamath, C.,
Skillicorn, D., eds.: Proc. of the 4th SIAM International Conference on Data Mining, Lake Buena Vista, Florida,
USA. 2004, p. 3344.
9. Mahbod T, Ebrahim B, Wei L, Ali A.G, "A Detailed Analysis of the KDD CUP 99 Data Set", In proceeding of
Computational Intelligence in Security and Defense Application (CISDA 2009).
10. McHugh J. "Testing intrusion detection systems: a critique of the 1998 and 1999 darpa intrusion detection system
evaluations as performed by lincoln laboratory", ACM Transactions on Information and System Security, 2000, vol
3, p. 262294.
11. http://iscx.ca/NSL-KDD/

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

78

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/18

Prime Numbers for Secure Cryptosystems and


Primality Testing on MultiCore Architectures
Mustafa ALOLU1, Uur GEBAKAN2, Serap AHN3
1

mustafaalioglu@std.iyte.edu.tr, 2ugurgogebakan@std.iyte.edu.tr, 3serapsahin@iyte.edu.tr

Abstract. This paper presents the results of our experimental study about primality testing algorithms and
their parallelization. Both of these topics are require for the implementation of security protocols. MillerRabin, Chinese Hypothesis and Lucas-Lehmer-Riesel primality test algorithms are used; it is aimed to assure
the more secure systems to prevent the data theft. After each algorithm is rendered to run on multicore system
parallel, they are run on distributed memory, so the instant key change will be provided faster for security.

Keywords: Computer Security, Distributed and Parallel Processing, Primality testing algorithms.

1 Introduction
In recent years need for security increased as data theft rose. New security systems become vital in our lives.
Big percentage of PC users started using antivirus softwares. Lots of people securely shops via internet with the
products of security protocols. These protocols use math to obtain security [1]. Generation and testing of prime
numbers are important for cryptosystems like RSA and Diffie-Hellman gain their security [2]. While prime
number gets bigger security becomes higher in these methods. However finding a big prime is not easy, specially
numbers bigger than 64bit due to todays computer architecture. Also producing only one prime and building up
the system with it may create security issues. So, also new primes should be generated. When finding a big
prime takes a long time, this methodology also becomes inefficient. If the time needed to get a big prime as
output can be shortens, this methodology can be used to create more secure and efficient security systems.
Using parallel systems may be the answer. With a library called OpenMP[3] or by the multithreading;
instructions that can run parallel can be executed simultaneously. We have been expected that this shortens
execution time dramatically[4]. Even with one more step, instructions may be executed in discrete memory with
an API called MPI. By the help of these two approaches, creating an efficient cryptosystem that works within
desired time interval may be possible.

2 General Info
In this project execution time is the issue. The methodology used is determined by terms of reducing running
time as much as we can. While deterministic primality testing algorithms returns absolute results they are
slow[5]. Hence, probabilistic approaches are chosen named Miller-Rabin Primality Testing Algorithm for
accuracy and Chinese Primality Test for faster execution. One deterministic approach named Lucas-LehmerRiesel also studied for execution time comparison.
OpenMP library is used to divide code on shared memory and MPI API is used to execute the code on discrete
memory.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

79

2 ndInternational Symposium on Computing in Science & Engineering

2.2 Miller-Rabin Primality Test


The Miller-Rabin primality test is a simple probabilistic algorithm for determining whether a number is prime
or composite that is easy to implement[6].
Suppose 1 < k < n is co-prime to n. Write the number n1 as 2 a.m , where m is odd. The algorithm can be
written as follows[7]:
Inputs:
n > 1: an odd integer to test for primality;
1< k < n: a parameter that determines the accuracy of the test;
Output: composite if n is composite (false), otherwise probably prime (true), the error probability is (1/4) k

Function millerRabin ( n, k )
n = 1 + 2**a * m;
foreach i <= k do
b Random( )
( 1, n);
z (b**m) mod n;
while not (( j = 0 and z = 1 ) or ( z = n 1 ))do
if j > 0 and z = 1 or ++j = a then
return false;
z (z**2) mod n;
return true;

2.3 Chinese Primality Test


The ancient Chinese discovered that; if p is prime, then 2 p - 2 is divisible by p. We state this fact in its contrapositive form in the following proposition [8][9].
Let n be a positive integer greater than 1. If 2 n is not congruent to 2 (mod n), then n is a composite.
Above proposition says nothing directly about primes, because although for any prime p, the difference 2 p -2
is divisible by p, nevertheless there are also some composite numbers that pass the test as well. In fact, there are
infinitely many of such composite numbers. If n is a composite number and divides 2p -2, then n is called base-2
pseudoprime. Hence, it would be truer to said that If 2 n is congruent to 2 (mod n), then n is either a prime or a
base-2 pseudoprime.

Function chineseTest ( N )

sccSqr = remainder of 2^N division to N


if sccSqr and N are not 2
N is composite
else
N is probable prime

2.4 Lucas-Lehmer-Riesel Primality Test


The LucasLehmerRiesel test is a primality test for numbers of the form
N = k.2n 1, with 2n> k. It is the fastest deterministic algorithm known for numbers of that form.[10]

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

80

2 ndInternational Symposium on Computing in Science & Engineering

The algorithm is very similar to the LucasLehmer test, but with a variable starting point depending on the
value of k.
If we define a sequence {ui} for all i > 0 by:
ui = u2i-2 2
Then N is prime if and only if it divides un2.
There are some ways to find the starting value of sequence ui -> (u0);
If k is equal to 1 and n is prime, then we are dealing with Mersenne numbers and can take u 0 = 4.
If n 3(mod 4), then we can take u0 = 3.
If k = 1 or 5 mod 6 and 3 does not divide N, then we take
Otherwise, we are in the case where k is a multiple of 3, and it is more difficult to select the right value of u 0.

Function lucasLehmerRiesel ( N )

Determine k and n with N + 1 = k.2n


If 2n> k
If k = 1 and n is prime then u0 = 4
If n 3(mod 4)then u0 = 3
If k = 1 or 5 (mod 6) and N (mod 3) 0 then u 0 = (2 + 31/2 )k +
( 2 - 31/2 )k

If un-2 (mod N) = 0
N is prime
Else
N is composite
else
N is not suitable to test

3 Experimental Discussion
After algorithms are selected, they have been coded in Visual Studio in C language. To be able to observe
execution times and compare them, first they implemented without using any additional library. Due to todays
computer architecture, biggest number we could test was a 32 bit number. In each algorithm results are
compared. All tests are run in Intel Core i7 CPU Q740 @1.73GHz, on single core.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

81

2 ndInternational Symposium on Computing in Science & Engineering

TABLE 1.Chinese Primality Test


32 bit Composite

Run Time(sec)

32-bit Prime

Run Time(sec)

4534761

0.063

4534771

0.063

7568367

0.094

7568369

0.093

47483657

0.578

47483659

0.563

67543931

0.844

67543937

0.813

345234567

4.328

345234581

4.453

563459887

7.688

563459891

7.532

1432562571

19.392

1432562581

19.549

2147483641

30.283

2147483647

30.428

It is seen at Table 1 and Table 2 that Chinese Primality Test is faster than Miller-Rabin Primality test.
However Miller-Rabin is more accurate. We knew that if Chinese Test determines that number is composite, it is
a deterministic result. Then there is no point to test the number with Miller-Rabin which takes longer to check.
So two algorithms are combined and one hybrid code is implemented. With this code it takes slightly longer to
check a number, however it is more accurate. To comparison in terms of time a deterministic algorithm LucasLehmer-Riesel also tested.

TABLE 2.Miller-Rabin Primality Test (1 Loop)


32 bit Composite

Run Time(sec)

32-bit Prime

Run Time(sec)

4534761

0.000

4534771

0.032

7568367

0.000

7568369

0.094

47483657

0.64

47483659

0.328

67543931

0.484

67543937

0.984

345234567

2.625

345234581

3.672

563459887

3.516

563459891

4.048

1432562571

10.137

1432562581

13.407

2147483641

27.362

2147483647

15.126

After those implementations GMP library is used.[11][12] With help of this library, numbers bigger than 64bit
can be tested. Only two implementations Hybrid code and Lucas-Lehmer-Riesel- are converted to work with
big numbers and the experimental results are presented in Table 3 and Table 4.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

82

2 ndInternational Symposium on Computing in Science & Engineering

TABLE 3.Hybrid Code of Miller-Rabin


and Chinese Primality Test with GMP library (1 Loop)
64-bit Composite
1432562571(32bit)
2147483641(32bit)
4323413481
5341265351
7516192767
15245325701
60245325707

Run Time(sec)
0.000
224.816
0.00002
712.523
0.00013
1928.12
0.00006

64-bit Prime
1432562581(32bit)
2147483647(32bit)
4323413483
5341265353
7516192771
15245325703
60245325709

Run Time(sec)
186.001
332.325
497.036
600.948
1140.503
2342.043
8767.142

TABLE 4.Lucas-Lehmer-Riesel Primality Test with GMP library


64-bit Composite
Run Time(sec)
64-bit Prime
Run Time(sec)
1432562571(32bit) not suitable
1432562581(32bit) not suitable
2147483641(32bit) not suitable
2147483647(32bit) 0.004
4323413481
not suitable
4323413483
not suitable
5341265351
not suitable
5341265353
not suitable
7516192767
0.015
7516192771
not suitable
15245325701
not suitable
15245325703
not suitable
60245325707
not suitable
60245325709
not suitable
When four tables compared for composite numbers 1432562571 and 2147483641, and for prime numbers
1432562581 and 2147483647, it can be observed that execution times increased dramatically in GMP
implementation. The reason for that; GMP works with very large numbers and has its own addition, subtraction,
multiplication and division methods. These methods use complex operations and consume time a lot.
After GMP conversation, parallelization analysis part is started with the help of Intel analysis tools.[13] We
have seen that, both algorithms are not suitable to work parallel because of they both have sequential parts as
seen on dependency graphs below;.

Fig. 1. Dependency graph of hybrid primality test approach

As seen from the Figure 1, in hybrid primality testing approach, the part that makes the code not possible to
parallelize is SuccessiveSquare function. Due to it recursively calls itself, that part should be in critical region.
Due to the most time wasting part is that function, there is no meaning to parallelize the algorithm.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

83

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 2. Dependency graph of Lucas-Lehmer-Riesel primality test approach

Figure 2 shows us, each output is an input for next loop. Due to second iteration must wait for the first one;
parallelization is also not suitable for this approach.

4 Conclusion
The main purpose of this project was to decrease the time needed to find a big prime in acceptable time
interval. By doing that, creating instant keys for example to use in RSA systems, would became much easier,
therefore crypto systems were expected to be more secure. If the time spent to create a key; that is the cost to
create a key, becomes lower, life-time of a key gets smaller. When and if a key is cracked, thanks to this system,
it would have been already changed. However due to selected algorithms were not suitable to parallelization, we
could not test and compare results. In spite of everything, this project still can continue by selecting different
primality testing algorithms.

5 Future Works
Our study is continuing by checking other primality testing approaches to find one which can be coded to run
parallel. After we seen that, algorithms we have chosen cannot be executed in terms of parallelism, next we will
try to execute Elliptic Curve Primality Testing algorithm on multicore architecture. The reason why this
algorithm selected is because it is more likely to be adaptable on parallel systems. With this primality approach,
it can be possible to test primality on multicore systems and achieve our purpose.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

84

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

Cryptology (definition)". Merriam-Webster's Collegiate Dictionary (11th edition ed.). Merriam-Webster.


Why do cryptography experts get excited about prime numbers, Peter Pearson, Cryp-tologist, Uptronics
Incorporated. (1998) from website: http://www.madsci.org/posts/archives/1998-05/893442660.Cs.r.html
From website https://www.cosic.esat.kuleuven.be/nessie/call/mplibs.html
Research of Distributed Parallel Computing Based on Mobile Agent, Hua Pang, Long Wang ZhiYong Li, JianHui
Wang.
Riesel , Hans (1994), Prime numbers and computer methods for factorization, Basel, Switzerland: Birkhuser,
Baker, P.R. (1978). Biogas for Cooking Stoves. London: Chapman and Hall.
Joseph H. Silverman(2001), A Friendly Introduction to Number Theory (Second Edition). Brown University.
Conway, John Horton; Guy, Richard K. (1996), The Book of Numbers, New York: Copernicus
Dickson, L. E. (2005), History of the Theory of Numbers, Vol. 1: Divisibility and Primality, New York: Dover.
Honsberger, R. (1973), An Old Chinese Theorem and Pierre de Fermat, Mathemat-ical Gems, I, Washington,
DC: Math. Assoc. Amer., pp. 19.
Riesel, Hans (1969). Lucasian Criteria for the Primality of N = h2n 1. Mathe-matics of Computation
(American Mathematical Society).
Ribenboim, Paulo (2004), The little book of bigger primes, Berlin, New York: Sprin-ger-Verlag.
From website http://www.di-mgt.com.au/bigdigits.html
David Worthington , Intel addresses development life cycle with Parallel Studio, SDTimes, 26 May 2009.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

85

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/19

Rule Base Representation in XML


Didem KTEM1, en AKIR2
1

didem.oktem@ege.edu.tr, 2sen@cse.deu.edu.tr

Abstract. Expert Systems (ES) are intelligent computer programs, which use knowledge and inference
procedures to solve problems in the way that a human-expert should do. Rule base component of the ES is
used to make decisions in an ES. But rule base component can also be used in other artificial intelligence
techniques like Genetic Algorithms (GA). In this study, a GA is designed to optimize the contents of an inservice training program of a corporation and the rule base mechanism of the ES is adopted in a GA in XML
format to be used when needed.

Keywords: XML, Rule Base, Expert Systems, Genetic Algorithms

1 Introduction
Nowadays people us many different computer programs to achieve many different tasks in different sectors. In
some cases, the computers and the computer programs replace with human beings completely. In such cases,
Expert Systems (ES) are used to handle tasks without any employee. ES are intelligent computer programs,
which use knowledge and inference procedures to solve problems in the way that a human-expert should do [1].
These systems are composed of mainly three components mutually attached to each other. These components are
user interface (UI), inference engine and the rule base, which usually occur in the form of a set of IFTHEN rules [2]. The inference engine uses the IF-THEN statements of the rule base to make decisions. For some
ES shells, there exists some certain rule base syntax but in some cases, if the ES is prepared from scratch, the
software developer may feel himself free about representing rule base statements.
Correspondingly, an independent rule base representation can be used not only in an ES, but also in some
other problem solving methods like Genetic Algorithms (GA). GAs are introduced in 1970s by John Holland
[3]. They are considered as stochastic search algorithms and in GAs, the probable solutions to a problem are
represented as chromosome like strings. For example, a rule base component can easily be added to a GA if it
is used for solving a Constraint Satisfaction Problem (CSP) or an optimization problem with some hard and soft
constraints.
XML is a simple text-based format for representing structured information: documents, data, configuration,
books or transactions [14].In this study, Extensible Markup Language (XML) is used as a rule base
representation technique in a software, which finds optimum solutions to the curriculum planning problem of inservice education of corporations by using the genetic algorithm and expert system mechanisms together.
The training, which is applied to the employees of a company, is composed of different modules and each
module may have prerequisite modules. The rules of the system clarify the relations of the modules with each
other from the prerequisite notion point of view. That is, some modules have other modules as their
prerequisites. The trainee has to take a module after its prerequisites have been taken. This approach leads us to
prepare a list of rules among the modules. The list prepared is later used for optimization of the modules in
different phases of the study. For this reason, the rule list is stored in XML format.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

86

2 ndInternational Symposium on Computing in Science & Engineering

2 Literature Review
Timetabling problems are one of the most popular optimization problems which the researchers have been
seeking for various methods to solve them in an efficient manner. Evolutionary algorithms are the most efficient
and convenient way to solve these kind of problems in short run time periods. Optimization can be done in many
application areas like education, flight traffic control in airports, nurse rostering or operating room timetable in
hospitals [4]. There are several studies on timetabling problem which seek for optimum solutions especially for
educational corporations. The researchers have studied on high school timetables and obtained quite effective
results when compared to the timetables prepared manually. Petrovic and Burke [15] and Qu et al. [16] are some
of the most popular studies on this application area. Pillay and Banzhaf [17] have studied on examination
timetabling problem and have implemented a heuristic system to handle the problem.
While handling optimization problems, there exist many studies in which the ES methods and GAs are used
together as in the studies of Tseng [5] for land-cover classification, Choi [6] for managing the auction
mechanisms and Nguyen [7] for compressor scheduling. The problem solving techniques of evolutionary
algorithms meet with the requirements of the expert system software in many different application areas like
product design [8], cost management [9], unmanned air vehicles [10], decision making tools in fashion [11],
composite laminate design [12] and problems like determining substation locations [13] can be mentioned as the
application areas that GAs and ESs are used together.

3 Methods
In the study, the IF-THEN statements of a rule base are converted to the chromosomes of the initial population
of the GA. In order to represent the IF THEN statements as permutation encoded chromosomes, the rule base
data is first converted to a sparse matrix, in which each row of the matrix corresponds to one of the rules. The 1s
in the ith row of the sparse matrix represent the prerequisite modules of the ith module. The rules of the modules
are inserted into the system via the UI of the software. The number of prerequisite modules depends on the
importance of the module in the in-service education package.
The software is prepared with C#.NET platform. In the program, there exists a user interface to insert the
relevant data to the system before the GA is run. The most important input for the GA to be run is the
prerequisite rules among the modules of a training program. These rules are inserted via the user screen by
picking the prerequisite modules of a particular module and defining them as prerequisite for each other. When
the rules about the modules are inserted into the system, an XML file, including the rules among the modules is
prepared as given in the program code given below:
XmlTextWriter textWriter=newXmlTextWriter("RulesXML.xml", null);
textWriter.WriteStartDocument();
textWriter.WriteStartElement("modules");
for (int i = 0; i < 39; i++)
{ textWriter.WriteStartElement("module");
textWriter.WriteAttributeString("mno", i.ToString());
textWriter.WriteAttributeString("hour", hours[i].ToString());
for (int j = 0; j < 39; j++)
{ if (prereqs[i, j] == 1)
{
textWriter.WriteStartElement("prereq");
textWriter.WriteString(j.ToString());
textWriter.WriteEndElement();
}
}
textWriter.WriteEndElement();
}
textWriter.WriteEndDocument();
textWriter.Close();

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

87

2 ndInternational Symposium on Computing in Science & Engineering

The XML file has some tags related to the rule information of each module. The prerequisite module numbers
for each module are represented between the tags <prereq> and </prereq>. In the optimization phase of the
software, the initial population of the GA is constructed from the XML file. XML file format provides a generic
and platform independent data storage environment for the rule base data. The sample XML file is given in Fig.
1.

Fig 1. The XML file with the prerequisite rules of the modules.
C# has the components to form (XmlTextWriter) and parse (XmlTextWriter, TreeNode) the XML documents.
The XML file for the rules is obtained with the program code for the chosen lesson. The prerequisite rules for the
different training programs are stored in separate XML files.
While converting the XML rules to the sparse matrix used in the GA, the following program code is used:
XmlTextReader reader = newXmlTextReader("RulesXML.xml");
TreeNode tnmodules = newTreeNode();
tnmodules.Text = "modules";
treeView1.Nodes.Add(tnmodules);
TreeNode tnmodule = null;
TreeNode tnprereq = null;
while (reader.Read())
{if (reader.NodeType == XmlNodeType.Element && reader.Name == "module")
{ tnmodule = newTreeNode();
tnmodule.Text = reader.GetAttribute("mno");
row = Convert.ToInt32(tnmodule.Text);
tnmodules.Nodes.Add(tnmodule);
}
elseif (reader.NodeType == XmlNodeType.Element && reader.Name == "prereq")
{ reader.Read();
tnprereq = newTreeNode();
tnprereq.Text = reader.Value;
col = Convert.ToInt32(tnprereq.Text);
tnmodule.Nodes.Add(tnprereq);
prereqs[row, col] = 1;
}
}
reader.Close();

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

88

2 ndInternational Symposium on Computing in Science & Engineering

4 Findings and Conclusion


The GA developed in this study uses the rule base statements of the education modules saved in XML file
format.This means, the rules of different training programs are kept in separate XML files. This is the first case
that XML technology is used in the study. After the GA finds the optimum arrangement of the modules for the
training program, the best individual (chromosome) of the GA is processed to obtain the training schedule. The
final schedule is also prepared in XML format; this is the second case of the project that XML technology is
used. In this schedule, 8 hours of lecture is defined for each day. According to the durations of the modules,
there can be some gaps in the schedule during a day (3 rd and 4th hours in second day in Fig. 2). The aim of the
software is also to minimize the gaps throughout the training schedule.

Fig 2. The XML file with the output training schedule


Since XML is a text-based format for representing structured information and it is not for only Web use, it can
also be used for transferring data among various platforms of both Web and Windows applications. In the
software, the rule base statements are first saved in the database and then transformed into the XML format. The
GA uses the rules as the input of the optimization phase. The chromosomes of the initial population of the GA
are produced by reading the XML file.
XML is easier to convert to a mathematical representation than the IF-THEN sentences. Since the GA in the
study uses permutation encoding for preparing the initial population, parsing the XML tags is much effective
than using logical statements directly to obtain the GA chromosomes.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

89

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.

3.
4.
5.
6.
7.
8.
9.
10.
11.

12.
13.

14.
15.
16.
17.

Giarratano J., Expert Systems: Principles and Programming, Riley, Fourth Edition, (2004).
Sutrisna M., Potts K. and Buckley K., 2003, An Expert System As a Potential Decision Making Tool In the
Valuation of Variations, Proceedings of the RICS Foundation Constructionand BuildingResearch Conference,
COBRA Press, ISBN: 1-84219-148-9, pp: 314-326.
Holland H.J., Adaptation in Natural and Artificial Systems, Cambridge, MIT Press, (1975).
Cardoen B. et al., Operating Room Planning and Scheduling: A Literature Review, European Journal of
Operational Research 201, Elsevier, pp: 921-932 (2010).
Tseng M-H. et al., A Genetic Algorithm Rule-Based Approach for Land-Cover Classification, ISPRS
Journal of Photogrammetry & Remote Sensing 63, Elsevier, pp: 202-212 (2008).
Choi J.H. et al., Utility Based Double Auction Mechanism Using Genetic Algorithms, Expert Systems with
Applications 34, Elsevier, pp: 150-158 (2008).
Nguyen H.H. et al., A Comparison of Automation Techniques for Optimization of Compressor Scheduling,
Advances in Engineering Software 39, Elsevier, pp: 178-188 (2008).
Chaoan L., The Expert System of Product Design Based on CBR and GA, International Conference on
Computational Intelligence and Security Workshops, IEEE, pp: 144-147 (2007).
Chou J-S., Generalised Linear Model-Based Expert System for Estimating the Cost of Transportation
Projects, Expert Systems with Applications 36, Elsevier, pp: 4253-4267 (2009).
Kuroki Y. et al., UAV Navigation by an Expert System for Contaminant Mapping with a Genetic Algoritm,
Expert System with Applications, Elsevier, (In press) (2010).
Wong W.K. et al., A Decision Support Tool for Apparel Coordination Through Integrating the KnowledgeBased Attribute Evaluation Expert System and the T-S Fuzzy Neural Network, Expert Systems with
Applications 36, Elsevier, pp: 2377-2390 (2009).
Kim J-S., Development of a User-Friendly Expert System for Composite Laminate Design, Composite
Structures 79, Elsevier, pp: 76-83 (2007).
Chakravorty S. ve Thukral M., Choosing Distribution Sub Station Location Using Soft Computing
Technique, International Conference on Advances in Computing, Communication and Control (ICAC309),
ACM, pp: 53-55 (2009).
Online: http://www.w3.org/standards/xml/core
Petrovic S. and Burke E.K., University Timetabling, Handbook of Scheduling: Algorithms, Models and
Performance Analysis, CRC Press, Boca Raton, Chapter 45 (2004).
Qu R. et al., A Survey of Search Methodologies and Automated Approaches for Examination Timetabling,
Journal of Scheduling 12 (1), pp: 55-89 (2009).
Pillay N. and Banzhaf W., An Informed Genetic Algorithm for the Examination Timetabling Problem,
Applied Soft Computing 10, Elsevier, pp: 457-467 (2010).

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

90

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/21

Effectiveness of Standard Deviation of Fundamental


Frequency for the Diagnosis of Parkinsons Disease
Yasemin Sahin1, Nahit Emanet2
1,2

Fatih University, Computer Engineering Department, Istanbul, Turkey


1

ysahin@fatih.edu.tr, 2emanetn@fatih.edu.tr

Abstract.In this study, three different pattern recognition methods, random forest (RF), artificial neural
networks (ANNs) and support vector machines (SVMs), are used to develop decision support system for the
diagnosis of Parkinsons disease (PD) by using voice records. Acoustic analysis of voice records are done by
Praat speech analysis and synthesis tool. The aim of our study is threefold. First, it investigates the
effectiveness ofnewly introduced attribute, standard deviation of fundamental frequency, for the diagnosis of
PD. Secondly, it measures the importance of each attribute in the classification. Finally, it evaluates the
performance of each classifier. All classifiers have been tested and their performance comparisons have been
done. The results show a high accuracy for all classifiers.

Keywords: Parkinson diagnosis, voice classifier, artificial neural networks, support vector machine, random
forest.

1 Introduction
Neurological diseases are very common all over the world. Parkinsons disease (PD) is one of the most
common neurological disease [1] which impairs motor skills, speech, and other functions such as mood,
behaviour, and talking [2], [3], [4]. Moreover, statistics show that each year, approximately 50,000 Americans
are diagnosed with Parkinsons disease. In fact, all studies show that age is the mainspring effect of PD, which
increases steeply after age 50 [5], [6]. Although there is currently no cure found for PD, medication is used to
increase the quality of life of the patients if it is diagnosed at the early stages of the disease [1], [7].
Most of the people with Parkinsons disease have vocal impairment such as dysphonia [8, 9]. Vocal
impairment may also be one of the earliest indicators for the onset of the illness. Since the measurement of voice
is noninvasive and simple to measure, it is often used to detect Parkinsons disease. The purpose of this study is
to develop a decision support system to diagnose PD by using patients voice records. We used pattern
recognition methods for classification based on Random Forest (RF), Artificial Neural Networks (ANN) and
Support Vector Machines (SVM) [19], [22], [26] which are widely used for pattern recognition systems. These
three classifiers have been tested and their performance comparisons have been done.
There are extensive studies about general voice disorders [10], [11], [12],[13],[15], [16] by using traditional
speech measurement methods which include measurement of fundamental frequency F0, absolute sound pressure
level, time variation of periodic signals known as jitter, and shimmer. All these measurements have been used
for discriminating healthy people from person with Parkinsons disease.
More recently, the studies have been concentrated on machine learning tools for acoustic measurement to
detect voice disorders [2], [10]. Many interdependent vocal features can be extracted by using both traditional
and novel methods such as linear discriminating analysis (LDA), Wavelet Decomposition, Fast Fourier

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

91

2 ndInternational Symposium on Computing in Science & Engineering

Transformations. All these features have been used to diagnose PD at the early stages by Artificial Neural
Networks (ANN) and Support Vector machines (SVM) [2], [17], [18]. In this study, in addition to above
mentioned features, we also used jitter and shimmer perturbation measures, harmonics to noise ratio, recurrence
period density entropy and detrended fluctuation analysis features. One of our aims in this study was to find the
effectiveness of each of the features in the classification stage. We also tested the importance of newly
introduced feature, standard deviation of fundamental frequency, for the diagnosis of PD. Standard deviation of
fundamental frequency has been shown in other studies as efficient indicator for the diagnosis of voice disorders
[21], [24]. Finally, we made comparison between three classifiers: RF, ANN and SVM.
2 Materials and Methods
Voice Records
In our study, we used voice records acquired by Little et al. [2].They were obtained from 31 males and
females, 23 with Parkinsons disease. The ages of the subjects ranged from 46 to 85 years. The records sampled
at 44.1 kHz, with 16 bit resolution. Although dataset is available at UCI Machine Learning Repository, we have
used the actual raw voice recordings of this dataset in our lab. We have added a new feature that is the standard
deviation of fundamental frequency (stevF0) to increase the accuracy of whole classification system.
In feature extraction stage, we used Matlab and Praat to analyze voice records. Praat is a software program for
speech analysis and synthesis. The traditional measures are done by using Praat [20]. These measures are
fundamental frequency (F0 or pitch period), jitter and perturbation measures, shimmer and amplitude
perturbation measures and noise-to-harmonics ratio (and harmonics-to-ratio). Seventeen features are derived by
using Praat for all 195 signals (Table 1). On the other hand, nonlinear measurements are calculated by using
RPDE , FastDFA, performing recurrence period density and detrended fluctuation analysis tools [12], [22].
Feature

Description

Fo(Hz)

Average vocal fundamental frequency

Fhi(Hz

Maximum vocal fundamental frequency

Flo(Hz)

Minimum vocal fundamental frequency

stevFo (Hz)

Standard deviation of fundamental frequency

Jitter(%)

Measurement of jitter as a percentage

Jitter(Abs)

Measurement of jitter in microseconds

RAP

Relative amplitude perturbation

PPQ

Period perturbation quotient

DDP

Average absolute difference of differences between cycles,


divided by the average period

Shimmer

Local shimmer

Shimmer(dB)

Local shimmer in decibels

Shimmer:APQ3

Three amplitude perturbation quotient

Shimmer:APQ5

Five amplitude perturbation quotient

APQ

11 point amplitude perturbation quotient

Shimmer:DDA

Average absolute difference between consecutive differences


between the amplitudes of consecutive periods

NHR

Noise to harmonics ratio

HNR

Harmonics to noise ratio

Table 1: List of traditional measurement by using Praat

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

92

2 ndInternational Symposium on Computing in Science & Engineering

RF
Random Forest [26] is one of the powerful machine learning algorithms used for classification problems. A
random forest is in fact an ensemble of unpruned classification trees, which builds a number of decision trees
and gives a prediction based on majority voting. It is useful for practical problems, because it is not sensitive to
noise in the data set. Furthermore, decision trees avoid overfitting through pruning and it reduces variance.
It works fast, and generally exhibits a substantial performance improvement over many tree-based algorithms
without need to fine-tune parameters.
Classification occurs when each tree in the forest casts a unit vote for the most popular class. The Random
Forest then chooses the classification having the most votes over all the trees in the forest. Pruning is not needed
as each classification is produced by a final forest that consists of independently generated trees created through
a random subset of the data, avoiding over fitting. The generalization error rates depend on the strength of the
individual trees in the forest and the correlation between them. This error rate converges to a limit as the number
of trees in the forest becomes large.
Random forestalso gives us an opportunity to evaluate the effectiveness of each variable. It returns measures
of what variables are important in the classification.

ANN
Articial Neural Networks (ANNs) are very powerful tools which can be utilized for pattern
recognition.Artificial neural networks represent a type of computing environment similar to the way that the
human brain performs computations. They are good at fitting non-linear functions and recognizing patterns. The
most common neural network model is the multilayer perceptron (MLP).
In this study, we used MLP. This type of neural network is known as a supervised network because it requires
a desired output in order to learn pattern in input dataset. The goal of this type of network is to create a model
that correctly maps the input space to the output space by using input data. The model can then be used to obtain
the output when the desired output is unknown. A graphical representation of our MLP structure is shown below
(Figure 1).

Figure 1: Multi Layer Perceptron


MLP network is fully connected feed forward neural network consisting an input layer that represents input
data, hidden layer and output layer that represents the classification result (PD or Healthy).
The MLP network uses the backpropagation algorithm which is gradient descent method for the adaption of
the weights. The network was trained using a backpropagation supervised training algorithm. Supervised training
is a technique in which a set of representative input/output pairs is presented to the network. Through an iterative
algorithm, the internal network weights are adjusted to decrease the difference between the network prediction
and the true result for the training cases. As different examples (from the set of training input/output pairs) are
presented, the network weights are adjusted to minimize the mean squared error. Because this error is
accumulated over the entire training set, the network weights will adjust to find an average response. It is

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

93

2 ndInternational Symposium on Computing in Science & Engineering

important that the training set include examples that represent the full range of possible inputs so that the
network will correctly classify any input set. Note that the new input sets do not have to be identical to any of the
training patterns for the network to correctly classify the new input pattern.

SVM
Support Vector Machines (SVMs) are also a set of related supervised learning methods that can perform
pattern recognition. SVM proposed by Vapnik [22], [26] was originally designed for classification. SVMs
translate the input data into a higher dimensional feature space by using a kernel function. In this high
dimensional feature space a linear classifier is constructed.Typical kernel functions that are used by most of the
researchers are linear, polynomial, radial basis function (RBF) and sigmoid. Basically, the idea behind the SVM
lies on the construction of optimal hyperplane, which can maximize the margin between hyperplane and the
nearest point in the input data. Actually, SVMs are looking for solution in high dimensional space (Figure 2).

Figure 2: Transformation of input space into feature space.

Optimal hyperplane shouldsatisfy

y k F ( xk )

|| w ||

k=1, 2, , n

(1)

where is a margin and y is the unknown pattern, and F(x) is dened as:

F ( x) wT x b

(2)

Where w is the vector of hyperplane coefficients and b is the bias term.

In order to use SVM on a particular dataset, we have to specify kernel function. Our choice of kernel type for
the SVM is radial basis function (RBF) which is recommended first for modeling a nonlinear transformation.

3 Experimental Results
The comparative results are grouped into two sections. The first deals with effectiveness of features and
the second is comparison between classification methods. In order to evaluate effectiveness of the features and
methods, 195 voice records were used.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

94

2 ndInternational Symposium on Computing in Science & Engineering

Evaluation of the features


The 17 features are derived from Praat analysis of fundamental vowel /a/ and other two non-linear features are
derived by using RPDE and FastDfa tools [12], [22]. Total of 19 features (Table 2) were evaluated according to
their importance in the RF classification.

Feature
RAP
F0
Jitter (Abs)
Jitter DDP
Shimmer
DFA
PPQ
HNR
RPDE
Stdev F0
APQ
Fhi

Raw Score

Z-score

6,432
4,221
4,942
5,363
2,878
1,806
2,898
2,266
1,654
1,528
1,088
1,028

26,936
26,695
22,611
22,184
19,439
19,36
18,154
17,966
16,647
14,918
12,12
11,41

Table 2: Random Forest results of features scores

Table 2 shows us the best 12 features obtained by RF with their raw scores. The evaluation results shows that
seven features, which are fundamental frequency and its low value, jitter percentage, shimmer (db), shimmer
APQ3 and APQ5, shimmer DDA and noise to harmonics ratio, actually do not affect classification accuracy. We
used the most important 12 features in our study.

Comparison of the proposed methods


In this section RF, SVM, and ANN classification methods were evaluated for two different feature sets. One
set contains all features, the other contains the best 12 features.

Results for ANN


We have built 3-layer ANN with 195 inputs, 20-node hidden layer and 2 outputs. The network was trained by
using both feature sets, seperately. Results are shown in Figure 3.

Feature Set All


(19)
Feature Set Best
(12)

Figure 3: ANN overall accuracy results for both feature sets.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

95

2 ndInternational Symposium on Computing in Science & Engineering

Results for SVM


We have used SVM with RBF kernel function with a default scaling factor of 1. Figure 4 shows that the best
12 features give better accuracy than the one with all features.

Feature Set All


(19)
Feature Set Best
(12)

Figure 4: SVM overall accuracy results for both feature sets.

Results for RF
Our last classification method was Random forest that also gave better accuracy for 12 features.

Feature Set All


(19)
Feature Set Best
(12)

Figure 5: RF overall accuracy results for both feature sets.

Table 3 depicts a comparison between best and average results achieved by each method. It appears that on the
average much better results in classification were obtained with RF than SVM and ANN.

Correct Overall
ANN

SVM

RF

Average

Best

Average

Best

Average

Best

All (19)

87,57

94,6

88,17

91,75

89,7

90,76

Best (12)

87,27

91,3

91,34

94,85

91,31

92,3

Feature Set

Table 4: Comparison of 3 classification methods

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

96

2 ndInternational Symposium on Computing in Science & Engineering

4 Conclusions and Future Work


In this study, we have evaluated the performance of ANNs, SVMs and RFs algorithms for the classification of
PD. They are very efficient tools for pattern recognition. The classification accuracy of the three methodsis very
good and they showed a high degree of certainty. Therefore, ANN, SVM and RF with the addition of new
feature, standard deviation of the fundamental frequency, increase the discernibility of Parkinsons disease.
Although standard deviation of the fundamental frequencyis used as a feature in the literature, it is not as
effective as other features, especially the best three features: RAP, Jitter, F0.
Finally, our classification system can be implemented as an application which can be utilized at the medical
industry for early diagnosis of Parkinsons disease. In the future, we will try to find new features to increase the
classification rate of Parkinsons disease. We believe that our system will be beneficial for physicians who do
not have enough experience about Parkinsons disease.

Acknowledgement
We would like to thank to Max Little of the University of Oxford in collaboration with the National Centre for
Voice and Speech, Denver, Colorado for providing the dataset to us.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

11.
12.
13.
14.
15.
16.
17.
18.

de Rijk, M.C. et al. (2000). Prevalence of Parkinsons disease in Europe: a collaborative study of population-based
cohorts. Neurology. 54, 2123.
Little, M. A., McSharry, P. E., Hunter, E. J., Ramig, L. O., (2009).Suitability of dysphonia measurements for
telemonitoring of Parkinsons disease. IEEE Trans. Biomed. Eng. doi:10.1109/TBME.2008.2005954.
Ishihara, L., and Brayne, C., (2006) A systematic review of depression and mental illness preceding Parkinsons
disease. Acta Neurol. Scand. 113 (4)211220. doi:10.1111/j.1600-0404.2006.00579.x.
Jankovic, J., (2008) Parkinsons disease: clinical features and diagnosis. J. Neurol. Neurosurg. Psychiatry. 79:368
376. doi:10.1136/jnnp.2007.131045.
Huse, D. M., Schulman, K., Orsini, L., Castelli-Haley, J., Kennedy, S., and Lenhart, G., (2005). Burden of illness in
Parkinsons disease. Mov. Disord. 20:14491454, doi:10.1002/mds.20609.
Elbaz, A. et al. (2002). Risk tables for parkinsonism and Parkinsons disease. Journal of Clinical Epidemiology.
55, 25-31,
N. Singh, V. Pillay, and Y. E. Choonara, (2007) Advances in the treatment of Parkinson's disease, Progr
Neurobiol, vol. 81, pp. 29-44.
Hanson, D., Gerratt, B. and Ward, P. (1984) Cinegraphic observations of laryngeal function in Parkinsons disease.
Laryngoscope 94, 348-353
Ho, A., Iansek, R., Marigliani, C., Bradshaw, J., Gates, S. (1998) Speech impairment in a large sample of patients
with Parkinsons disease. Behavioral Neurology 11, 131-37.
Little M. A., McSharry P.E., Roberts S.J., Costello D.A.E., Moroz I.M. (2007), Exploiting Nonlinear Recurrence
and Fractal Scaling Properties for Voice Disorder Detection, BioMedical Engineering OnLine, 6:23 (26 June
2007).
J. Alonso, J. de Leon, I. Alonso, and M. Ferrer, (2001) Automatic detection of pathologies in the voice by HOS
based parameters, EURASIP J Appl Sig Proc, vol. 4, pp. 275-284.
M. Little, P. McSharry, I. Moroz, and S. Roberts, , (2006) Nonlinear, biophysically-informed speech pathology
detection, in Proc ICASSP 2006. New York: IEEE Publishers.
J. I. Godino-Llorente and P. Gomez-Vilda, , (2004). Automatic detection of voice impairments by means of shortterm cepstral parameters and neural network based detectors, IEEE Trans Biomed Eng, vol. 51, pp. 380-384.
S. Hadjitodorov, B. Boyanov, and B. Teston. (2000). Laryngeal pathology detection by means of class-specific
neural maps, IEEE Trans Inf Technol Biomed, vol. 4, pp. 68-73.
B. Boyanov and S. Hadjitodorov, (1997). Acoustic analysis of pathological voices, IEEE Eng Med Biol Mag, vol.
16, pp. 74-82.
J. H. L. Hansen, L. Gavidia-Ceballos, and J. F. Kaiser, (1998). A nonlinear operator-based speech feature analysis
method with application to vocal fold pathology assessment, IEEE Trans Biomed Eng, vol. 45, pp. 300-313.
C. O. Sakar, O. Kursun, (2009) Telediagnosis of Parkinsons Disease Using Measurements of Dysphonia, Journal
of Med Syst, vol. 34, pp. 591-599.
D. Gil, M. Johnson, (2009) Diagnosing Parkinson by using Artificial Neural Networks and Support Vector
Machines, Global Journal of Computer Science and Technology, vol. 9, no 4.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

97

2 ndInternational Symposium on Computing in Science & Engineering


19. Bhadeshia H. K. D. H. (1999). Neural Networks in Materials Science. ISIJ International 39: 966
979. doi:10.2355/isijinternational.39.966
20. P. Boesrma and D. Weenicnk, (2001) Praat, a system for doing phonetics by computer Glot Int, vol. 5, pp. 341-345.
21. Raymond H. Colton, Janina K. Casper,Rebecca Leonard (2006). Understanding voice problems: a physiological
perspective for diagnosis and treatment. 3rd ed. Philadelphia: Hearthside Publishing
22. V. Vapnik. (1998) The support vector method of function estimation. Neural Networks and Machine Learning,
pages 239268.
23. Brian D. Ripley. (, 1996). Pattern Recognition and Neural Networks. Cambridge University Press, Cambridge, UK.
24. D.E. Callan, R.D. Kent, N. Roy, S.M. Tasko. (2009) Self-organizing map for the classification of normal and
disordered female voices, J. Speech Lang. Hear. Res. 42, 355366.
25. V. Vapnik. (1995) The Nature of Statistical Learning Theory. Springer-Verlag, New York, USA.
26. Breiman, Leo (2001). Random Forests. Machine Learning 45 (1): 532. doi:10.1023/A:1010933404324.

Biographies
Yasemin ahin received the B.S. in computer engineering from Fatih University, Istanbul, Turkey in 2009, the M.S. degree
in computer engineering from Fatih University, Istanbul, Turkey in 2011-continue, working at the department of Computer
Engineering of the Fatih University as a research assistant with MS degree, the major interests are computer vision, artificial
intelligence and speech analysis.
Nahit Emanet Nahit Emanet received his B.Sc degree in 1994 at Computer EngineeringDepartment, Boazii University,
Istanbul, Turkey. He completed his M.Sc.study in 1997 at Computer Engineering Department, Boazii University,Istanbul,
Turkey. In 2004, he received his Ph.D. from the same university.His main interests are microprocessor architectures,
embedded systems, VLSIdesign, pattern recognition, computer graphics and vision. He is currently anAssistant Professor at
Computer Engineering Department, Fatih University,Istanbul, Turkey.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

98

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/24

Improving PMG Mechanism for SPIT Detection


Fateme Safaei Kochaksaraei1, Hassan Asgharian2, Ahmad Akbari 3, Razmara Zakerifar4
1

Department of Computer Engineering, Sience and Research Branch, Islamic Azad university, Tehran, Iran.

2,3

Computer Engineering Department, Iran University of Science and Technology, Tehran 16846-13114, Iran.
4

Mazandaran Regional Electric Company, Sari, Iran

fatemesafaei@srbiau.ac.ir, 2asgharian@iust.ac.ir, 3Akbari@iust.ac.ir, 4rzakerifar@gmail.com

Abstract. Spam is unsolicited message with advertisement, phishing, fraud or annoyance purposes. It is sent
to many users in network. Spam is in form of email or voice. By appearing VOIP and Internet Telephony,
spam problem is continued.Spam in Internet Telephony (SPIT) is unwanted call that is sent to VOIP users.
SPIT threat is more than spam because it is a real time and has voice nature. Therefore anti-SPIT mechanism
must be attended greatly.In this paper we propose a mechanism called MSG based on PMG mechanism and
IP-Domain correlation that improve and hit PMG in identity change situations. When malicious user alters his
identity, PMG cannot detect it but MSG mechanism can detect occurrence of SPIT. MSG computes gray
levelsbased on call rate and based on identity and decides based on these parameters. Simulated scenarios
present performance of MSG.

Keywords:SPIT, Spam, VOIP, Anti-SPIT mechanism, PMG, MSG

Introduction
Spam in Internet network is unsolicited electronic mail that is sent to users inbox. Spam reading and deleting
wastes time and mood of users. For these reasons, spam is unsightly for Internet users. Spam problem grows
rapidly in Internet network. According JISC technology report [1], only 7% of all received email in 2001 was
spam but in March 2004 this increased dramatically to 63% and is rising ever further and also according
Symantec report [2] in 2008, spam average in email was 80% of emails. Although anti-Spam techniques were
better but Spam number is increased.Heavy load, throughput decreasing in servers and annoyance level
increasing are disadvantages of large amount. Spam in Internet Telephony or SPIT is unwanted call for VoIP
users. SPIT is much bigger threat for users than email spam since it will interrupt the users immediately [3]. In
the near future, SPIT problem is expected to become strong threat in VoIP networks. Users may be exposed to
unsolicited religious, political, or pornographic messages and this can be a serious problem for younger users of
these services [4].

1.2

Spam and SPIT

SPIT problem is a more important threat than spam, three reasons for this assertion is discussed below. SPIT
can be even more annoying than email spam, when your phone rings you should attend and answer it but you do
not attend immediately about emails and can ignore them. Current spam filters are improved and detect spam
with heuristic mechanism but in SPIT, voice is data carrier and detection with heuristic mechanism is difficult if

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

99

2 ndInternational Symposium on Computing in Science & Engineering

it is not impossible.Addition to these factors, Internet calls in comparison with emails need high bandwidth.
SPIT and spam are compared in Table 1.
Table 1. Spam and SPIT comparison [5]
SPIT
Real time
Frivol time and mood for answering
Immediately answering
Voice nature
High cost for initiation sessions and
transfer media
No ability for analyzing before rings
Sending data after session initiation
Using Internet backbone
Using signaling protocol

1.3

Spam
Unreal time
Frivol time and mood for reading and
deleting
No need immediately answering
Text or picture nature
Low cost with per message
Ability for analyzing before delivery
message
Sending data with message
Using Internet backbone
No Using signaling protocol

Anti-SPIT Mechanisms

In this section we express a number of anti-SPIT techniques. Anti-SPIT techniques are divided into three
groups. Some techniques are preventive, some of them detect attacksand another may be able to handle a
detected SPIT call. An anti-SPIT mechanism uses one or more of the following techniques and frameworks in
their architecture.

white and black lists


In white lists, receiver explicitly states which persons can call. URI identifier of allowed persons is added to
users contact list. One of the known usages of this model is Skype.Black lists maintain URI of SPITter and their
call is blocked in black lists. White and black lists can be generated manually or automatically.

content filtering
These filters check content of messages. Content filtering isnt suitable for SPIT because real time filtering
phenomenon is very hard and needs long time. Period filtering needs context analysis and voice detecting.

challenge and response model


In this model there are three lists. These are white, black and gray. Persons in gray list will need to verify. For
user verification, system asks question from user, if the user answers correctly to the question, he can call to his
favorite person.

reputation system
In this kind of systems, reputation of user is evaluated before calling. If the reputation score is greater than a
predefined threshold then sender is connected to receiver. Reputation systems are complex and sender can
connect to a few users.

payment
In this solution, every user pays a little money per message, this amount will be very little for legal user and
high value for SPITter. SPIT sender usually send a lot of call hence his cost will be high. Then malicious user is
forced to send small counts.

feedback from receiver


In this solution, when spam is received, receiver presses SPIT key on the phone and sends report SPIT to
proxy. When number of SPIT from one user gets greater than threshold, sender is blocked for a time. This
manner may mistake and block legal users.

consent based system


In this solution if receiver declares his consent from receiving message, call is established else caller is
blocked.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

100

2 ndInternational Symposium on Computing in Science & Engineering

Our Proposed Algorithm


Usually professional SPITters changetheir identity until anti-SPIT mechanism would not detect these
users.PMG is suitable for environments that have strong authentication for users, for example IMS networks.But
in VOIP networks, malicious users change their identity easily and PMG mechanism cant be successful in VOIP
environments.We proposed an improvedto PMG mechanism in situations that SPITters change their identities.

2.2 PMG mechanism


PMG (Progressive Multi Gray level) is one of the well-known anti-SPIT mechanisms that determines and
allocates a gray level for each caller. Decision for blocking or passingincoming calls is based on gray level. If the
gray level is more than a predefined threshold, call is blocked and otherwise the call is passed.PMG is not based
on feedback from users and works automatically. This mechanism computes two levels for user activities, short
term and long term. Summation of two levels composes gray level. Short term represent a short period of time
(e.g. 1 min) and increases very quickly and protects server form intensive calls in a short period of time. The
long term increases slowly and protects from malicious call in large range of time (e.g. one hours or one day).[6]

2.3MSG
Our approach proposes a way for improving PMG mechanism in situations that SPITters change their
identities. Our algorithm is composed of two modules, gray level based on call rate and gray level based on
identity. Block diagram of proposed mechanism is shown in Fig 1.The modules adapt together for detecting
SPITters. Computation in first module is the same as PMG mechanism. In the second module, we used IP
addresses with identifiers and also domain names for detecting bad calls. We assigneda weight to SPIT source
based on suspicious situations.Authors in [7] suppose three suspicious situations:

Different usernames are associated with the same domain and IP address: This event is suspicious, but it
is also typical of enterprise traffic where proxies are used. The score assigned to this event (A) should be
low.
Different IP addresses are associated to the same SIP identity: This event is suspicious, but it is also
typical for mobile users that change IP address while moving. The medium score (B) should be assigned
to this event.
Different domains are associated to the same IP address: This is the most unlikely event for the good
traffic, so the assigned base score (C) should be high.
Base score relation is computed based on the following formula. ni is number of event repetitions in past calls.

(10)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

101

2 ndInternational Symposium on Computing in Science & Engineering

Gray level based


on call identity

OR

Data base

Gray level based


on call rate

Decision

Norm
SPIT

MSG mechanism

Fig. 1. Block diagram of proposed mechanism (MSG)

Scenario and Results


For evaluation of our proposed algorithm, we simulatedit as follows. Our simulation is composed of two parts.
One part is traffic generation and another is score computation and decision about passing or blocking call. This
program is written by c# and use SQL Server database.

Traffic Generation Parameters


We selected parameters like [7]. Table 2 and Table 3are summarized the main parameters.
Table 3. Time distributions types
Traffic

Time distribution type

Normal

Poisson

Malicious

Regular, Random, Gaussian


Table 2. Traffic parameters

field

Type

Range

Time of arrival

Double

0-1000000

User identifier

Int

1-9600(good),9601-19200(bad)

User domain

Int

1-204(good),205-408(bad)

IP address

Int

1-9669(good),9670-19338(bad)

Flag

String

good(normal), bad(bad)

In this simulation, we used 200,600 and 3000 calls from malicious users and compare PMG and MSG.
3.1 Scenarios
In generated traffic, we assumed that the SPITter has some valid accounts for spoofing. In these scenarios, the
number of IDs which SPITter uses called spoofed account and detection rate and false detection rate curves for
each scenario areshown.
3.2.2
First Scenario
In scenario 1, spoofed count is variable and call rate is constant and time duration of simulation is 200
seconds. Call rate setsto 1 cps. We analyzed the behavior of our algorithm in three suspicious

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

102

2 ndInternational Symposium on Computing in Science & Engineering

situations(position1,2and 3). In position 1 we assumed that SPITter from one system sends SPIT to network. He
uses multiple usernames for identity hiding and also normal users can lie in this situation. In position 2, we
assumed that SPITter with one account from multiple systems sends SPIT. Normal users can lie in this situation.
In position 3, user sends SPIT with one identifier from different domains. Calls from these kinds of users have
high SPIT Probabilities. In position 1 and 2, MSG acts as PMG but our proposed algorithm is successful in
position 3 while PMG does not detect SPIT effectively. Detection rate and false alarm rate of MSG is shown in
Fig 2. This curve is composed from detection rate of PMG module and detection rate of identity module.
1,000
DR,FAR

,800
,600
,400

DR

,200

FAR

,000
2,0 32,0 62,0 92,0 122,0 152,0 182,0
Spoofed Count

Fig. 2. Detectionand false detection rate vs. the number of IDs which SPITter uses (spoofed count)in Rate=1 and position=3

3.2.3
Second Scenario
In scenario 2, time duration of simulation is 200 second and rate increases to10 cps. With call rate increasing,
SPIT detection in PMG mechanism is attenuated at higher spoofed count but SPIT detection in MSG rises after
falling. DR and FAR curves is shown in Fig 3.
1,000

DR,FAR

,800
,600
DR

,400

FAR

,200
,000
2,0

32,0 62,0 92,0 122,0 152,0 182,0


Spoofed Count

Fig. 3. Detection and false detection rate vs. the number of IDs which SPITter use (spoofed count)in Rate=10 and position=3

3.2.4
Third Scenario
In scenario 3 we increases call rate from user and study algorithm in larger range of time. In this scenario, time
of simulation and number of bad calls are 600 seconds. In this duration, traffic generation program also generates
normal calls. DR and FAR curves is shown in Fig 4.
1,200
DR,FAR

1,000
,800
,600

DR

,400

FAR

,200
,000
2,0 32,0 62,0 92,0 122,0 152,0 182,0
Spoofed Count

Fig. 4. Detection and false detection rate vs. the number of IDs which SPITter use (spoofed count)in Rate=1 and position=3

3.2.5
Fourth Scenario
In scenario 4, we increase call rate to 10 calls per second with latter range of simulation (600 seconds). As it
can be seen in the Fig. 5, our proposed algorithm works well. Detection rate is improved and its gap is smaller.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

103

DR,FAR

2 ndInternational Symposium on Computing in Science & Engineering

1,200
1,000
,800
,600
,400
,200
,000

DR
FAR
2,0 32,0 62,0 92,0 122,0152,0182,0
spoofed count

Fig. 5. Detection and false detection rate vs. the number of IDs which SPITter use (spoofed count)in Rate=10 and position=3

DR,FAR

3.2.6
Fifth Scenario
In scenario 5 we increases calls from user and study algorithm in larger range of time. In this scenario, time of
simulation is 3000 second and call rate is 1 cps. DR and FAR curves is shown in Fig 6.In comparison fourth
scenario, Detection rate is improved in higher rate.
1,200
1,000
,800
,600
,400
,200
,000

DR
FAR
2,0 32,0 62,0 92,0 122,0152,0182,0
spoofed count

Fig. 6. Detection and false detection rate vs. the number of IDs which SPITter use (spoofed count)in Rate=1 and position=3

3.2.7
Sixth Scenario
In this scenario, time of simulation increased to 3000 seconds. In scenario 6 we increased call rate to 10 cps.
According fig.7, MSG can detect SPIT effectively.
3500,0

TP

2800,0
2100,0

MSG

1400,0

PMG

700,0
BS

,0
2,0 32,0 62,0 92,0 122,0152,0182,0
spoofed count

Fig. 7.Comparison between PMG, Base Score (identity module) and our Proposed Algorithm (MSG)

Conclusion
MSG in different range of simulation has same behavior and detects and blocks SPIT nicety but with rate
increasing, MSG works better. Good behavior of MSG at higher spoofed counts is owing to identity gray level
module and SPIT detection at lower spoofed counts is owing to PMG mechanism.SPIT Blocking is collection of
blocking in call rate module and blocking in identity module. False detection in scenarios is very low and can be
ignored.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

104

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.
3.
4.

Salehin, S. M. A. and Ventura,N. (2007). Blocking Unsolicited Voice Calls Using Decoys for the IMS,In IEEE
Communications Society Conference, 2007, pp.1961-1966
Bower, D., Harnett, D., Long, j., Edwards, C. (2008). The State of Spam, Symentec Monthly Technical Report,
March 2008, online document: http://eval.symantec.com/mktginfo/enterprise/other_resources/SpamReport_March08.pdf
Quittek, J.Niccolini,S. Tartarelli, S. and Schlegel, R. (2006).Prevention of Spam over IP Telephony (SPIT),NEC
Technical Journal, vol. 1, pp. 114-119.
Waiting,D. Ventura,N. (2007). The Threat of Unsolicited Sessions in the 3GPP IP Multimedia Subsystem.In IEEE
Communications Magazine, 2007.

5.

Safaei Kochaksaraei, F. and Akbari,A. (2010). SPIT consequences and necessity of using anti-SPIT mechanisms in
VoIP.In Infortmation Technology Conferece. IRAN, Accepted to be published.

6.

Dongwook Shin; Ahn, J.; Choon Shim; (2006), "Progressive multi gray-leveling: a voice spam protection algorithm," Network,
IEEE , vol.20, no.5, pp.18-24, Sept.-Oct. 2006
Menna, F. (2007). SPAM Over Internet Telephony Prevention Systems: Design and Enhancements with a Simulative Approach,
PhD Thesis, degli Studi University, Italy, 2007

7.

Biographies
Fateme Safaei Kochaksaraei Fateme Safaei Kochaksaraei received the B.Sc. degree from Iran University of Science and
Technology (IUST), Tehran, Iran, in 2004, and the M.Sc. degree from Science and Research Branch of Islamic Azad
University, Tehran, Iran in 2011, all in computer engineering.Currently, she is responsible of network security of
Mazandaran Telecommunication Company, Babol, Iran. Her research interests are network security and data communication.
Hassan Asgharian Hassan Asgharian received his M.Sc. in Computer Engineering from Amirkabir University of
Technology (AUT) in 2009 and He also has got his B.Sc. from Computer Engineering Department of Iran University of
Science and Technology (IUST) in 2006. Currently he is a PhD candidate in computer engineering in IUST and working as a
research assistant in the Network Research Group (NRG) of the Research Center of Information Technology (RCIT) of
Computer Engineering Department in Iran University of Science and Technology.
Dr. Ahmad Akbari Ahmad Akbari received his Ph.D. in Electrical Engineering from theUniversity of Rennes 1, Rennes,
France, in 1995. Dr. Akbari is currently an associate professor at Iran University of Science and Technology, Iran. Dr. Akbari
works on Speech Processing related research topics (especially speech enhancement) for more than 20 years. His current
research interests include Intrusion Detection and Response Systems, VoIP Communications, Next Generation Networks,
VoIP and SIP Security and also Data Communications Networks. Dr. Akbaris work has appeared in several peer-reviewed
journals and conference proceedings.
Razmara Zakerifar Razmara Zakerifar received the B.Sc. and M.Sc. degrees from Iran University of Science and
Technology (IUST), Tehran, Iran, in 2003, and 2008, respectively, allin electrical engineering.Currently, he is working in
Mazandaran regional electric company.His research interests include power system planning, control and optimization.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

105

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/27

Prediction of Warp-Weft Densities in Textile Fabrics


by Image Processing
Kazm YILDIZ1, Volkan Yusuf ENYREK2, Zehra YILDIZ3
1,2

Department of Electronic-Computer Education, Marmara University, 34722 Kadky, stanbul, Turkey


3
Department of Textile Education, Marmara University, 34722 Kadky, stanbul, Turkey
1
kazim.yildiz@marmara.edu.tr, 2vysenyurek@marmara.edu.tr, 3zehra.yildiz@marmara.edu.tr

Abstract.A warp-weft density prediction system was designed by using image processing from a given
textile fabric image. In the experimental process, 10 different woven fabric image were scanned at a high
resolution then these images were transferred to the MATLAB program. By using the vertical and horizontal
frequencies of the textile image, the FFR analyze were carried out. Consequently with 94% accuracy, the
densities were predicted only by using the images instead of counting them by hand.

Keywords: textile fabrics, warp weft densities, image processing

1 Introduction
Warp and weft densities in woven fabrics are very important parameters on behalf of making textile
production measurements. Determination of weft and warp densities in textile woven fabric depends on the
principle of analyzing the vertical and horizontal frequencies from a textile image. Counting these parameters is
generally made by hand with the help of a loupe. So the exact density can change person to person. This paper
presents a warp-weft density prediction system from a given textile image. In order to prevent the individual
errors we used image processing technique to determine the exact weft-warp densities. For the system design 10
different textile fabrics were scanned in 1200 dpi resolution and then transformed to the MATLAB programme.
The FFR analyze was performed from the vertical and horizontal frequencies of textile image. The results show
that weft-warp densities can be determined just by using its image with the 94% accuracy.

2 Literature Review
Image processing techniques are widely used in textile sector specificly to detect structural defects. For
instance a detection algorithm which employs simple statistical features (mean, variance, median) was developed
in order to detect textile fabric defects [1]. A system that detects a linear pattern in preprocessed images via
model-based clustering was composed [2]. The digital image correlation technique was used to assess macroscale textile deformations during biaxial tensile and shear tests in order to verify the loading homogeneity and
the correspondence between the textile and rig deformation [3]. Tow geometry parameters are measured with
the help of microscopy and image processing techniques in order to determine tow deformations in a textile
preform subjected to forming forces and the influence of these tow deformations on composite laminate
properties [4]. In another research an automated searching system based on color image processing system was
improved for the forensic fiber investigations, in order to determine the connection between the crime scene and
the textile material [5]. An automated visual inspection (AVI) system was design for real time foreign fibers
detection in lint by using image processing techniques [6].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

106

2 ndInternational Symposium on Computing in Science & Engineering

3 Image Processing
Images can be treated as two-dimensional data, and many of signal processing approaches can be directly
applied to image data. An image is always represents in one, or more, two dimensional arrays I(m,n). Each
element of the variableI represents a single picture element, or pixel. The most convenient indexing protocol
follows the traditional matrix notation, with the horizontal pixel locations indexed left to right by second integer
nand the vertical locations indexed top to bottom by the first integerm (Fig. 1a). Another indexing protocol
accepts non-integer indexes. In this protocol, termed spatial coordinates, the pixel is considered to be a square
patch, the center of which has an integer value. In the default coordinate system, the center of the upper lefthand pixel still has a reference of (1,1), but the upper left-hand corner of this pixel has coordinates of (0.5,0.5)
(Fig. 1b) [7].

Fig. 1.a)Pixel coordinate system b) Spatial coordinate system


Frequency content of the waveform provides more useful information than the time domain representation.
Determining of the frequency content of a waveform is termed spectral analysis. Fourier transform (FT) method
is the most straightforward spectral analysis techniques. The Fourier transform approach takes advantage of the
fact that sinusoids contain energy at only one frequency. The two-dimensional version of the Fourier transform
can be applied to images providing a spectral analysis of the image content. It can be a very useful analysis tool
for describing the content of an image. When applied to image, the spatial directions are equivalent to the time
variable in the one dimensional Fourier transform, and this analogous spatial frequency is given in term of
cycles/unit length (i.e., cycles/cm or cycles/inc)[8].
The two-dimensional Fourier transform in continuous form is given by:

(1)
The variables

and

frequency variables, they define spatial frequency and their units are in radians per

sample. F(w1,w2) is a complex-valued function that is periodic in both

and

The discrete form of Esq. (1) is similar to their time domain analogs. For an image size of M by N, the discrete
Fourier transform (DFT) becomes:

(2)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

107

2 ndInternational Symposium on Computing in Science & Engineering

A simple square object (30 pixels by 30 pixels) is constructed. The resultant spatial frequency function is
plotted both as a three-dimensional function and as intensity images (Figure 2-4).

Fig. 2 The square image object

100

Magnetute

80
60
40
20
0
100
50
Vertical frequency

20

60

40

80

100

120

Horizontal frequency

Vertical frequency

Fig. 3 Fourier transform of the square object in figure 2 plotted as a function.

Horizontal Frequency

Fig. 4 Fourier transform of the square object in figure 2 plotted as an image.

4 Methods
This paper presents a new approach for processing images of woven fabrics to determine the warp-weft
densities. This approach includes three main steps, namely, image transformation, image enhancement, and

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

108

2 ndInternational Symposium on Computing in Science & Engineering

analyzing signals of the image. In the first step, 10 different woven fabrics were scanned in 1200 dpi resolution
and then transformed into gray-scale images in MATLAB programme In the second step, the contrast was
enhanced and then applied to the highpass filter. Thus the undesirable lower frequencies components were
eliminated. As filter the FIR filter from twentieth degree was used. Thirdly, the FFT analyze was carried out by
getting horizontal signals from 400 different rows of the images. The average value of these signals give us the
horizontal frequency components of the image. The same process was applied on the vertical direction of the
image to determine the vertical frequency components. The images of the cotton print fabric without any process
and after preprocessing can be seen in figure 5.

Fig. 5 (a) The raw fabric (b) The fabric after preprocessing

5 Findings & Conclusion


In conclusion, as can be seen from figure 2, the highest frequency values for both vertical and horizontal
directions are giving us the exact value of warp and weft densities.
4

x 10

3.5
3
2.5
2
1.5
1
0.5
0
0

10

20

30

40

50
60
Frequency (Hz)

70

80

90

100

Fig. 6 The average horizontal and vertical frequency spectrum of the image cotton print fabric

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

109

2 ndInternational Symposium on Computing in Science & Engineering

Table 9. Real and Predicted Values of Warp-Weft Densities in Different Fabric Types
Actual Value
Warp

Fabric Types
Printed Cotton
Batiste
Denim
Canvas
Cashmere
Madras
Damask
Georgette
Cloth
Velvet

38
44
38
32
47
50
34
28
26
26

Predicted Value

Weft
30
29
30
21
35
36
26
26
22
23

Warp
39.5
45.11
37.3
30.8
0
47.61
31.8
30
25.5
0

Weft
30.9
26.74
27.9
21.1
0
32.59
24.57
23.7
20
0

Some real and predicted values of weft-warp densities belong to 10 different fabric type can be seen from
table 1. It can be concluded that the designed image processing system can predict the densities with 94%
accuracy. As can be seen from table 1 the cashmere and velvet fabrics predicted values is very different from
the real densities. This result indicates that the fabrics having feathery surfaces cannot be applied in this image
processing system, because the feathers prevent the accurate measurement of the frequencies.

References
1. Abouelela, A.; Abbas H.M.; Eldeeb, H.; Wahdan, A.A.; and Nassar, S.M. (2005). Automated vision system for
localizing structural defects in textile fabrics. Pattern Recognition Letters 26(10):1435-1443
2. Jampbell, J.G.; Fraley, C.; Murtagh, F.; and Raftery, A.E. (1997). Linear flow detection in woven fabrics using
model based-clustering. Pattern Recognition Letters 18: 1539-1548
3. Willems, A.; Lomov, S.V.; Verpoest, I.; and Vandepitte, D. (2009). Drape-ability characterization of textile
composite reinforcements using digital image correlation. Optics and Laser in Engineering 47(3-4): 343-351
4. Potluri, P.; Parlak, I.; Ramgulam, R.; and Sagar, T.V. (2006) Analysis of tow deformations in textile performs
subjected to forming forces. Composites Science and Technology 66(2): 297-305.
5. Paulsson, P. and Stocklassa, B. (1999). A real-time color image processing system for forensic fiber investigations.
Forensic Science International 103(1): 37-59
6. Yang, W.; Li, L.; Zhu, L.; Kang, Y.; and Li, F. (2009). A new approach for image processing in foreign fiber
detection. Computers and Electronics in Agriculture 68(1): 68-77
7. Semmlow, J.L. (2004). Biosignal and Biomedical Image Processing. New York: Marcel Decker Inc.
8. Gonzales, R. and Woods, R. (1992). Digital Imae Processing. Reading, Mass,USA: Addison-Wesley.

Biographies
Kazm YILDIZ Kazm YILDIZ was born in stanbul, in 1985. He was graduated from Marmara University, Technical
Education Faculty, Computer and Control Teaching in stanbul, Turkey, in 2007. He has been working at the Electronic
Computer department as a research assistant since March 2009. He received M.Sc. degrees from Marmara University
Institutefor Graduate Studies in Pure and Applied Sciences, in 2011. He is now in PhD. His field of interests are high
dimensional data mining, dimension reduction, neural network.
Volkan Yusuf ENYREK Volkan Yusuf enyrek was born in 1979 in stanbul, Turkey. He received the B.Sc. degree
from Marmara University, Technical EducationFaculty Electronics and Computer Education Department. He received M.Sc.
degrees from Marmara University Institutefor Graduate Studies in Pure and Applied Sciences, in 2007. He has been an
research assistant with the Electronics and Computer Education Department since2004. His research interests focus on fiber
sensors and signal processing.
Zehra YILDIZ Zehra YILDIZ was born in Ankara, in 1986. She was graduated from Marmara University, Technical
Education Faculty, Textile Department in Istanbul, Turkey, in 2008. She has been working at the same faculty and
department as a research assistant since March 2009. She is now in MSc thesis work. Her master thesis is about
electromagnetic shielding effectiveness of textile composites. Her major field of studies are conductive polymers, nano
textile particles, nano composites.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

110

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/30

Software Automated Testing: Best Technique for


Preventing Defects
Maryam Haghshenas 1, Khadijeh Yousefpour Jeddi 2
1,2

Islamic Azad University /Science & Research Branch /Tehran /Iran


1
m.haghshenas@srbiau.ac.ir, 2 kh.yousefpour@gmail.com

Abstract.Complexity and extent of computer software is constantly growing. Each software product has
specific audiences.Thus, when an enterprise is written or bought a software product, logically they should
ensure that software product is acceptable or not for users, audience, customers and other stakeholders.
Software testing process efforts for such evaluation and process an application test for detection of errors and
ensure to meet customer's demand and hardware compatible with software or No. Automated software testing
can increase developers time to focus on anther aspects and improve software errors effectively. In addition,
automated software testing can be run and repeat any times and the previous tests can be re-used again. Thus,
this increase software reliability and decrease the testing time. In this paper attempts to define some
parameters of the software test and propose a method which combines accelerated automated tests for the
study of software regression and memory overflow.

Keywords: Software automated testing, Memory overflow, regression test, Mean time to overflow

1 Introduction
Software testing process that identifies the quality of computer software. Software testing process, including
implementing a program to evaluate the software bugs, but not limited to it. With this thought, testing can never
completely correct computer software to prove. One important point is that software testing, should be different
opinions to be quality assurance software, with all areas of business process is ac-companied not only the test
areas.
A software failure occurs through the following processes. When the programmer to do an error that led to
failure in the software source code and compile and run the error, in certain situations the system will produce
incorrect results that can lead to failure. Not all errors will not lead to failure. For example, an error code will not
run ever. Will never lead to failure. But if the error code to change the software environ-ment or changes in
source data or interacting with different software. Will lead to failure.

1.2 Test Principles


Software engineer before applying methods on effective test cases, the basic principles that should test drive the
software, they will understand, "Davis" suggest a set of principles that they will use here:
Testing should begin long before the test is planned. Test plan can be completed as soon as the models started
to be asked. Detailed definition of test cases can be integrated once the model begins. Therefore, all tests can be
produced before any code, planning and design on

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

111

2 ndInternational Symposium on Computing in Science & Engineering

The principle of "Pareto" in software testing is true simply. The principle of "Pareto" states that 80 percent of
all errors discovered during testing, probably "20 percent of all program components are detectable. Issue,
isolated components testing of suspects and complete them.
Testing should be started on a small scale and expand to larger dimensions. The first tests on each of the
components are doing. Achievement test, a series of errors and then integrated component of the whole system
can be found.
Complete testing is not possible. Number of possible paths for the average program is more. Therefore, the
implementation of any combination of routes is not possible. But it is possible that the level of adequacy of
programs cover.
In order to test the efficiency is highest, must be by an impartial third party to be done. To the highest
efficiency is more likely that the errors found. Because software engineer who has developed the system, not the
best person should do all the tests.
Reliability testing software, helps software developers using the operational reliability with the aim profile
(profile of the system), to implement the tests [3].
The most important innovation in providing this technique is increasing rapidly. in order to reduce development
time and costs, various failures in the systems, In this article, regression test, and memory overflow method
is presented with implementation and evaluation aimed to simultaneously reduce costs and increase reliability
of testing software[5].

2 Literature Review
Software testing is an activity will diagnose the potential non-compliance and failure in different phases of the
construction of the software product, especially in this implementation is correct and reliable software (v & v)7,
and plays a major role.
To access the software validity, some of the codes and standards of software as a key component are used to
justify the behavior and performance of distributed systems. For example, International Standard ISO 9126, is a
model to increase the quality of software products, so that in order to optimize the product defines customer
satisfaction as well as IEEE1012 standard for software verification and validation, are created the
common framework for all activities And tasks during the software life cycle processes [7], [8].
Activity verification and validation software allows reducing the production costs and simultaneously to
increase the reliability of the software. Testing software design and other engineering products, as the
initial product design is Difficult. Any engineering product can be tested in two ways:
1) Knowing the specific function that the software is designed to do, we can design tests
that show every performance is completely true or not.
2) Knowing how to work to with internal product and process programming, we can design tests that show that
the process of implementing software to perform or not.
The first method to test the black box and the latter is called white box testing. In recent
years, an intermediate approach has also been
noted that when
the greater
access to
some internal components of the software is
used there. This method is
called gray
box testing. In this
paper, based black box testing method is presented. We describe details of these testing methods in this section:
1. Black box testing: This type of software testing as a black box approach is that no understanding of the
internal behavior does not exist. Its purpose software performance testing in accordance with requirements to see
to what extent the above mentioned requirements are met. Test designers select valid and invalid test inputs and
choose right outputs and no knowledge of the internal structure of the object is not available. This method of test

7 Verification and Validation

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

112

2 ndInternational Symposium on Computing in Science & Engineering

design in all phases of software testing can be used. Black Box Testing cannot use instead of White box testing
.It rather a complementary approach that a different class of errors than the white box methods covers [1],[2].
2. White box testing: The user may test the internal data structures and algorithms, and code is available. For
example, designers can test the design of tests that causes the program to all statements are executed at least
once.[1]
White box testing techniques allows software team to evaluate system parts that use less and ensure that very
important performance parts are tested. Another advantage is that white box testing to optimize the code, and
also helps to erase the extra lines of code. This may lead to additional lines of hidden errors. White box testing
have disadvantages, including items: this method need the knowledge and skills because of the internal structure
of code requires a skilled tester is needed to do this type of test that will increase costs and evaluate every piece
of code search and hidden errors Getting around is almost impossible and may lead to problems that are causing
application failure.
3. Gray box testing: In recent years the gray box testing was added to routine use. Which means having access to
internal data structures and algorithms for designing the test cases that we can and we are on the side or at the
level of user to use black box testing.

3 Methods
After changing Software whether improving operation or debugging an error, a regression test can be
performed all of tests that software passed successfully before again. The regression test will be sure that last
improving software not to create any new fault. At the same time, during the proposed method test, a regression
test can be performed.
Several well-known methodologies for testing general purpose software exist in literature [12].
Such techniques follow a structural or a functional approach, also identified as the white-box and the blackbox approach respectively. The proposed methodology can be classified as a black-box approach, where the
software under test has to be verified with a suitable studied set of inputs whose expected outputs are known
only on the basis of the functional specifications. In addition to the black-box approach, we propose a test
method with test sets well representative of the field behavior of the system, according to the block diagram
shown in Fig. 1. One can observe that test parameters and field data statistical distribution are inputs;
Test results, expected results, MTOF8 and final results are outputs. The software under test is the
object of the analysis and test cases generation, test cases execution, input data elaboration"," memory
occupied monitoring and comparison are activities.
The software testing approach is based on a dynamic pseudorandom generation which mixed the preliminary
test parameters, which ones came from test results, and the statistical distribution of field data [10].

8Mean

Time to Overflow

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

113

2 ndInternational Symposium on Computing in Science & Engineering

FIELD DATA
STATISTICAL
DISTRIBUTION

TEST
PARAMETERS

COMPARISON

TEST CASES
GENERATION

INPUT DATA
ELABORATION

FINAL
RESULTS

TEST CASES
EXECUTION

EXPECTED
RESULTS

TEST
RESULTS

MEMORY
OCCUPIED
MONITORING

SOFTWARE
UNDER TEST

SEQUENCES ITERATION

MTOF

Fig.1. Block diagram of test method.

Test case generator creates quite unlimited sequences that can be iterated on the software under test. Both the
inputs and the outputs can be txt file with dimension of about 100 KB. The test results, represented by the output
of the software under test, are compared with the expected results obtained from the test cases, at the end of the
testing phase; final results allow information to be deduced about the quality in use of the software under test and
new data for dynamic test case generation. Detailed steps concerning the comparison between obtained and
expected results are shown in Fig. 2. If no differences between obtained and expected values are present, the test
is stopped; vice versa, a fault has to be tracked and the software has to come back to the development team in
order to be analyzed and correct the bug; successively the test has to be carried out again. There is also the
possibility of locating unclear values, such as ambiguities that have to be solved manually by repeating
ambiguous sequences.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

114

2 ndInternational Symposium on Computing in Science & Engineering

Input Data
Elaboration

Automated Tests
Suite

Expected Results

Test Results

Results Comparison

End Test

Faults
Tracking

Manually report of
ambiguous
sequences
CORRECT

SW Development
NOT
CORRECR

Fig.2. Automated Software testing process realized.

The key-step introduced in the proposed method (Fig.1), that allows important information to be obtained, is
the simultaneous evaluation of the occupied memory of the system during the execution of the automated tests.In
Fig. 1 this step is denoted as memory occupied monitor.
Through the memory occupied monitor step lists of processes, the potential memory overflow can be
diagnosed through the following parameters: [6]
Private bytes: this parameter displays the number of bytes reserved exclusively for a specific process.
Working set: represents the current size of the memory area used by the process for tails, threads, and date.
The dimension of the working set grows and decreases as the VMM9 can permit. Since it shows the memory that
the process has allocated and reallocated during its life, when the working set is too large and doesn't decrease
correctly it usually indicate a memory leak [4].
It is useful, therefore, to introduce the parameter MTOF defined as:

(11)

Where Memsize denotes the available memory size and m represents the mean increase of memory occupation
in an established time interval. According to the value of m, evaluated in KB per day, hour or sequence, we can
explain the MTOF in number of days, hours or sequence to the breakdown of the memory resources and,
9Virtual

Memory Manager

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

115

2 ndInternational Symposium on Computing in Science & Engineering

therefore, to the collapse of the system (system fail stop). For a complex system where independent memories
are involved for the operating functions, Eq. (1)can be modified and the System Mean Time to Overflow is
defined as:

(2)

MTOF being an index able to evaluate the software crash, it can be considered a parameter to estimate the
software reliability and, as consequence, to plan the correct system update and the quality in use according to
ISO/IEC standard 9126[11].
As an additional advantage, the proposed approach allows the change of the stress level so testing the software
to a high stress level in the smallest test time. This can lead to faults not detected with low stress levels
increasing the test plan coverage. For example, in 15 working days we can realize 12.600 test cycles (35 test
sequences/h) if we implement accelerated automated tests, instead of 5.040 cycles (14 tests sequences/h as
suggested from field data) with no accelerated tests and 600 cycles (~5 test sequences/h) with manual tests. Such
considerations are summarized in Table 1, where automated tests are compared to the traditional one (manual
testing) [9].

Table .1.Test Sequences Implemented vs. Test Methods

40

Automated
tests
336

Accelerated
automated tests
840

168

280

2.352

5.880

360

600

5.040

12.600

Days

Man-hours

Machine- hours

Manual test

24

56

15

120

4 Conclusion
The proposed approach of dynamic software automated testing showed the importance of accelerated
automated tests for the software debug and validation in a short time interval, before product distribution, with
the aim of increasing quality in use and reliability.
The application presented in this paper is able to stimulate the software under test with an established stress
level, comparable in the sequence operations to the real use but accelerated four times compared to the manual
tests. Information concerning the memory leaks and fault regression of the new software versions with respect to
the old one can be deduced, as the experimental results proved.
The proposed method represents a fundamental parameter that allows the system crash to be estimated due to
an overflow. At the same time, it will allow the estimation of the software availability in order to plan an
effective maintenance operation plan, voted to induce not only an increase of software quality in use and
customer satisfaction but also a decrease of maintenance costs.
Furthermore, the benefits of such approach based on accelerated automatic testing compared with the
traditional one (manual testing) can be reached both at a lower cost and a decrease of the testing time of the
software verification and validation. In addition, the possibility of replicating old test sequences on new future
versions (with no testing cost) can also be considered an important benefit from the industrial point of view.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

116

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.
3.
4.
5.

[Ham04] Paul Hamill, Unit Test Frameworks, O'Reilly, 2004.Baker, P.R. (1978). Biogas for Cooking Stoves.
London: Chapman and Hall.
[Chu05] HueyDer Chu, John E Dobson and IChiang Liu, FAST: A Framework for
Automating Statistics
based Testing, 2005.
ReliabilityAnalysisCenter, Introduction to Software Reliability: A State of the Art
Review, Reliability Analysis Center (RAC), 1996.
J.D.Musa.(1997).Introduction to software reliability engineering and testing. In Proceedings ofThe 8th
International Symposium on Software Reliability Engineering, 1997.
A. Birolini, Reliability Engineering-Theory and Practice, Springer-Verlag3-54040287-X 2004.

6.

Y. Wiseman, J. Isaacson, E. Lubovsky.(2008).Eliminating the threat of kernel stack


Overflows, IEEE IRI 2008, July 1315, 2008, Las Vegas, Nevada, USA.

7.

ISO/IEC 9126: Information technology-software product evaluation-quality


Characteristics and guidelines for their use, 2001.

8.

ANSI / IEEE Std. 1012, IEEE Standard for Software Verification and Validation
Plans, 1986.

9.

E. Diaz, J. Tuya, R. Blanco.(2003).Automated software testing using a met heuristic


Technique based on tabu search.In Proceedings of 18th IEEE International
Conference on Automated Software Engineering, 2003, pp. 310313.

10. M. Rinard, C. Cadar, D. Dumitran, D.M. Roy, T. Leu.(2004).A dynamic technique forEliminating buffer overflow
vulnerabilities (and other memory errors), In ProceedingsOf the 20th Annual Computer Security Applications
Conference, Tucson,
Arizona, USA, December 6-10 2004.
11. H. Gne Kayack, A. Nur Zincir-Heywood, M. Heywood.(2005).Evolving successful stack Overflow attacks for
vulnerability testing. In Proceedings of the 21st Annual Computer Security Applications Conference
12. H. Freeman. (2002) Software testing, IEEE Instrumentation & Measurement Magazine 5 (3): 4850.

Biographies
Maryam Haghshenas is born in Bijar on 1985 and has earnedB.Sc.degree in Computer Hardware engineering from Islamic
AzadUniversity,Tehran south branch in Tehran, Iran on 2007 and is M.Sc. degree student in IT management at Islamic Azad
University, Science &Research branch in Tehran, Iran.
She has published Information technology security & service management system in Information Society of Iran journal
on July 2010.and Comparison of protocols in Underwater Wireless Sensor Networks 4 th, Iran Society of commands control
communication computers intelligence, at Sharif University, Nov 2010.She is interested in computer Science & E-learning&
Indexing on components and Software Testing and IT System management.
Ms. Haghshenas is a member of Young Researchers Club at Islamic Azad University, Tehran south branch and also a
member of the Information Technology Management Association at Islamic Azad University, Science &Research Branch.
Khadijeh Yousefpour Jeddiis born in Tabriz on 1985 and has earned B.Sc. degree in Computer Software engineering from
Islamic Azad University, Shabestar branch on 2007 and is M.Sc. degree student in IT management at Islamic Azad
University, Science & Research branchin Tehran, Iran.
She is interested in Software Testing and Software Engineering
Ms. Yousefpour Jeddi is a member of the Information Technology Management Association at Islamic Azad University,
Science &Research Branch.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

117

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/31

Comparing Classification Accuracy of Supervised


Classification Methods Applied on
High-Resolution Satellite Images
Ayse Ozturk1, Mufit Cetin2
1,2

Yalova University, Kazm Karabekir Mah. Rahmi Ustel Cad. No:1


( Ataturk Stadyumu Kars),Yalova, Turkey
1
aozturk@yalova.edu.tr, 2 mcetin@yalova.edu.tr

Abstract:Classification of satellite imagery is very useful to obtain results about land-use spatial data
collection. While unsupervised classification is easy to apply on satellite images, supervised classification
methods give better results for accuracy. In this study, a traditional supervised classification method called
Maximum Likelihood Classifier(MLC) and a newer one called Support Vector Machines(SVM) approach are
compared It is clear that SVM is superior with better accuracy compared to MLC which is a common method
based on probabilities. Results showthat SVM is a good candidate for high resolution satellite image
classification works although its application on remote sensing is a pretty new topic.

Keywords: high resolution satellite image, supervised classification, accuracy

1 Introduction
In recent years, by the help of high resolution satellite images, more details about the spatial features of land
covers could be reached[1]. In literature, many techniques for the classification of high resolution remotely
sensed images are reported[2][3][4][5]. However, classification results of existing methods in the literature
indicate that there is no best classifier yet. While unsupervised classification means grouping the pixels with
similar spectral features into clusters according to some criteria without a training data, supervised classification
means classifying pixels into classes by help of training and test data. It is already known that supervised
classification gives much better results on satellite imagery; thus, in this study, supervised methods are preferred
for classification.The accuracy of remotely-sensed image classification is strongly connected to distinguisability
of spectral features and capability of the classifier to differentiate the features. While some features are easy to
separate, some are hard to discriminate because of similarity. Therefore, the success of a method which is
accuracy in this work will depend on each individual class separability as well as type of the applied
classification [6].

1.1 Supervised Classification:


Supervised classification means classifying objects into classes by help of training data. The term
supervised comes from educating the classifier to classify which part goes to which class by giving instances of
each class prior to classification. In supervised training, pixels are selected based on spectral features and
patterns. Additionally, auxilliary sources such as aerial photos and maps may be used in decision process[7]. In

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

118

2 ndInternational Symposium on Computing in Science & Engineering

this study, Maximum Likelihood and Support Vector Machines algorithms are used to classify the high
resolution satellite images.
1.1.1 Maximum Likelihood: Maximum Likelihood classifier is a common method used in the applications of
remote sensing as a parametric statistical method where supervision occurs by selecting sample areas. These
areas are then stored numerically for the algorithm to divide the image into the respective most probable spectral
classes. It is assumed that the distribution training data is Gaussian (normally distributed). The probability
density functions of each class are used to assign an undefined pixel into the class of highest probability [8].
1.1.2 Support Vector Machines (SVMs): Support Vector Machines classification method is another new
common supervised algorithm to classify satellite images. SVM is very good at generalization and so overcome
the problem of overfitting.SVM could provide better results than other widely used pattern recognition methods,
such as the maximum likelihood and neural network classifiers for accuracy considerations. Thus, SVM is very
attractive for the classification of remotely sensed data. The aim of the SVM algorithm is to find the optimal
separating hyperplane between classes by the help of the training samples. These training samples are called
support vectors and others are discarded. In this way, an optimal hyperplane can be fitted even with fewer
training samples with high classification accuracy [9].

2 Literature Review:
Maximum Likelihood classification is a very popular method and it is often applied on satellite imagery.
Maximum Likelihood method is based on statistical calculations and probabilities, and fuzzy logic is sometimes
applied together with the method. In a paper, MLC is used for discrimination among four spectrally similar
classes. Then, each class is hierarchically subdivided into subclasses with a fuzzy classifier[10].
Application of SVM on satellite image classification is a new trend, and its results are promising. SVM is
reported to be a good candidate for hyperspectral remote sensing classification because SVM method does not
suffer from high dimensionality problem[11]. Comparison of classifiers is very common in literature. Methods
are basically compared for accuracy and performance. Artificial Neural Network (ANN) method is yet another
powerful method for classification purposes and has comparable and sometimes better results than SVM method
for accuracy consideration [12]. ANN trained by back-propagation algorithm is reported to have good results as
well [13]. Decision Tree algorithm which is not used in this study, is a simple and easy to implement method for
classification. In a study, MLC is reported as the most stable method as compared to other methods like SVM
and Decision Tree approach; MLC is least affected by training phase and training set size. SVM has good
results, but supervision part of the classification dramatically affects overall accuracy [14]. If the size of dataset
is huge, it is not a big problem for SVM. Training and testing time might be long, but it is tolerable. However,
as dataset size is too small, unexpected results might be observed.

3 Methods:
The data is a subset of an image which is acquired on 2009-08-30 by Quickbird satellite.
Mainly satellite images are classified by two supervised methods respectively Maximum Likelihood and
Support Vector Machines.
Classification accuracy analysis is achieved with 100 sample points at least for each class by a stratified
random sampling method [15]. Same training and test areas are used for comparison purposes.
Separability measure is important in decision process for formation of classes. If the classes are too similar
spectrally, then the classes could be combined.
Confusion matrix provides valuable information about accuracy of each classification method. The success of
classifier on each individual class could be observed by using confusion matrix.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

119

2 ndInternational Symposium on Computing in Science & Engineering

Kappa statistics is another valuable information to decide about success of each method. The Kappa
coefficient is basically defined as the proportionate reduction in error generated by a classification process
compared with the error of a completely random classification [16]. It is reported that kappa values greater than
0.75 are considered to have a high degree of agreement beyond chance. Values below 0.40 have a low degree of
agreement and values between 0.40 and 0.75 represent a fair to good level of agreement beyond chance alone.

Figure 1 Study Area-QuickBird Combination of (3(Red),4(NIR),1(Blue)) bands

4 Results:
The image is divided into five classes respectively shadow, vegetation, road, building and bare land. Same
training and test areas are used for both of the supervised classification methods for comparing success of each
method on individual classes.
Color coding:
Five classes total.
red:building;
green: vegetation;
cyan:bare land;
white: shadow.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

120

2 ndInternational Symposium on Computing in Science & Engineering

4.1 Maximum Likelihood Classisification Results:

Figure 2: Results for Maximum Likelihood Classification

Maximum Likelihood Classification results are shown on the table above. As results indicate, some areas
which are mixed in each other are overwhelmed with the other one. MLC is good at finding vegetation and bare
land classes. MLC is better at finding vegetation than SVM method. However, results belonging to classes like
shadow, road and building are not very promising. Additionally, 71 Kappa statistics value (%) indicates that
there is a fair to good level of agreement beyond chance alone. Overall 77 % may be an acceptable result for a
supervised classification algorithm. However, some improvements are needed to provide better classification
accuracy.
Table 1: Confusion Matrix for Maximum Likelihood Classification
Bare

Producer

User

MLC (%)

Shadow

Vegetation

Road

Building

Land

Acc.

Acc.

Shadow

42.86

0.00

0.00

0.00

0.00

42.86

100.00

Vegetation

40.18

97.79

0.49

14.46

3.00

97.79

61.01

Road

6.25

0.00

81.28

9.64

6.00

81.28

81.68

Building

10.71

2.21

4.93

72.29

1.00

72.29

87.38

Bare Land

0.00

0.00

13.30

3.61

90.00

90.00

71.43

Overall classification accuracy(%) = 77; Overall Kappa statistics(%) = 71.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

121

2 ndInternational Symposium on Computing in Science & Engineering

4.2 Support Vector Machines Classification Results:

Figure 3: Results for Support Vector Machines Classification

Overall classification accuracy(%) = 84; Overall Kappa statistics(%) = 80.

SVMs are already known for their good generalization capacity. The biggest problem of generalization which
is called over-fitting is not observed in SVM results as the table above suggests. SVM classifier is better at
finding shadow, road and building classes than MLC. As the table suggests accuracy is improved for shadow
class, from 42,86% to 76,79%; for road class, from 81,29% to 84,73%; for building class, from 72,29% to 75,5%
and for bare land, from 90% to 98%. 84.25 % overall classification accuracy is a good result. Kappa value(%)
of 80 means that there is a high degree of agreement beyond chance. As compared to maximum likelihood
method, SVM is more preferable. As classification results indicate, SVM performed better overall classification
accuracy than maximum likelihood.

Table 2: Confusion Matrix for Support Vector Machines Classification


Bare

Producer

User

SVM (%)

Shadow

Vegetation

Road

Building

Land

Acc.

Acc.

Shadow

76.79

0.00

0.00

0.00

0.00

76.79

100.00

Vegetation

8.93

95.59

0.49

9.64

0.00

95.59

78.79

Road

10.71

2.21

84.73

14.46

2.00

84.73

76.44

Building

3.57

2.21

6.40

75.50

0.00

75.50

90.38

Bare Land

0.00

0.00

8.37

0.40

98.00

98.00

84.48

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

122

2 ndInternational Symposium on Computing in Science & Engineering

5. Conclusion
High resolution images provide detailed knowledge of spatial features. High classification accuracy could be
achieved with supervised classification methods. Accuracy values of Maximum Likelihood algorithm were
compared with those obtained using the statistical Support Vector Machines Algorithm. SVM is a powerful
technique for satellite image classification as results clearly indicate. Although SVM method required too much
time for training, it is worth trying because classification accuracy is high and statistics results are good. The
situation proves that SVM is preferable over maximum likelihood method.

References:
[1] J-T Hwang, H-C Chiang. (2009), The study of high resolution satellite image classification based on Support Vector
Machine In Proceedings of the 17th International Geoinformatics Conference. Fairfax, Virginia, United States, 12-14
August. Institute of Electrical and Electronics Engineers (IEEE )
[2] D. Tuia , F. Pacifici , M. Kanevski and W. J. Emery

Classification of very high spatial resolution imagery using

mathematical morphology and support vector machines, IEEE Trans. Geosci. Remote Sens., vol. 47, p.3866 , 2009.
[3] N. Thomas , C. Hendrix and R. G. Congalton A comparison of urban mapping methods using high-resolution digital
imagery, Photogramm. Eng. Remote Sens., vol. 69, p.963 , 2003.
[4] Mayunga, S. D. , Coleman, D. J. and Zhang, Y. (2007) A semi-automated approach for extraction buildings from
QuickBird imagery applied to informal settlement mapping. International Journal of Remote Sensing 28 , pp. 2343-2357
[5] Van Coillie, F. M. B. , Verbeke, L. P. C. and De Wulf, R. R. (2007) Feature selection by genetic algorithms in objectbased classification of IKONOS imagery for forest mapping in Flanders, Belgium. Remote Sensing of Environment 110 , pp.
476-487.
[6] J-F Mas. (2003), An Artificial Neural Networks Approach to Map Land Use/Cover using Landsat Imagery and Ancillary
Data, In Proceedings of the 23rd IGARSS Proceedings, Toulouse, France, 21-25 July. Institute of Electrical and Electronics
Engineers (IEEE )
[7] ERDAS Field Guide, Fifth Edition.
[8] M.R. Mustapha, H.S. Lim and M.Z. Mat Jafri Comparison of Neural Network and Maximum Likelihood Approaches in
Image Classification, Journal of Applied Sci., 10: 2847-2854.
[9] D. H. Nghi, L. C. Mai.(2008), An Object-Oriented Classification Techniques For High Resolution Satellite Imagery, In
Proceedings of the 4th GeoInformatics for Spatial-Infrastructure Development in Earth and Allied Sciences (GIS-IDEAS)
Conference. Hanoi, Vietnam, 4-6 December.
[10] A. K. Shackelford and C. H. Davis, A hierarchical fuzzy classification
approach for high-resolution multispectral data over urban areas, IEEE
Trans. Geosci. Remote Sens., vol. 4, no. 9, pp. 19201932, September. 2003.
[11] J.A. Gualtieri, R.F. Cromp. (1999) Support Vector Machines for Hyperspectral Remote Sensing Classification, , In
Proceedings of the 27th AIPR Workshop: Advances in Computer-Assisted Recognition. Washington, DC, USA,14 October.
SPIE.
[12] Y. Xiong, Z. Zhang, F. Chen. (2010), Comparison of Artificial Neural Network and Support Vector Machine Methods
for Urban Land Use/Cover Classifications from Remote Sensing Images, In Proceedings of the First International Conference
on Computer Application and System Modeling (ICCASM). Taiyuan, China, 22-24 October. Institute of Electrical and
Electronics Engineers (IEEE ).

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

123

2 ndInternational Symposium on Computing in Science & Engineering


[13] K.M. Buddhiraju and I.A. Rizvi. Comparison Of Cbf, Ann And Svm Classifiers For Object Based Classification Of
High Resolution Satellite Images, Centre of Studies in Resources Engineering, Indian Institute of Technology Bombay,
Mumbai 400076, INDIA.
[14] J.Guo, J.Zhang.(2008), Study on the Comparison of the Land Cover Classification for Multitemporal MODIS Images, In
Proceedings of the International Workshop on Earth Observation and Remote Sensing Applications. Beijing, China,30 June2 July. Institute of Electrical and Electronics Engineers (IEEE ).
[15] M. Cetin, N. Musaoglu, A. Tanik. Multitemporal Assessment of Land-Use Change in a Rapidly Urbanizing Coastal
Region in Turkey Using Remote Sensing, Environmental Engineering Science, vol. 25, pp.917-028, 2008.
[16] R. G. Congalton, A review of assessing the accuracy of classifications of remotely sensed data, Remote Sens. Environ.,
vol. 37, pp. 3546, 1991.

Acknowledgement:
We would like to acknowledge Tubitak for providing the data belonging to the project named as A Novel
Approach of Multi-Sensor Image Fusion Based on IHS Transformation. (project code: 110Y198)

Biographies:
Ayse Ozturk: Ayse Ozturk began her undergraduate study in Fatih University Computer Engineering Department in 2001
with a full scholarship. She graduated as a computer engineer in 2005. Her research areas are Machine Learning Algorithms
and Data Mining Applications.Ms.Ozturk is a member of local GAT (Young Researchers Group).

Mufit Cetin: In 1996, Mufit Cetin graduated from Yildiz Technical University, Faculty of Civil Engineering, Geodesy and
Photogrammetry Engineering Department. In 2001, he received his MS degree from Gebze Institute of Technology and in
2007, he got his PhD degree from Istanbul Technical University. His research areas are remote sensing and image
processing.Dr. Cetin has national and international publications.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

124

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/35

The Relationship between the Angle of Repose and


Shape Properties of Granular Materials
Using Image Analysis
Seracettin Arasan1, Engin Yener2
1

Civil Engineering Department, Ataturk University


Civil Engineering Department, Bayburt University
1
arasan@atauni.edu.tr, 2eyener@bayburt.edu.tr

Abstract. The importance of the shape of granular materials is well recognized due to their mechanical
behavior. Durability, workability, shear resistance, tensile strength, stiffness, and fatigue response of concrete
and asphalt concrete is heavily depend on the shape of aggregate particles. In recent years, image analysis is
widely used to analyze the particle shape characteristics of aggregate. In this research, angle of repose and
shape properties of granular materials were compared using image analysis by determining the shape characteristics such as roundness, sphericity, angularity, convexity and fractal dimension. Angle of repose values
were determined using tilting box method (TBM). The test results indicated that there is a good correlation
between some shape properties of granular materials and angle of repose.
Keywords: angle of repose, image analysis, granular materials, roundness, fractal dimension

1 Introduction
The angle of repose is defined as the slope angle for a material pile in which the material can rest without collapse. The angle of repose is one of the most important macroscopic parameters in characterizing the behavior of
granular materials. It has been found that the angle of repose strongly depends on material properties such as
sliding and rolling frictions [1-2] and density of particles [3], and particle characteristics such as size [4] and
shape [5]. It is generally reported that the angle of repose increases with increasing sliding and rolling friction
coefficients and deviation from spheres, and decreases with increasing particle size and container thickness.
However, quantitative description of the dependence that can be used generally in engineering practice is not
available [6].
In recent years, image analysis has been used in widespread applications in many disciplines, such as medicine,
biology, geography, meteorology, manufacturing, and material science. But, there have been relatively fewer
applications of image analysis used in civil engineering. Imaging technology has been used recently to quantify
aggregate shape characteristics and several researchers had investigated the role of aggregate shape in concrete
and asphalt mixture [7-12]. However, there is no comprehensive study that investigated the effect of shape properties to the angle of repose of granular materials. Consequently, the present study was undertaken to investigate
the relationship between the angle of repose and shape properties.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

125

2 ndInternational Symposium on Computing in Science & Engineering

2 Materials and Methods


2.1 Granular Materials
Calcareous soils and commercially available bearing ball are used in this study. The specific gravity of
materials is determined to 2.62 and 6.5 according to ASTM D 854, respectively. 6 samples of calcareous soils
(C), 6 samples of well-rounded calcareous soils (WRC) and one sample of bearing ball (BB) were prepared with
different graded and roundness for researching all roundness class of soils. The grain size distribution of
materials is also determined according to ASTM D 1140 (Fig. 1). The well rounded calcareous samples were
prepared using Los Angeles Rattler Machine without steel balls as detailed in Arasan [13]. The numbers of
machine revolution were selected 100.000 for well rounded calcareous samples. Roundness values and roundness
classes of used materials are given in Table 1. The roundness values and classes of samples were also determined
by using Cox [14] equation and Powers [15] chart, respectively.

Figure 1. Grain-size distrubition of the samples


Table 1. Roundness and fractal properties of materials used in study
Sample
Calcareous (C)
Well Rounded Calcareous (WRC)
Bearing Ball (BB)

Roundness
Value
0.715-0.740
0.830-0.845
0.910

Roundness Class
Angular-Sub Angular
Well Rounded
Well Rounded

2.2 Shape Properties


In this study, roundness, sphericity, angularity, convexity and fractal dimension are measured for each particle.
The fractal dimension of the particles is evaluated using the area-perimeter method introduced by Mandelbrot
[16] and later Hyslip and Vallejo [17].
Sphericity (S): Sphericity is among a number of indexes that have been proposed for measuring the form of
particles.
[13, 18]...........(1)

Roundness (R): This is a shape factor that has a maximum value of 1 for a circle and smaller values for
shapes having a lower ratio of area to perimeter, longer or thinner shapes, or objects having rough edges.

4. A
P2

[14]........(2)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

126

2 ndInternational Symposium on Computing in Science & Engineering

Angularity (K): This is a shape factor that has a minimum value of 1 for circle and higher values for shapes
having angular edges.
[13, 18]............(3)
Convexity (C): Convexity is a measure of the surface roughness of a particle. Convexity is sensitive to changes
insurface roughness but not overall form.
[13, 18]............(4)
where: A = projected area of particle (mm2);
L = projected longest dimension of particle (mm);
P= projected perimeter of particle (mm);
Pellipse= perimeter of equivalent ellipse (mm),
I= projected intermediate dimension of particle
Arectangle= area of bounding rectangle (mm2).
2.3 Image Analysis System and Image Processing
The image analysis system used by the authors consists of a Nikon D80 Camera and Micro 60 mm objective
manufactured by Nikon. In this study, the equipment for taking pictures of particles is set up by mounting a camera on a photographic stand as shown in Figure 2, adjusting the height of the camera (30 cm) to obtain a sufficiently large measurement area on the sample tray, and adjusting the light sources so that there is no shading of
any object placed on the sample tray. Whenever taking a picture, a black cotton cloth was placed on the background to obtain better contrast between the particle and the background pixels. The tests were performed in a
dark room. Four fluorescent light sources were positioned on the base plane to make the borders of the particles
more visible for digital measurements. The flashlight of the camera was not utilized during image acquisition [19,
20].

Figure 2. Schematic of the image analysis systems [19, 20]


The output of camera was a 3872-2592 pixel, 32-bit digital image of RGB color. The aggregate particles were
identified prior to analysis. ImageJ was used as the image analysis program. Threshold gray intensity was therefore chosen. The gray intensity measured on a given point was compared to the threshold value. Then, the initial
gray image was converted into a binary image in which the aggregate particles that have lower gray intensity than
the threshold value were set to black while the background was set to white. Applying a global threshold value for
all the image worked well only if the objects of interest (particles) had uniform interior gray level and rested upon
a background of different, but uniform, gray level. This was made possible in this study by placing particles on
black background. The original image (32-bit digital image of RGB) (a), 8-bit 256 gray scale image (b), 8-bit 256
gray scale image-applied to contrast (c), 8-bit 256 gray scale image-applied to median filter (d), 1-bit binary image-applied to threshold (e) and output of ImageJ image analysis program (f) are shown in Figure 3.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

127

2 ndInternational Symposium on Computing in Science & Engineering

Figure 3. Image processing steps


2.4 The Tilting Box Method (Angle of Repose Test)
In this method, granular material is filled in the prismatic test box at the horizontal starting position. Then,
slope angle is slowly increased tilting the box by hand. This process is simultaneously recorded in a camera. At a
tilting angle, the material collapse out of the box. The angle of repose is determined as the maximum angle in
which the material can rest without collapse measuring the angle in the camera records. Tilting box test apparatus
and the determination method of the angle of repose can be seen in Figure 4.

Figure 4. Determining the angle of repose by tilting box method.


3 Result and Discussion
The correlation between angle of repose and particle shape properties (i.e., sphericity, roundness, and convexity) of granular materials are presented in Fig. 5. It is seen that the sphericity, roundness, and convexity decreased
with the angle of repose increased. However, the angularity and fractal dimension increased as the angle of repose
increased (Fig. 6). It is an expected result since higher angularity and lower roundness values represent higher
particle surface irregularities [21-25], and it is well known that increasing particle irregularities increases angle of
repose [3,5].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

128

2 ndInternational Symposium on Computing in Science & Engineering

Figure 5. Relationship between shape properties (roundness, sphericity, convexity) and angle of repose

Figure 6. Relationship between shape properties (angularity, fractal dimension) and angle of repose
In addition, some linear relationships are found between the shape properties and angle of repose (Table 2).
The correlation coefficient shape properties and angle of repose were found to be equal to 0.68- 0.78, which
indicated a relatively high correlation between the variables.
Table 2. Relationship between fractal dimensions and shape properties
y

x
S
R
C
A
DR

Relationship
y = -46,576x + 75,4
y = -65,382x + 95,561
y = -146,7x + 148,74
y = 132,76x - 105,34
y = 46,061x - 10,298

R2
0.77
0.70
0.68
0.74
0,78

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

129

2 ndInternational Symposium on Computing in Science & Engineering

REFERENCES
1 Lee, J., Herrmann, H.J., 1993. Angle of repose and angle of marginal stability: molecular dynamics of
granular particles, Journal of Physics A, 26, 373.
2 Hill, K.M. Kakalios, J., 1995. Reversible axial segregation of rotating granular media, Physical Review
A: Atomic, Molecular, and Optical Physics 52, 4393.
3 Burkalow, A., 1945. Angle of repose and angle of sliding friction: an experimental study, Bulletin of
The Geological Society of America 56, 669.
4 Carstensen, J. Chan, P., 1976. Relation between particle size and repose angles of powder, Powder
Technology 15, 129.
5 Carrigy, M., 1970. Experiments on the angles of repose of granular materials, Sedimentology 14, 147.
6 Zhou YC, Xu BH, Yu AB, Zulli P. An experimental and Numerical study of the angle of repose of
coarse spheres. Powder Technol 2002;125:4554.
7 Erdogan, S.T., 2005. Determination of aggregate shape properties using X-ray tomographic methods and
the effect of shape on concrete rheology, Ph.D. Dissertation, University of Texas at Austin.
8 Masad E, Olcott D, White T, Tashman L. 2001. Correlation of fine aggregate imaging shape indices with
asphalt mixture performance. Transportation Research Record, 1757:148156.
9 Al-Rousan T, Masad E, Tutumluer E, Pan T. 2007. Evaluation of image analysis techniques for quantifying aggregate shape characteristics. Const. Build Mater, 21:978990.
10 Masad E, Button J., 2000. Unified imaging approach for measuring aggregate angularity and texture.
Journal of Computer-Aided Civil and Infrastructure Engineering, 15(4):273-280.
11 Masad E, Button J, Papagiannakis T., 2000. Fine aggregate angularity: automated image analysis approach. Transportation Research Record 1721: 6672.
12 Masad E, Saadeh S, Rousan TA, Garboczi E, Little D. 2005. Computations of particle surface characteristics using optical and X-ray CT images. Computational Materials Science, 34:406-424.
13 Arasan S., (2011). Determination of some geotechnical properties of granular soils by image analysis.
PhD Thesis, Ataturk University, Erzurum, Turkey.
14 Cox, E.A. (1927) A method for assigning numerical and percentage values to the degree of roundness of
sand grains. J. Paleontol., 1: 179183.
15 Powers, M.C. (1953). A new roundness scale for sedimentary particles. J. Sed. Petrol., 23, 117119.
16 Mandelbrot, B.B., (1983). The fractal geometry of nature, W.H. Freeman, San Francisco, CA.
17 Hyslip, J.P., Vallejo, L.E., (1997). Fractal analysis of roughness and size distribution of granular materials. Engineering Geology, 48: 231-244.
18 Arasan, S., Akbulut, S., Hasiloglu, A.S., 2010. The Relationship between the Fractal Dimension and
Shape Properties of Particles. KSCE Journal of Engineering, (accepted).
19 Arasan S., Yener E., Hattatoglu F., Hnsloglu S. Akbulut S. The Correlation between Shape of Aggregate and Mechanical Properties of Asphalt Concrete: Digital Image Processing Approach, Road Materials and Pavement Design (accepted).
20 Arasan, S., Akbulut, S., Hasiloglu, A.S., 2010. Effect of particle size and shape on the grain-size distribution using image analysis. International Journal of Civil and Structural Engineering (accepted).
21 Russell, R.D. and Taylor, R.E. (1937) Roundness and shape of Mississippi River sands. J. Geol., 45,
225267.
22 Krumbein, W.C. (1941) Measurement and geological significance of shape and roundness of sedimentary particles. J. Sed. Petrol., 11: 6472.
23 Rittenhouse, G. (1943) A visual method of estimating twodimensional sphericity. J. Sed. Petrol., 13, 79
81.
24 Pettijohn, F.J. (1949) Sedimentary Rocks. Harper and Brothers, New York, 526 pp.
25 Alshibli, K.A., Alsaleh, M.I., (2004). Characterizing surface roughness and shape of sands using digital
microscopy. Journal of Computing in Civil Engineering, 18 (1): 36-45.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

130

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/36

An Approach to Part of Speech Tagging


for Turkish
Emir TURNA, ada Can BRANT, Yaln EB
emir.turna@gediz.edu.tr, cagdas@cs.deu.edu.tr, yalcin@cs.deu.edu.tr

Abstract. Nowadays, Natural Language Processing (NLP) is one of most valued topics in the field of information technologies. Many researchers have been working on NLP methods including a wide range of
studies from spell checking to natural language generation. Part of Speech (POS) Tagging is one of the
main topics in NLP researches. The main purpose of POS tagging process is to solve disambiguates occurred during text analysis. In this study, an approach to POS tagging for Turkish was presented. In this
approach, there are two phases: First phase includes the rule definitions about the relationship between
word types and the second phase includes development of the software which is used to analyze the given
sentence by applying the given rules. This software also uses pre-developed tools, Sentence Boundary
Detection and Morphological Analyzer for the text analysis. The studies were carried out both with and
without n-grams. After the analysis carried out, it was seen that more reliable results were obtained when
n-grams applied onto the text to be analyzed.

Keywords: Natural Language Processing, Part Of Speech

What Is Word Clause?


Words generate clauses for develop word or words meaning. Thanks to the clauses, they create relationship
by degrees between concepts. In this way they choose induction from the simple part.
Clauses can be together in sentence for kinds of goals. Some of them for the specifying words and some of
them for indicating words judgment. Words with same or different functioning can be generating clauses.
Side by side words either generate a sentence with declaring judicial or create word clauses with defining motions and assets. That word togetherness based on some rules of Turkish syntax. And the clearest feature of this is,
main element of sentence is at the end.
Word clauses are side by side words that be together for specifying an attribute, a situation, a motion, a
concept within certain rules.
Attributes, situations, motions and concepts can be specifying with a word. But if that word cannot be
enough for defining one of them and only way is word clause, we use word groups.
At this point, there are some important cases. These are;
a) Word clauses behave like a word in a sentence and in other word clauses.
b) Arrangement of words is regular within a group.
c) The suffix at the end of the word clause belongs to all words not the last one.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

131

2 ndInternational Symposium on Computing in Science & Engineering

Word Line-Up Rules


Like at the first time we said, order of the words in sentences is under some rules. We called Regular Sentence this kind of sentence. We can find word clauses easily with these rules.
General line-up rules are;
T = A + E
A = A
A = A + A
A = S + A
S = S
S = B + S
B = B
B= B + B
= A +
E= E
E= A + E
E= A + A + E

Ali
Alinin arabas
gzel kz
gzel
ok gzel
ok, yava, ileri, az
ok yava, daha hzl
araba ile (arabayla), okula doru,
(Ali) dt.
(Ali) okula geldi.
(Aye) Aliye kazak rd.

E= A + B + E

(Ali) okula koarak geldi.

E= A + + E

(Ali) okula arabayla geldi.

As you see in the table, a sentence is either a noun clause or a verb clause. The reason of this is, word of
determines type of sentence is at the end of the sentence. (It is a rule of regular sentence). This word can have
noun or verb root. After finding this item, we must analyze every word itself and according to word after it.
Every word can be a clause by itself. Because of this is when multiple words can be together they behave
like one word. So we can think whole word clause like one type. In this condition one word is one clause.
In word clauses there is an iterative structure. So if two words with the same type come together, they can
create first words clause type again.
Exp: A + A A + A A
When we investigate these line-up rules, the word at the end determine type of clause. So reverse order
view brings us most accurate result, when we analyze sentences or word groups.

What Is N-Gram?
One of the required data in many NLP Works like speech determination and machine translation is basic
statistical information about the language. Simply, these systems need what is the probability of coincidence information of a word or words in that language. This information is obtained from a mechanism called
Language Model. In this topic, because of its simplicity, a popular approach is called N-Gram Language Model.
Basically, this model brings you which often one, two or more word is found side by side in a text.
Exp :

"kedi"
"tekir kedi"
"sevimli tekir kedi"

N means number of word in N-Gram word. In the examples, "tekir kedi" is 2-grams or bigram, "sevimli tekir kedi" is 3-grams or "trigram".

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

132

2 ndInternational Symposium on Computing in Science & Engineering

That kind of statistics or information is generally obtained with counting number of side by side words in
large-scale texts. Naturally, probability of tekir kedi is greater than tekir kpek probability. Because tekir
adjective is usually used for kedi.
N-Gram method is also used for determining a text is in which language by computer. Computer can do
this with checking a words side by side letters pattern.
Exp:
Bilgisayar 2 Gram b bi il lg gi is sa ay ya ar r
3 Gram b bil ilg lgi gis isa say aya yar r
Every languages words N-Gram patterns like 2-Gram, 3-Gram are different. So with this approach a
texts language can discover.
Importance Of N-Gram About Clauses
If we use N-Gram method with clauses instead of whole text, we can discover more meaningful and
more logical results according to general outcomes.
After reaching significant word clauses according to side-by-side rules, to analyze these clauses about NGram method will be very important to examine sentence or text, summarize, or understand the topic.
Exp:

Dmenin terbiye edemediini dalgalar terbiye eder.

If we do N-Gram analyze to the whole sentence with whole words, we will get some meaningless results
like dmenin terbiye or dalgalar terbiye. But when we do same operation after finding word clauses, these
insignificant conclusions cant be in your hands. This type of analyze leads us to the more correct conclusions.
Application Areas Of Clauses
Sentences Meaning Analysis
If we find clauses of a sentence, meaning analyze will be easier. Because of words have different means,
finding the sentences mean is difficult. We will have many options so to realize which one is the most correct
mean in the sentence is going to spend our too much time. However if we know clauses of sentence, reaching the
main point of sentence will be simple. Therefore it leads us to comment about sentence semantically.
Word Accents
Every sentence can have a main point. This point is told or talked about it semantically. It is called accents and it can anywhere in sentence. Knowing how to consist word clauses in the sentence will help us to find
which word or word clause has accent. In addition to sentences general accent, words can have own accent, too.
In this situation having clauses helps us again. Because if there is a subordinate in a clause or if a word specifies,
clauses show us which word or what is in the foreground.

Text Summarization Based On Semantic Analysis


When we analyze words or word groups in a sentence using clauses, we can reach what is text about.
Using word clauses and these clauses mean in the sentence help us to take meaningful and completely covering
summarization. Consequently, summarization is a job to reveal compressed text which has whole meaning from
whole text. When we choose right sentence, which mean they have true clauses, they will show us the summary.
Finding Sentence Elements
When we find clauses, we must know types of words. Because of this is types cause diversification of
clauses. If we know word types, it will give us what this word using for. If there is an adverb or a conjunction in a
sentence, this show us, these words are in complements group. In the same way, noble verb or noble noun word,
that show us what action is, is bring us predicate. With this method, separation of words elements will be easier.
Grouping of Text
Different grouping methods can be chosen according to criterion in a text. These methods can change

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

133

2 ndInternational Symposium on Computing in Science & Engineering

according to words meaning in the text, mission in the text or even kind of words. We can use these grouping to
get statistics or reach meaning of sentence. In this point, knowing clauses helps us to understand words meaning
and kind of the word. Instead of analyzing words alone, examining clauses can help us to put the words to the
right group according to our determined grouping method.
Access Right Meaning and Right Document (Information Retrieval)
Like we previously explained at the N-Gram analyze, to use clauses is very helpful to access words of
sentence. Instead of whole words analyze, investigation of clauses gains us time for reaching to the right place in
the sentence or text. Because of clauses help us for finding meaning of word in the sentence, it will be very important to do search right thing and not to take wrong answers.
Finding Clauses
Main common point of word clauses is entitled according to its words types and that word clause is determined by its words. In this case, first of all we must define words types of sentence to find clauses in a sentence and classify these
After identifying word kinds, we will decide clauses with side-by-side rules according to these kinds.
Rule Creation
Side-by-side rules are not enough for judging, when we separate clauses according their types. The
reason of this is, if words are side-by-side just because of their types, meaningless word clauses can consist. So
we must generate usual rules for more special and detail results. May be side-by-side words suffixes can create a
general rule. Many rules should be developed like this. Rate of true return results can be increased with more
rule-based system in new versions of project.
Effect Of Punctuation Marks
In a sentence, comma between words acts for separating them. But it is not useful always for maximum
solution.
Exp: Kk Okulu sevdi.
Kk, okulu sevdi.
In above sentences, comma causes to create two different clause structures. In the first sentence if there
is no comma, kk okul is a noun clause(A). But the second one both of kk and okul are noun
clauses (A). On the other hand, in Aye gzel, alml ve bakml bir kzdr sentence, comma dont change the
structure, only separating adjectives. Because of these situations, when we examine a sentence, we should also
evaluate punctuation marks.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.

Kristina Toutanova and Christopher D. Manning. 2000. Enriching the Knowledge Sources Used in a Maximum
Entropy Part-of-Speech Tagger. In Proceedings of the Joint SIGDAT Conference on Empirical Methods in Natural
Language Processing and Very Large Corpora (EMNLP/VLC-2000), pp. 63-70.
R. Garside, G. Leech and G. Sampson (eds), 1987, The CLAWS Word-tagging System. The Computational
Analysis of English: A Corpus-based Approach. London: Longman.
Levent Altunyurt & Zihni Orhan,June 2006, Submitted to the Department of Computer Engineering in partial
fulfilment of the requirements for the degree of Bachelor of Science in Computer Engineering, Boazii University
http://cogcomp.cs.illinois.edu/page/software_view/3, Illinois University
Helmut Schmid at the Institute for Computational Linguistics of the University of Stuttgart,
http://www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger/
Antworth, E. L. 1990. PC-KIMMO: A Two-level Processor for Morphological Analysis. Summer Institute of
Linguistics, Dallas, TX.
Brill, E. 1992. A simple rule-based part-of-speech tagger. In Proceedings of the Third Conference on Applied
Computational Linguistics, Trento, Italy.
Brill, E. 1995. Transformation-based error-driven learning and natural language processing: A case study in partof-speech tagging. Computational Linguistics, 21(4), 543-566.
Church, K. W. 1988. A stochastic parts program and noun phrase parser for unrestricted text. In Second Conference

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

134

2 ndInternational Symposium on Computing in Science & Engineering

10.
11.
12.
13.
14.
15.
16.
17.

on Applied Natural Language Processing, pp. 136-143. ACL.


Cutting, D., Kupiec, J., Pedersen, J. O., and Sibun, P. 1992. A practical part-of-speech tagger. In Third Conference
on Applied Natural Language Processing, pp. 133-140. ACL.
Dandapat, S., Sarkar, S., Basu, A. 2004. A Hybrid Model for Part-of-Speech Tagging and its Application to
Bengali. In International Conference on Computational Intelligence, pp. 169-172.
DeRose, S. J. 1988. Grammatical category disambiguation by statistical optimization. Computational Linguistics,
14, 31-39.
Jurafsky, D., Martin, J. H. 2000. Speech and Language Processing: An Introduction to Natural Language
Processing, Computational Linguistics, and Speech Recognition. Prentice-Hall, New Jersey.
Karlsson, F., Voutilainen, A., Heikkil, J., and Anttila, A. 1995. Constraint Grammar: A Language-Independent
System for Parsing Unrestricted Text. Mouton de Gruyter, Berlin.
Oflazer, K., Kuruoz, I. 1994. Tagging and morphological disambiguation of Turkish text. In Fourth Conference on
Applied Natural Language Processing, pp. 144-149.
Voutilainen, A. 1995. Morphological disambiguation. In Karlsson, F., Voutilainen, A., Heikkil, J., and Anttila, A.
(Eds.), Constraint Grammar: A Language-Independent System for Parsing Unrestricted Text, pp. 165-284. Mouton
de Gruyter, Berlin.
Dhanalakshmi V, Anand kumar M, Rajendran S, Soman K P,POS Tagger and Chunker for Tamil LanguageTamil
University, Thanjavur, Tamilnadu, India

Biographies
S. Emir TURNA He was born in Sakarya in 18th February, 1987. He graduated from university in 2009 and he is in
master degree in Dokuz Eyll University, Computer Engineering Department.
His main research area is natural language processing and word clauses. This is the first publication of Mr. TURNA. Before this, there are some researches about research algorithms in Turkish sentences and some big corpus.
Mr. TURNA is a member of NLP group of Dokuz Eyll University and association of electrical engineers.
ada Can BRANT He was born in zmir in 4th August, 1982. He graduated from university in 2005.He had received B.S. degree in Dep. of Comp. Eng. from Izmir Institute of Technology and then M.S. degree in Dep.of Comp.Eng
from Dokuz Eyll University(DEU).He also has been Ph.D. students in same department .
His main research area is natural language processing and software engineering. He works in projects, some of them are
accepted by TDK. Before this, there are some researches about rule based morphological analysis.
Mr. BRANT is a member of NLP group of Dokuz Eyll University.
Yaln EB He was born in Ordu in 1st January, 1964. He received B.Sc., M.Sc. and Ph.D. degrees in Mining Engineering from Dokuz Eylul University. He received Associate Professor and Professor degrees in 2000 and 2009, respectively. He is still working at Computer Enginering Department of Dokuz Eylul University.
His main research areas are Natural Language Processing, Wireless Sensor Networks and Production Scheduling in Open
Pit Mines.
Mr.EB is a member of Chamber of Mining Engineers, Turkish Linguistics Association (TDK) Turkish World Computer Aided Linguistics Working Group, Dokuz Eylul University Natural Language Processing group.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

135

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/43

Performance Analysis of Eigenfaces Method in


Face Recognition System
Salih GRGNOLU1, Kadriye Z2, afak BAYIR3
1

Department of Computer Engineering, Engineering Faculty, Karabk University, Karabk, Turkey


Department of Electronics and Computer Education, Technical Education Faculty, Karabk University, Karabk, Turkey
3
Department of Educational Sciences, Literature Faculty, Karabk University, Karabk, Turkey
1
sgorgunoglu@karabuk.edu.tr,2kadriyeoz@karabuk.edu.tr, 3safakbayir@karabuk.edu.tr

Abstract. Human face is one of the major biometric characteristic utilised in order to differentiate individuals from each other. Automatic recognition systems have been developed in order to identify and differentiate individuals for various purposes. Fingerprint is the most utilised biometric characteristic in these systems.
Face characteristic is the secondary biometric characteristic. These biometrics are generally used to meet the
security needs in many systems. Fingerprint is more common than face characteristic in terms of obtainability,
widespread use and reliability. However, it is not possible to track an individual who is involved in an event
at the street automatically with cameras via fingerprint method. On the other hand, it is possible to recognise
the face of an individual from a distance via cameras. Moreover, face recognition can also be used with the
other biometrics in order to meet the tracking or security need. Therefore, face analysis is still an important
subject. Automatic face recognition software was developed in this study. Face analyses included in system
were realised utilising eigenfaces method, error curves were provided according to this method and time
analyses of the algorithms used were made in order to find out the algorithms that affect the system much
more in terms of time.

Keywords: face recognition, eigenfaces, performance analysis, principal component analysis

1 Introduction
The security needs of individuals and institutions should be meet in parallel with the developments in technology.
Alternative methods are also needed beside basic precautions in order to increase security. Using biometric characteristics is one of these methods. Biometric characteristics display diversity among individuals. Characteristics
such as eye retina, fingerprint, signature, face, voice, DNA are accepted as biometric data. Biometric characteristics are regarded as safer and preferred since it is impossible to be lost, forgotten and stolen. Fingerprint is a biometric characteristic which has been used for a long time and more widespread.
The comparison of biometric systems is given in Table 1 [1]. Face image is in second order with 15.4% usage
ratio in terms of widespread use. When the face recognition is compared to the other biometrics, it is seen that its
usage is low in terms of distinctiveness and performance, but on the other hand, high in terms of universality,
collectability, acceptability and circumvention [2].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

136

2 ndInternational Symposium on Computing in Science & Engineering

Face
Fingerprint
Hand Geometry
Iris
Keystroke
Signature
Voice

H
M
M
H
L
L
M

L
H
M
H
L
L
L

M
H
M
H
L
L
L

H
M
H
M
M
H
M

L
H
M
H
L
L
L

Circumvention

Acceptability

Performance

Collectability

Permanence

Biometric identifier

Distinctiveness

Universality

Table 1. Comparison of Various Biometric Technologies [1]

H
M
M
L
M
H
H

H
M
M
L
M
H
H

High=H, Medium=M and Low=L


There are various areas where face recognition can be utilised. These can be grouped as face identification,
face classification or sex determination. Some of the applications which utilise beneficially face recognition are as
follows: crowd surveillance, video content indexing, personal identification (e.g. drivers license), mug shots
matching, entrance security [3].
Principal Component Analysis (PCA) is an effective statistical method used in face recognition. At first, Turk
and Pentland developed a face recognition system using PCA [4]. There are many face recognition studies using
this method [3] [5-10].
In this study, general purpose face recognition system that can be used for security was developed utilising a
generally known method, that is to say Eigenfaces Method or in other words, Principal Component Analysis
(PCA) and time performance analyses of the system were made.

2 PCA Algorithm
Principal Component Analysis (PCA) is used in the reduction of high dimensional data into smaller dimensions
by taking distinctive characteristics into consideration [3].
This procedure consists of two stages: 1) training stage and 2) recognition stage [4]. In training stage, eigenmatrix which is required for recognition is formed from sample data for recognition.
1 dimensional one column matrix is formed from gray coloured 2 dimensional images. If we denote the images
included in training set as 1, 2, , M the mean related to these images is computed as follows:

1
M

n 1

(1)

The difference of each image from mean is obtained as below:

i i

(2)

The dimension of this high dimensional matrix requires to be reduced by finding orthonormal uk vector in M
number which denotes this high dimensional matrix optimally. Vectors are selected to maximise k.

1
M

(u
n 1

T
k

n )

(3)

These k values and uk vectors are the eigenvalues and eigenvectors of covariance matrix.

1
M

(
n 1

Tn )

(4)

C AA T
June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

137

2 ndInternational Symposium on Computing in Science & Engineering

C matrix is in N2 x N2 dimension for the samples which are in N x N dimensions. Since it will be difficult to
calculate the eigenvalues and eigenvectors of this matrix which is in these dimensions, the eigenvalues and eigenvectors of the matrix given below are calculated.

L AT A

(5)
It is assumed that the number of the pictures will be smaller than the image dimension. Besides, eigenvalues of
matrix which is in M x M dimension are adequate for the problem of face recognition. A new matrix consists of

V v , v , v ,...., v

A , , ,....,

1
2
3
n C covariance matrix and
1
2
3
n which symboliseigenvectors of
es matrix consists of vectors displaying the differences of each face images from mean related to face and also

U u1 , u 2 , u3 ,...., u N and eigenface matrix including N number eigenfaces is


T

which is denoted with


formed.

U V . AT

(6)

Feature vector related to any face using eigenfaces is represented as follows:

wk u k

(7)

The image which will be used in the recognition stage should be in grayscale. Initially, the difference of T vector from mean related to face data is calculated as in Equation 8.
(8)
T T
In this stage, wT feature vector of the face which will be recognised is calculated by multiplying T difference

U u1 , u 2 , u3 ,...., u N eigenface vector.


wt U . T
T

vector with

(9)

W w , w , w ,...., w

1
2
3
N matrix disDistance of calculated wT feature vector to wi feature vectors forming
play the similarity of the image which will be processed to the face image recorded and which was being com-

pared to feature vector. The response which will be generated by the system as recognised face is the imagei
which generates the lowest value out of di values calculated in Equation 10.
M

d i wT ( j ) wi ( j ) , i 1,2,...N

(10)

j 1

Software

C# programming language in Visual Studio .NET environment was used for face recognition system developed within this study. The screenshot of face recognition software developed is given in Figure 1. There are 3
menus in the programme: Database, Analysis and Recognition. Database menu is used in programme to select
database which will be used in training stage. User can either use ORL Database[11] or PICS Database[12]. Furthermore, he/she can utilize user-defined databases including face images. Time analyses can be displayed with
FMR and FNMR graphics utilising Analysis menu. Recognition menu is used for new face recognition procedure.
A new image can be selected with New menu and recognition procedures can be initiated with Recognition menu.
At the end of the recognition procedure, the image of the person recognised is displayed in the screen. If the procedure fails, the warning of Could Not Be Recognised is displayed.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

138

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 1. Software Interface


Face recognition software developed utilises eigenfaces method. Training set used in obtaining eigenfaces is
left to user choice. User can use the images by selecting the folder including face images. Images are initially
converted into grayscale considering that they can either be grayscale or coloured. Furthermore, RGB (RedGreen-Blue) brightness values of images are multiplied by equal coefficients in order not to distort the grayscale
images. Normalisation was used in order for the system to tolerate the different lightings. Grayscale maximum
and minimum values were obtained for each image. Image values were recalculated using min-max method.

x min
max min

(11)

Images pre-processed are reduced into smaller sizes with Principal Component Analysis method. Best eigenfaces in M numbers which will represent the faces in the database are searched using PCA algorithm stages.
Eigenvalue and eigenvectors related to the matrix where the values of images are stored should be obtained in the
calculation of eigenfaces. In this study, QL Method was used in the calculations of eigenfaces and eigenvectors[13]. Eigenvectors are arranged from the highest to the lowest according to corresponding eigenvalues.
Weights related to these eigenfaces are used in the recognition of the new face.
Recognition of the new face which is the second stage in face recognition is related to the issue of deciding
whether an individual is the person who is already known. The face image which will be recognised is converted
into grayscale for recognition procedure. Min-max normalisation is carried out to reduce lighting effects. Weights
are obtained by utilising PCA algorithm stages. Distance between faces is calculated with Euclidian distance
method where represent weights (=[w1,w2,...wM]).

d k k

(12)

Threshold value gains importance in the comparison procedure of the weights. Distance is divided into the
number of feature vector since feature vector used affects distance, namely, difference. Therewith, distance obtained does not display diversity according to the number of feature vector. Therefore, common threshold value
can be determined for different databases. Distance occurred exists approximately between [0-2] interval. These
values became determinative in the selection of threshold value. False Match Rate (FMR) and False Non-Match
Rate (FNMR) ratios are used in the selection of threshold value. Equal Error Rate (EER) denotes error rate ob-

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

139

2 ndInternational Symposium on Computing in Science & Engineering

tained on the condition of FNMR(T)=FMR(T). In other words, EER is the level where the numbers of false rejection rate and false match rate are equal.

4 Conclusions
As a result, a face recognition system based on eigenfaces method was developed in this study. Eigenfaces
method is preferred as a rapid solution approach due to the fact that it can easily be applied. It was observed that
satisfactory results were obtained under different lightings utilising the face recognition system suggested. Besides, changes in the poses which do not affect the visibility of face are also tolerated by the system. Preprocesses carried out for images, procedures carried out for calculation of eigenfaces and face image which will
be recognised were analysed and evaluated in terms of time. Results of time analyses are considered as satisfactory where there are face images in small quantities, on the other hand, the calculations of eigenvectors and eigenfaces of the system where there are face images in large quantities, for instance, 10000 images, become slowly. It
is thought that the face recognition system suggested in this study can be developed in terms of speed considering
the necessity of recalculating eigenvectors and eigenfaces for each new person who will be added to the system.
Error curves of eigenfaces method according to ORL database including face images are displayed in Figure 2(a).
Moreover, error curves according to PICS database including face images are displayed in Figure 2(b).

(a)
Fig. 2. Error curves a) ORL database

(b)
b) PICS database (66/7)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

140

2 ndInternational Symposium on Computing in Science & Engineering

Table 2. Time analysis of databases.


Database
ORL
PICS
Number of Image / Person
10/40
7/66
Resolution (pixel)
92x112
288x384
Duration of Algorithims (seconds)
Reading gray images
5.36
185.982
Normalization
0.0002
0.001
Mean calculation
0.002
0.001
Display mean
0.000
0.104
(A) calculation
0.47
6.784
A Transpose calculation
0.20
3.287
L calculation
54.80
2608.400
Eigenvector calculation
3.26
4.786
U calculation
2.53
78.976
W calculation
2.85
130.985
U Transpose calculation
0.004
0.053
Eigenface Display Time
0.01
0.118
Total Training Phase
58,257
3029.168
Reading Gray Scale Image
0.04
0.375
Normalization
0.009
0.080
Phi Calculation
0.0001
0.001
Distance Calculation
0.0001
0.000
Display recognized face
0.02
0.166
Total Recognizing Phase
0.08
0.658

Moreover, time analyses related to this method are displayed in Table 2. Processing times were obtained via
desktop PC containing Intel(R) Core(TM) 2 Quad Q8300 2.50 GHz microprocessor and 4 GB RAM with Windows 7 Ultimate operation system. It is seen that the calculation of covariance matrix requires rather long processing time in Table 2. It is aimed to increase the system performance with parallel programming in our subsequent study.

References
1.

Uluda, U.; Pankanti, S.; Prabhakar, S. and Jain, A. K. (2004). Biometric Cryptosystems: Issues and Challenges. In
Proceedings of the IEEE , Special Issue on Enabling Security Technology for Digital Rights Management, Vol. 92,
No. 6, pp. 948-960.
2. Sarma, G. and Singh, P. K. (2010). Internet Banking: Risk Analysis and Applicability of Biometric Technology for
Authentication. Int. J. Pure Appl. Sci. Technol. 1(2): 67-78.
3. Kim, K. (unpublished paper) Face Recognition Using Principle Component Analysis. Department of Computer Science, University of Maryland, College Park, USA
4. Turk, M. and Pentland, A. (1991). Eigenfaces for Recognition. J. Cognitive Neuroscience 3(1): 71-86.
5. Neerja, and Walia, E. (2008) Face Recognition Using Improved Fast PCA Algorithm. Congress on Image and Signal Processing 1: 554 558.
6. Wang, L.; Wang,, X.; Zhang, X. and Feng, J. (2005). The equivalence of two-dimensional PCA to line-based PCA.
Pattern Recognition Letter 26(1):.57 60.
7. Yang, J.; Zhang, D.; Frangi, A.F. and Yang, J. (2004).Two-Dimensional PCA: A New Approach to AppearanceBased Face Representation and Recognition. IEEE Trans. Pattern Analysis and Machine Intelligence 26(1):131137.
8. Yu, H. and Yang, J.(2001). A Direct LDA Algorithm for High Dimensional Data-with Application to Face Recognition. Pattern Recognition 34:2067-2070.
9. Yambor, W.; Draper, B. and Beveridge, R. 2002. Analyzing PCA-based Face Recognition Algorithms: Eigenvector
Selection and Distance Measures. Empirical Evaluation Methods in Computer Vision. Singapore: World Scientific
Press.
10. Sahoolizadeh, A.H.; Heidari, B.Z. and Dehghani, C.H. (2008). A new face recognition method using PCA, LDA,
and neural network. International Journal of Computer Science and Engineering 2(4): 218-223.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

141

2 ndInternational Symposium on Computing in Science & Engineering


11. Lawrence, S.; Giles, C.L.; Tsoi, A.C. and Back, A.D. (1997). Face Recognition: A Convolutional Neural Network
Approach. IEEE Transactions on Neural Networks 8: 98-113.
12. Psychological Image Collection at Stirling (PICS), University of Stirling Psychology Department,
http://pics.psych.stir.ac.uk/.
13. Preuss, W. H.; Teukolsky, S. A.; Vetterling, W.T. and Flannery, B. P. 2007 Numerical Recipes in C, 3nd ed; Cambridge: Cambridge University Press.

Biographies
Salih GRGNOLU- Salih GRGNOLU was born in orum in 1970. He graduated from Gazi University in 1995.
He received his M.Sc. and Ph.D. degrees from the same university in 2000 and 2007 respectively. He worked as instructor at
Gazi University between the years 1999-2007. His areas of interest include biometric systems, image processing, microprocessors and neural network applications. Asst. Prof. Dr. Grgnolu still works for Karabk University, Department of Computer Engineering.
Kadriye Z Kadriye Z was born in Karabk in 1982. She graduated from Ege University in 2005. She is interested in
image processing and parallel programming. Research Assistant z still works for Karabuk University, Department of Electronics and Computer Education.
afak BAYIR afak BAYIR was born in Berlin in 1973. He graduated from Uluda University in 1998. He received M.A.
degree from Department of English Language Teaching, Social Sciences Institute, Uluda University, Bursa, Turkey in 2000.
He received Ph.D. degree from Department of Computer and Instructional Technologies Education, Educational Sciences
Institute, Ankara University, Ankara, Turkey in 2009. His major field of study is educational technology.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

142

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/46

Support Vector Machines with the COIL-20 Image


Library Classification Practice
1

Baha en1, Ahmet elik2


baha.sen@gmail.com, 2 mail.ahmetcelik@gmail.com

Abstract. In this study on a picture library, learning was performed using COIL-20 based on an attribute SVM (Support Vector Machine) classification method was used on the data set which will be used in
the study. In this study the attributions of the images (toys and not toys) were taught to the system with
help of SVM. And example code of this method was conducted in Matlab package program. On SVM
decision mechanism, the classification was performed using the values obtained by subtracting the average from each data set as an attribute.
Keywords: Support Vector Machine, COIL-20, Computer learning, Data mining, Optimization, Image
classification

1. Introduction
SVM is an method of classification based on optimization and with this method, we can make a classification
including linear and non linear. Support vector is a classification group including machine learning methods
[1],[2]. According to the problem first encountered, linear classification is tried first if linear classification cant
be carried, non linear classification is preferred then in this study, two class separation was performed using a
linear classification. While doing this classification, choosing the most appropriate most plane was considered
too. The most classification points from each class on the weight vector elements were selected, choosing the
most appropriate plane [3]. Taking into account these points classifying toys and non toys from the data set in the
COIL -20 Image Library [4] which includes 20 grey scale image (Fig. 1 shows an example), and was preferred
mostly, was prevailed 100 % rate linearly.

Fig. 1. COIL-20 Image Library is shown.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

143

2 ndInternational Symposium on Computing in Science & Engineering

2. Classification
Classification in data mining is commonly used to reveal hidden patterns on database [5]. Classification is to
use the differences of an object by using these differences to be able separate different object to different classification (Fig. 2 shows an example). Basic purpose, is to separate our example space plane into two separate optimum classes {-1,1} using separator function. While creating two classes the maximum length of the two points
from the distinguishing plane was ascertained [6],[7],[8].

: Class 1
: Class 2

Fig. 2. Different classes are shown.


Classification can be done by using several methods. But in this study SVM was used. A process is followed to
classify the data. First of all part of the data set should be used to make up classification level for the aim of education. Later if a new situation arose classification can be mode using these limitations. SVM is very useful, data
learning classification method, trying to find in two which has positive and negative samples.
2.1. Support Vector Machine (SVM)
SVM method performs the classification with the help of linear and non linear function. This method depends
on guessing the most appropriate function to separate the data. The method mostly taking place in machine learning methods are also preferred in data mining nowadays. In this method, two classes not overlapping each other is
created with the help of a boundary plane. The data remaining on the top (y=1) and on the bottom (y=-1) include
different class data [5],[8]. Boundary plane is expressed as follows,

.x b 0

(1)

In this expression; w: the weight vector, b: constant, x represent the attribute values. This expression also can be
as follows [11],[12].
(2)

wi .xi b 0

Points remaining at the top of bounder plane meet the following inequality.
w.x b 0 y 1 (class 1)

[8]

(3)

Points remaining at the bottom of bounder plane meet the following inequality.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

144

2 ndInternational Symposium on Computing in Science & Engineering

w.x b 0 y 1 (class 2)
f(x) yi i xxi b

[8]

[5]

(4)
(5)

The sign of the outcome f(x), indicates class membership of x. xi vectors show support vectors of the plane.
Signal functions are expressed as follows;

f(x) sign(w.x b)

[8]

(6)

3. Test Application Method


In this study, COIL-20 image librarys images were classified (toys and not toys) using SVM (Fig. 3 shows an
example). SVM is the most suitable method for image classification through learning stage [9],[10].
The images attributions (toys and not toys) were taught to the system with help of SVM. Then, attributes of
the test, photos were classified using SVM. First for the x entries N training data samples were decided. After
that, giving qualities of space
{-1,1} and the yi attributes, f(x) function classifying two groups differently was
gained.

Fig. 3. Different classes in COIL-20 image library.


First each of the M at M*N matrix size were transformed into [M*N]*1 vectors. x is a matrix and its size
M*N. Its average was removed from itself and calculated to be as follows.

x ( x - repmat(mean(x,1 ),[ 20 1]) ) / 1000

(7)

y matrix is shown in Table 1 but in fact, y [M, 1] (20 lines and 1 column) and at first as the size of the values
assigned to -1, then images of toy is divided into classes by giving a value of 1.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

145

2 ndInternational Symposium on Computing in Science & Engineering

Table 1. Example levels of classification are determined as follows.


y matrix
y(1)
y(3)
y(4)
y(6)
y(13)
y(19)

values
1
1
1
1
1
1

a inv(H)*ones(M,1 ) a : Lagrange multiplier


T

H i j yi y j .(xi .x j )

(8)

[11],[13]

(9)

[14]

w sum( repmat( alfa.*y, [1 N] ).*x )

(10)

b sum( 1./y - x*w' ) / M

(11)

f sign(x*w' b)

(12)

The values in the command window show result values and these values consist of 3 columns. According to yi
classification level and this level gathered depending on f(x) function are shown and in the part of learning result,
a performance measurement was done comparing the values found with the help of f(x) function and the classification values found first hand. For the sample data set there is 100% success. The practice, of this sample data
set is given in Table 2.
Table 2. This table is showing practices results : 100% performance. yi :level of classification. f(x) : is function of classification.

yi

f(x)

1
-1
1
1
-1
1
-1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
1
-1

1
-1
1
1
-1
1
-1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
1
-1

Learning
results
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

146

2 ndInternational Symposium on Computing in Science & Engineering

3.1. The Pseudo Code of Program


//This programs code is written and performed on Matlab.
Set image size
for i = 0 to size of images row
for j = 0 to size of images column
put pixels value in matrix
end
end
calculate x matrixs values
Set attribute of images (non toys in yi)
//Then calculate parameters as follow
Hessien matrix
//it is for
(alfa) values
//it must be >= 0
w the weight vector
//it is for f(x)
b constant and
//and it is for f(x)
f(x) function
//After these steps, get results
If f(x) equal to yi
Print result=1 //this means that program is true.
else
Print result=0

4. Findings - Conclusion
According to the results obtained in this study, the data set of COIL-20 Image Library classification was carried out with toys image data and non-toys image data. Support vector machine (SVM) is a classification method
based on optimization. SVM method in the study, a classification of images in the library of COIL-20 has been
successfully performed. Using class function was performed in different categories of data in this data set. On
this functions distinctive basic points are weight vector (w), constant value (b) and attribute value (x). The other
is Hessien matrix, with the help of Lagrange multiplier (). This multiplier is one important step in obtaining
values of the function. According to the results of the experiment, SVM classification method can be used to
obtain reliable results.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

147

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.

http://www.support-vector-machines.org/
O. G. Sezer, A. Ercil and M. Keskinoz (2005) Subspace Based Object Recognition Using Support Vector Machine,
EUSIPCO.
3. Ch.Srinivasa Rao , S.Srinivas Kumar, B.Chandra Mohan (2010) Content Based mage Retrieval Using Exact Legendre Moments And Support Vektr Machine, JIMA, Vol 2, No 2.
4. S. A. Nene, S. K. Nayar and H. Murase, (996) "Columbia Object Image Library (COIL-20),"Technical Report
CUCS-005-96.
5. Dr. Yaln zkan, (2008) Veri Madencilii Yntemleri Papatya Yay.
6. Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin (2010), A Practical Guide to Support Vector Classification,
, Department of Computer Science, National Taiwan University, Taipei 106, Taiwan.
7. Florian Markowetz, Max-Planck (2003), Classication by Support Vector Machines -Institute for Molecular Genetics Computational Molecular Biology, Berlin, Practical DNA Microarray Analysis.
8. Kristin P. Bennett and Colin Campbell, /2000) "Support Vector Machines: Hype or Hallelujah?", SIGKDD Explorations, 2,2, 113.
9. http://www.cs.columbia.edu/CAVE/software/softlib/coil-20.php
10. V.N. Pawar, Sanjay N. Talbar,(2009), An Investigation of Significant Object Recognition Techniques, IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.5.
11. http://en.wikipedia.org/wiki/

12. http://nlp.stanford.edu/IR-book/
13. Christopher J. C. Burges, (1998), A Tutorial on Support Vector Machines for Pattern Recognition by. Data Mining
and Knowledge Discovery 2:121167.
14. March (2009) Support Vector Machines Explained, Tristan Fletcher.

Biographies
First authors name is Baha en. He received his B.Sc. Computer Science Department
from the Gazi University, Ankara/Turkey in 1996. He received his M. Sc. Degree from
Institute of Science And Technology, Gazi University in 1999, and his Ph.D. degree from
same department.
His research interests include graphics, vision, genetic algorithms, expert system, computer parallel systems, geographical information systems, 3d modeling and simulation
systems.

Second authors name is Ahmet elik. He received his B.Sc. Computer Science Department from the Seluk University, Konya/Turkey in 2003. He received his M. Sc. Degree from Institute of Science And Technology, Dumlupnar University in 2010, and he is
a Ph.D. student in Institute of Science And Technology, Karabuk University now.
His research interests include graphics, vision, computer systems, network systems,
expert system, data mining systems, simulation systems, and computer parallel systems.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

148

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/50

Learning Management System Design and Network


Access Security with RFID
Dr. Ali BULDU1, Nagihan BEKDA2, Serdar SERT 3
1

alibuldu@marmara.edu.tr, 2nbekdas@gmail.com, 3serdar@serdarsert.com

Abstract. Nowadays, the number of students that studying at undergraduate level increases gradually.
This situation makes internet-base education a better alternative for students. Internet-base education itself
can be used as a education method as well as a method for supporting formal education. This project, with a
variety of modules developed, offers a solution to all steps in the life of a students education such as enrollment to institution, learning-teaching and assessment. In addition to this, user identification module with
RFID is developed as an alternative to username-password system login application. Thus, system login becomes much more practical with the RFID cards that are provided to students.
Keywords: learning management system education e-learning radio frequency identification RFID internet security

1 Introduction
Today, students who studying at undergraduate level, need education that independent of time and space because of their life together with training and business. This situation brought about the need for students to use
technology. So, supporting formal education or as another option to formal education, the importance of webbased education has increased steadily.
In this study is intended to bring the solution with a software development requirement, the software provides
training on the internet. This software is a solution of all educational stages as Students' system registration, education process and assessment of student achievement with a variety of test modules. So that allows students to
receive education as synchronous or asynchronous and aims to develop a solution to the negativity which brought
formal training environment.
At the same time, educational institutions, students will be served the identification cards, which has RFID specialty. Students can access the software with that cards, in-house or outside the institution by a computer that has
RFID reader, without the need for security measures provided by the computer user name and password.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

149

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 1. e-Learning Management System Block Diagram

New Methods in Education: E- Learning Management System

The elearning management system(e-LMS) which uses to achieve e- learning, provides management of learning activities. The system provide functions such as providing learning materials, editing, sharing the learning
material and discussions, making assignment, take exams, providing feedback on these assignments and examinations, students, teachers, and keeping system records, receiving reports.[1]
A learning content management system (LCMS) is a related technology to the learning management system in
that it is focused on the development, management and publishing of the content that will typically be delivered
via an LMS. An LCMS is a multi-user environment where developers may create, store, reuse, manage, and deliver digital learning content from a central object repository. The LMS cannot create and manipulate courses; it
cannot reuse the content of one course to build another. The LCMS, however, can create, manage and deliver not
only training modules but also manage and edit all the individual pieces that make up a catalog of training. LCMS
applications allow users to create, import, manage, search for and reuse small units or "chunks" of digital learning
content and assets, commonly referred to as learning objects. These assets may include media files developed in
other authoring tools, assessment items, simulations, text, graphics or any other object that makes up the content
within the course being created. An LCMS manages the process of creating, editing, storing and delivering elearning content, ILT materials and other training support deliverables such as job aids.[2]

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

150

2 ndInternational Symposium on Computing in Science & Engineering

2.1 All Modules in the e-Learning Management System

Table 1. All Modules in the e-Learning Management System

Module
Membership
Module
Messaging
Module
Categories
Module
Document
Module
Video
Module
Homework
Module
Quiz
Module
Examination
Module
Assessment
Module
Bookplate
Module
Voting
Module
Comment
Module

Explanation
The instructor and students to become a member of the system and to limit the authority provides access to the system.
The instructors for students in public or private, to send messages and make announcements, send a message to the students to each other.
Lesson plans and the contents of nested grouped into categories, the content of this training the students will be served.
Course content categories on the basis of the installation of
the system, allows students to download and use and reporting of students use of the document.
Installation of the system study the contents in video format,
downloaded and used by students and provides students reported the use of the document.
The system allows uploading papers of the students by students and the trainers can download and examine the papers.
During the e-learning, the system provides quizzes which as a
test form.
Students are examined on the web site. The system allows
entry of exam questions according to their degree of difficulty
by trainer with an administration panel
Provides entries of Homework, Quiz and Exam module the
evaluation by trainers by a management panel.
The module provides training contents outside of the categories and one or more categories associated with the subject
and filtered.
The contents can be voted by students, this contents how
much useful for students can be detect and reporting by the
results.
The module provides to making comments and share information to students and educators about the training content.

2.2 E-Learning Application


With the help of the modules developed, it is aimed to realise the learning process over the internet in accordance with the aims and objectives of distance education. The modules placed in the Table 2 are application which
is aimed to realise the learning process over the internet between student and the teacher simultaneously via the
web site of the institution.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

151

2 ndInternational Symposium on Computing in Science & Engineering

Table 2. e-Learning Application in the e-Learning Management System

Application

Explanation

Video
Conference

By performing real-time speech and video over the


web site, allowing trainers to make their students
practice orally.
Supporting training with video conference at real time
over web site.

Synchronicity
Education

The New Face of Security: RFID

As a result of improvements in information and communication technologies, more accurate, more detailed,
faster and more secure flow of the data have become a necessity nowadays. Because of that reason, RFID system
is one of the most promising technologies in control and monitoring of business systems in different fields. The
design of the RFID system aims to compose, to collect and to manage dynamic information, without human interaction. Its usage increases exponentially every year.
RFID is a technology that allows to tracking an object, which is microprocessor equipped and carrying a label, by the information carried by this label and works with radio frequency. With RFID, objects can be identified
and tracked throughout their entire life cycle, the chain of operations from production to distribution. With this
new technological substructure, data collection, service delivery and system management is carried out without
human intervention and the quality and speed of service is increased by reducing error rate.[3]
RFID, Radio Frequency Identification (RFID) is a method of remotely storing and retrieving data using devices called RFID tags or transponders. An RFID tag is a small object, such as an adhesive sticker, that can be attached to or incorporated into a product. RFID tags are composed of an antenna connected to an electronic chip
and are thus basically contact-less smartcards. These chips transform the energy of radio-frequency queries from
an RFID reader or transceiver to respond by sending back information they enclose.4 Finally, a computer hosting
a specific RFID application pilots the reader and processes the data it sends.[5]
Basically, all smart-cards and RFID-readers are hardware products. To acquire digital data from these cardreaders, by accessing hardware, processing the acquired results, which are turned into appropriate format, might
be needed. In that case, it is needed to develop software products which are suitable for all of these card-readers.
Hardware access is provided by unmanaged codes. The unmanaged codes which is provided for access hardware is picked as a group in a library. By creating these libraries, provides access to hardware which has software
is developed at high level languages.

Fig. 2. RFID Application Block Diagram

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

152

2 ndInternational Symposium on Computing in Science & Engineering

In the Windows Operating Systems, the access to the RFID readers is provided by unmanaged dll (dynamic
link library) which is named winscard.dll. If software will be developed for Windows Operating Systems, by
using this Dll can be access to binary data which is created RFID hardware. These results are converted into digital data formats and can be shown to users who are the application's target.
If the software being developed for other platforms, libpcsclite.so.1 library can be used for LINUX, UNIX systems. Libdl.so.2 need to use the library for the Solaris operating system.
It is not necessary to make a major change at the use of unmanaged library for the platforms. The developers
of the operating systems develop this libraries for this kind of universal hardwares. Therefore, by developing a
single application, the workload will be reduced, if the platforms are taken as parameters in the application. By
installing developers libraries for the platforms, system calls, that are suitable for the operating system, in which
the application runs, can be implemented.

3.1 Flow Chart of Identification of the Reader And The Process of Getting Card Information

Fig. 3. Flow Chart Of The RFID Module

Project Architecture

The project developed with Microsoft .Net Framework 4.0, Entity Framework, Flash Action Script 3.0 and Microsoft SQL Server 2008 technologies. If necessary, data transfer can be made to other platforms envisaged with
the "XML" and "XML Web Services technology.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

153

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.
3.
4.

5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.

DURAN N., ONAL A., (2008) renme Ynetim Sistemleri iin SCORM Uyumlu Bavuru Modeli Gelitirilmesi,
Ege Universty, Izmir
Learning and Content Management System, from http://en.wikipedia.org
YUKSEL, M.E., ZAIM, A. H., (2008). Structures Used In RFID systems And A Sample RFID System Design, Istanbul Universty
G. Avoine. Cryptography in Radio Frequency Identification and Fair Exchange Protocols. PhD thesis, Ecole Polytechnique Federale de Lausanne (EPFL), Lausanne, Switzerland, December 2005. [Retrieved December 23, 2005,
from http://lasecwww.epfl.ch/gavoine/download/papers/Avoine-2005-thesis.pdf]
FUHRER p, GUINARD d, LIECHTI O, (2006)RFID:From Concepts to Concrete Implemetation, University of Fribourg
What is the RFID? (2010), from http://www.kirbas.com/
Association for Automatic Identification and Mobility (2001), from http://www.aimglobal.org
Makal B., Bayrak S., atalkaya ., (2007) Otomatik Tanmlama Sistemlerinin Teorik Olarak ncelenmesi ve
RFIDli Sistem Tasarm, Istanbul
RFID (2010) from http://tr.wikipedia.org/wiki/RFID
RFID Etiketler (2008) from http://rfid.mantis.com.tr/2008/05/etiketler/
SOLAK, ., (2008) UHF RFID Etiketleri in SRAM Tabanl Donanmsal Rastgele Say reteci Tasarm,, Karadeniz Teknik niversitesi, Trabzon
RFID Readers, (2008) http://www.ruzname.net/rfid-reader-devre-blok-diyagram
Balkovich, E., Bikson, T. K., Bitko, G., (2005) 9 to 5: Do You Know If Your Boss Knows Where You Are? : Case
Studies of Radio Frequency Identification Usage in the Workplace, Santa Monica, CA, USA: Rand Corporation
Karygiannis T., Eydt B., Barber G., Bunn L., Phillips T., Guidelines for Securing Radio Frequency Identification
(RFID) Systems. Recommendations of the National. Institute of Standards and Technology, NIST Special Publication 800-98, National Institute of Standars and Tecnology, Gaithersburg.
Roberts, C.M., (2006) , Radio frequency identification (RFID), computers&security2
Thornton, F., Haines, B., Das A. M., Bhargava, H., Campbell, A., Kleinschmid, J., RFID Security, Syngress Publishing, Rockland, 2006
BHUPTANI M., MORADPOUR S, (2005) RFID Field Guide:Deploying Radio Frequency Identification Systems
Finkenzeller K, (2008) RFID Handbook:Fundamentals and Applications in Contactles Smart Card and Identification 3. Edition
Brown D, (2006), RFID Implementation
Shepard, S. (2004), RFID:Radio Frequency Identification
White Paper, RFID Teknolojisi, 2009
http://www.rfidturkey.com/web/index.php
http://pinvoke.net/ , access date, 11.03.2011
http://msdn.microsoft.com/en-us/default
http://www.hidglobal.com

Biographies
Ali Buldu Ali Buldu was born in 1971 in Kayseri, Turkey. He received the B.Sc. degree from Marmara University, Technical Education Faculty Electronics and Computer Education Department. He received M.Sc. and Ph.D. degrees from Marmara University Institute for Graduate Studies in Pure and Applied Sciences, in 1996 and 2003, respectively. He has been an
assistant professor with the Electronics and Computer Education Department since June 2006.
His research interests focus on Computer Hardware, Computer Aided Education, Information Technologies, and Programming Languages.
Nagihan BEKDA She was born in stanbul, Turkey in 1989. She currently is continuing education at the department of
Computer and Control Technology.
She is working on software development and analysis, control systems, Computer Aided Education and Information
Technologies. She studies to research about web based learning in education. She has a paper about learning management
systems at International Educational Technology Conference 2011.
Serdar SERT He was born in Bursa, Turkey in 1988. He currently is continuing education at the department of Computer
and Control Technology.
He is working on software development and analysis, control systems, mobile applications and Information Technologies.
He studies to research about web based learning in education. He has a paper about learning management systems at International Educational Technology Conference 2011.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

154

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/51

PSO based Trajectory Tracking PID Controller for


Unchattering Control of Triga Mark-II
Nuclear Reactor Power Level
Grcan Lokman1, Vedat Topuz2, A. Fevzi Baba3
1

Department of Electric-Electronics Engineering, Hali University, Istanbul, Turkey


2
Vocational School of Technical Science, Marmara University, Istanbul, Turkey
3
Department of Electronics and Computer Education, Marmara University, Istanbul, Turkey
1
gurcanlokman@halic.edu.tr 2vtopuz@marmara.edu.tr 3fbaba@marmara.edu.tr

Abstract. This paper introduces the particle swarm optimization (PSO) based trajectory tracking PID
(TTPID) controller to control the Triga Mark-II research reactor established at Istanbul Technical University.
The parameters of PID controller are determined using PSO algorithm. Object of PSO algorithm is to find optimum parameters of PID which provide maximum performance criterion value. In applications, the criterion
value is optimized successfully by PSO. To demonstrate the effectiveness of this controller, series types of
simulations are carried out. The results of the simulations demonstrate that TTPIDC efficiently provides a
simple and easy way to control the reactor. As a result, PSO could optimize the parameters of PID for this
controller and the PSO-TTPIDC could control the system successfully trajectory under various working conditions within the acceptable error tolerance.
Keywords: PSO, PID control, Trajectory Tracking, Nuclear Reactor Control.

Introduction

Proportional Integral Derivative (PID) controller has been widely used in industry due to its advantages such
as simple in structure and easy to implement. Although conventional PID is popular, it is difficult to obtain satisfying controller parameters especially when the process has nonlinear dynamics [1, 2]. Actually, much of the
effort of researchers has been concentrated on the development of new tuning rules for PID controller. Although
this is obviously a crucial issue, it is well-known that a key role in the achievement of high performance in practical conditions is also played by those functionalities that have to (or can) be added to the basic PID control law.
There are different techniques that can be used in tuning PID controller parameters, which can be classified into
the following;
Analytical methods; where PID parameters are calculated from analytical or algebraic relations between a
plant model and an objective [3, 4],Frequency response methods; where frequency characteristics of the controlled process are used to tune the PID controller [5], Adaptive tuning methods; which are for automated online
tuning [5], Optimization methods; where these can be regarded as special types of optimal control, in which PID
parameters are obtained ad hoc using offline numerical optimization methods [6] and Heuristic methods; which
are evolved from practical experience in manual tuning and from artificial intelligence [7, 8, 9, 10].
There are several reasons to develop better methods to design PID controllers. One is the significant impact
it may give because of the widespread use of controllers. The other is the enhancing performance of controllers
which can be derived from improved design methods. It is possible to obtain controller parameters with analytical
methods such as root-locus, bode analysis and pole replacement when system has linear behavior or its possible

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

155

2 ndInternational Symposium on Computing in Science & Engineering

for linearization of the system [3]. Artificial neural network (ANN), Fuzzy Logic controller (FLC), Genetic algorithm (GA), and PSO techniques could be used to model or control the system If the process models have nonlinear dynamics [7, 11] . PSO and GA are general-purpose optimization techniques that have been developed and
recognized as effective for combinatorial optimization problems such as the traveling salesman problem, quadratic assignment problem, and controller tuning problems with successful results [8, 9, 12-20].
Particle Swarm Optimization (PSO) is a recently invented high performance optimizer that possesses several
highly desirable attributes, especially the ease with which the basic algorithm can be understood and implemented. PSO is a technique modeling swarm intelligence that was developed by Kennedy and Eberhart in 1995 [21],
who were inspired by the natural flocking and swarming behavior of birds and insects. This technique has been
used in addressing several optimizations and engineering problems [22].
Numerous researches have been proposed a controller such as PID, FLC, adaptive control and optimal control for the power control of ITU Triga Mark-II [23-30]. The work presented here is a continuation of earlier
research on control of this nuclear reactor. In this study, TTPIDC is designed to control the nuclear research reactor Triga Mark-II at Istanbul Technical University (ITU) and constrained Partial Swarm Optimization (PSO) is
used to optimize its parameters. . Additionally, constrained cost function is used to obtain non-chattering control
surface. To demonstrate the effectiveness of proposed approach, a series of simulations are carried out on ITU
Triga Mark-II reactor. The results demonstrated that reactor power perfectly tracks the predefined trajectory under various working conditions.
This paper is organized as follows. In Section 2 reactor model and defined trajectory are given. Designed
TTPIDC is explained in Section 3. PSO algorithm is briefly explained in Section 4. Finally, experimental results
and conclusion are given in Section 5.

Reactor Physical Model

ITU TRIGA MARK-II research reactor is use solid fuel which obtained by homogeneously mixed enriched
uranium fuel and zirconium hydrate moderator. The reactor has steady state and pulse working mode. It is produces 250 kW powers at the steady state working mode and 1200 MW power at the pulse working mode for a
instantaneous time. The reactor is an open tank type and cooled by light water. Because of reactor has negative
heat coefficient, unexpected power increase is caused to decrease the fuel moderator heat and the reactivity. As a
result, reactor power is automatically decreased. Only TRIGA type reactor has this special characteristic. Reactor
has shock rod, safety rods and control rods which safety and control rods are controlled by electro mechanic
mechanism. In this work, to simulate the neutronic-thermal-hydraulic behaviors of reactor, YavCan code is used
[23] where reactor model could be given as follows;
dX (t )
AX(t) B
dt

(1)

Where, X is (10x1) dimension vector and represents the neutron density, precursor concentration, fuel temperature, coolant temperature, and coolant velocity. A is a coefficient matrices and has (10x10) dimension. B is
(10x1) dimension input vector. Detailed reactor model can be found in Can et al [23, 30].
In order to define control signal, it is necessary to determine the trajectory function that has to be tracked by
the reactor power. The trajectory has three regions which given as follows;

PT 0 1 (t1 t0 )3 2 (t2 t1 )2 3 (t3 t2 )

(2)

Where, PT is power trajectory, t is time, 3 , 2 , 1 , 0 are trajectory coefficients and can be calculated
from the initial, required power and trajectory slope () [14]. There are 14 unknown coefficients in the above
equations.

PSO Based Trajectory Tracking PID Controller Design

The tuning of digital PID controllers for industrial plants could frequently be difficult and time-consuming,
even if expert systems are used to automate the tuning process. Indeed, the use of such expert systems for the

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

156

2 ndInternational Symposium on Computing in Science & Engineering

tuning of digital PID controllers often creates more problems than it solves because of the difficulties inherent in
the process of knowledge elicitation [8]. Therefore, constrained PSO based TTPIDC was proposed as an alternative means of tuning digital PID controllers. In fact, these algorithms provide a much simpler approach to the
tuning of such controllers than the classical approach. Since its invention, the PID control scheme has found wide
applications in industry. Owing to its simplicity and unexpectedly good performance provided by these three
actions defined as a positional form as follows;
s

u (k ) K p e(k ) Ki e(r ) K d (e(k ) e(k 1))

(3)

r 0

Where e(k) is error signal, Kp is proportional gain, Ki is integral gain, Kd is derivative gain of controller.
Object of constrained PSO algorithm is to find optimum parameters of PID controller which provide maximum performance criterion value while smooth control signal achieved. Realized TTPIDC block diagram is
shown in Fig.1.
Trajectory
Power
+ PT
e

_ PR

Reactor Model

PID Controller
Kp

e(t)
s

e(t)

Ki

t=0

de
dt

Kd

1-

Point Kinetics
Model

PR

Thermo -Hydroulic
Model

Z-1

PSO Algorithm
The Best
PID
Parameters

Optimization
Of
Parameters

Cost
Function
(J)

Figure 1. Designed TTPIDC Block Diagram.


Because of defined trajectory has three different regions, cost function has also different weight factor for
each region. In addition, to avoid excessive varying control signal to the rod which cause the oscillation of the
system is described as a non-chattering control, constrained cost function is designed. This constrained cost function is able to minimize ITA error through all trajectory regions;

ITAE

ts

t | PT (t ) PR(t ) |

(4)

t t0

Where, t is the time vector, PR(t) is reactor power and PT(t) is trajectory power.
t1

t2

ts

t t 0

t t1

t t 2

J min t | PT (t ) PR(t ) | t | PT (t ) PR(t ) | t | PT (t ) PR(t ) |

(5)

subject to (u( t n ) u(t n 1) ) u


Where, u allowance limit on control signal deviation. Defined cost function is solved by penalty function
approach as follows:

Where,

J J ;

(u( t n ) u( t n 1) ) u

J J

(u( t n ) u( t n 1) ) u

is penalty value.

(6)

Partial Swarm Optimization

PSO is one of the evolutionary computation which used group intelligence generated by cooperation and
competition between group particles to guide the optimization search. Its unique memory function enables it to

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

157

2 ndInternational Symposium on Computing in Science & Engineering

adjust its searching strategy according to most current search situation. Thus, PSO can be more easily realized
and is a more effective searching algorithm. At present, PSO have already made breakthrough progress in some
practical application fields [31].
Like other evolutionary computation techniques, a population of potential solutions to the optimal problem
called particles is used to probe the search-space. In PSO, every particle has a fitness value determined by object
function, and is assigned a randomized velocity which determines their movement. The concrete steps of PSO are
as below:
1. Random initiate particle population. Randomly generated particle population, each particle represents a candidate solution of a satisfaction utility preference value set.
2. Evaluate all particles according to fitness degree value and update individual extreme value according fitness
degree value function.
3. Update global extreme value according to fitness degree function.
4. Iterate speed and position according to update set of speed-displacement.
5. Repeat step 2 to 5, until iterative condition is satisfied.
Update set of speed-displacement is:

Vi (k 1) WVi (k ) c1r1 ( Pi (k ) X i (k )) c2 r2 ( Pg (k ) X i (k ))

X i (k 1) X i (k ) Vi (k 1)
W Wmax
W Wmax T max
Tmax

(7)
(8)
(9)

In these sets, position X stands for satisfaction utility preference value set, initial position X i is the initially
generated satisfaction utility preference value set; V stands for speed, P stands for individual extreme value of
each particle, g stands for global extreme value, c1 and c2 are study factors, W is inertia weight, r1 and r2 are random numbers in (0,1). In our study, this parameters are selected as; c1=c2=2, W linear decreasing 0.9 to 0.4,
swarm size=35, number of iterations=35.
5

Experimental Results and Conclusion

This paper introduced the PSO based TTPID controller to control the Triga Mark-II research reactor established at Istanbul Technical University. The parameters of PID controller were determined using constrained PSO
algorithm. The best fitness value developed by PSO is 6045. For this system, this value is very successful. Then
to test the designed controller, various initial and desired power levels are applied to MARK II reactor. In the first
experiments, reactor has started up for PTd=50 kW, 150kW and 250kW when initial power PTi=500 W and
trajectory slopes 1=50, 2=20, 3=50. At these experiments reactor is reached the set point without overshoot
and 40W steady-state error is obtained.

Figure 2-a. Power Output and Error when (1=50, 2=20, 3=50, PTi=500W,
PTd=50 kW,150 kW, 250kW) Selected.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

158

2 ndInternational Symposium on Computing in Science & Engineering

Figure 2-b. Control Signal and Rod Position when ((1=50, 2=20, 3=50,
PTi=500W , PTd=50 kW,150 kW, 250kW) Selected.
Reactor outputs and errors between trajectories and outputs are given in fig. 2-a. It is clearly observed from
these figures that reactor outputs are perfectly tracked the defined trajectories. Control signals and rod positions
are also given in fig. 2-b.Control signal and rod position gradually changed so there is no destructive signal to
send to the electro mechanic apparatus of the rod.
In the second experiments, reactor outputs at the three initial power level PTi=100 W, 1kW and 5kW are
observed. Reactor outputs, errors, control signals and rod positions are given in fig. 7-a. and fig. 7-b. respectively.
Reactor is reached the set point without overshoot and a smooth control signal is also achieved. The maximum
tracking error is 175W when PTi=100W selected. Deviation of initial power has no major effect on control signal
or reactor output but, on the other hand setting time is gradually changes.

Figure 3-a. Power Output and Error when (1=50, 2=20, 3=50, PTd=250 kW,
PTi=100 W,1000 W, 5000W) Selected.

Figure 3-b. Control Signal and Rod Position when (1=50, 2=20, 3=50,
PTd=250 kW, PTi=100 W,1000 W, 5000W) Selected.
As a result, the all simulation results show that the reactor power successfully tracks the given trajectory and
TTPIDC could control the system successfully under all conditions within the acceptable error tolerance.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

159

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.
3.
4.
5.
6.
7.

8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

18.
19.
20.
21.
22.
23.
24.
25.
26.

27.
28.
29.
30.
31.

G. Chengyi, S. Qing, and C. Wenjian, "Real-Time Control Of AHU Based On A Neural Network Assisted Cascade Control System," in Conference on Robotics, Automation and Mechatronics, Singapore, 2004.
J. E. Seem, A New Pattern Recognition Adaptive Controller with Application to HVAC Systems, 1998.
K. J. strm and T. Hgglund, PID Controllers Theory, Design and Tuning. USA: Instrument Society of America, 1995.
Y. Lee, S. Park, M. Lee, and C. Brosilow, "PID controller tuning for desired closed-loop responses for SI/SO systems,"
AIChE, vol. 44, pp. 106-115, 1998.
P. Comino and N. Munro, "PID controllers: recent tuning methods and design to specification," in Control Theory and
Applications. vol. 149, 2002, pp. 46-53.
W. Feng and Y. Li, "Performance indices in evolutionary CACSD automation with application to batch PID generation,"
in Int. Symp. on Computer Aided Control System, Hawai, USA, 1999.
M. nal, "Optimization Of PID Controller Using Ant Colony / Genetic Algorithms and Control Of The Gunt RT 532
Pressure Process," in Institue for Graduate Studies in Pure and Applied Sciences. vol. Master stanbul: Marmara University, 2008.
H. Jones and P. B. DeMouraOliveira, "Genetic Auto-Tuning of PID Controllers," in Genetic Algorithms in Engineering
Systems: Innovations and Applications, 1995.
H. A. Varol and Z. Bingul, "A New PID Tuning Technique Using Ant Algorithm," in American Control Conference, Boston, Massachusetts, 2004.
Y.-T. Hsiao, C.-L.Chuang, and C.-C.Chien, "Ant Colony Optimization For Designing of PID Controllers" in lnt. Symp. on
Computer Aided Control Systems Design, Taiwan,2004.
V. Topuz, "Bulank Genetik Proses Kontrol," in Institue for Graduate Studies in Pure and Applied Sciences Istanbul,
Turkey: Marmara University, 2002.
R. K. Ahuja, J. B. Orlin, and A. Tiwari, "A greedy genetic algorithm for the quadratic assignment problem," Computers &
Operations Research, vol. 27, pp. 917-934, 2000.
E. Bonabeau, M. Dorigo, and G. Theraulaz, "Inspiration For Optimization From Social Insect Behaviour," Nature, vol.
406, 2000.
Colorni, M. Dorigo, and V. Maniezzo, "Distributed Optimization by Ant Colonies," in the First European Conference on
Artificial Life, Paris, France, 1992.
M. Dorigo, "Ant Algorithms for Discrete Optimization," Artificial Life, vol. 5, p. 137, 1999.
D. E. Goldberg and K. Sastry, "A Practical Schema Theorem For Genetic Algorithms Design and Tuning," University of
Illinois, USa 2001017, 2001.
E. A. Gonzalez and F. S. Caluyo, "Normal Ziegler-Nichols-Based PID Retuning Using Sequential Ant Colony Optimization (SeqACO)," in 27th Annual Philippine-American Academy of Science and Engineering Meeting & Symposium
(APAMS 2002) Manila, Philippines, 2007
M. Jeffers, "A Genetic Algorithm Based Fuzzy Logic Controller," B.Eng. in Electronic Engineering, Dublin 2001.
M. Salami and G. Cain, "An Adaptive PID Controller Based on Genetic Algorithm Processor," in Genetic Algorithms in
Engineering Systems: Innovations and Applications, 1995.
G. Zhang, B. E. Patuwo, and M. Y. Hu, "Forecasting with artificial neural networks: The state of the art," International
Journal of Forecasting, vol. 14, pp. 35-62, 1998
Kennedy, J., Eberhart, R.C. Particle swarm optimization Proc. IEEE int. Conf. on neural Networks,Vol. IV, pp. 1942
1948. Piscataway, NJ, 1995.
H. Yoshida, K. Kawata, Y. Fukuyama, Y. Nakanishi, A particle swarm optimization for reactive power and voltage control considering voltage security assessment, IEEE Transactions on Power Systems 15 (2000) 12321239.
Can, B., Yavuz, H., Akbay, E.: The Investigation of Nonlinear Dynamics Behavior of ITU Triga Mark-II Reactor, Eleventh European Triga Users Conference, The Germen Cancer Research Institute Heildelberg, Germany, (1990) 11-16
Can, B.: The Optimal Control of ITU Triga Mark II Reactor, The Twelfth European Triga Users Conference, NRI Bucuresti-Pitesti, Romania, 22-25, (1992)
Erkan, K., Can, B.: Self-Tuning Control of ITU Triga Mark-II Reactor, First Trabzon International Energy and Environment Symposium, KTU, Turkey (1996) 29-31
Baba, A.F., Can, B., Gok, I., Akbay, E.: Design of a Fuzzy Logic Controller for the ITU Triga Mark-II Reactor, Proceedings of the Nuclear Plant Instrumentation Control And Human-Machine Interface Technologies, The Pennsylvania State
University, USA, (1996)
Erkan, K., Butun, E., Can, B.: Triga Mark-II Reactor Controller Design Using Genetic Algorithm, Fuzzy Logic and Intelligent Technologies for Nuclear Science and Industry, World Scientific, Singapure, (1998)
Can, B., Baba, A.F., Erdal, H.: Optimal Controller Design by Using Three Zones Trajectory for ITU Triga Mark-II Reactor, Journal of Marmara University for Pure and Applied Sciences, Vol.15, Istanbul, Turkey, (1999) 187-196
Akbay, E., Can, B, Baba, A.F.: Fuzzy Logic Control for ITU TRIGA Mark-II Reactor, 3rd International Symposium on Intelligent Manufacturing Systems, Sakarya, Turkey, (2001)
Coban, R., Can, B.: An Expert Trajectory Design for Control of Nuclear Research Reactors, Expert Systems with Applications 36 (2009) 1150211508
J. Kennedy, R.C. Eberhart, Y. Shi, Swarm Intelligence, Morgan Kaufman Publishers, San Francisco, 2001.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

160

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/54

Person Dependent Model Based Facial Expression


Recognition
Kamil YURTKAN1,2 and Hasan DEMREL1
1

Eastern Mediterranean University, Electrical and Electronic Engineering Department,Gazimausa,TRNC


2
Cyprus International University,Computer Engineering Department, Lefkoa,TRNC,
2
kyurtkan@ciu.edu.tr , 1hasan.demirel@emu.edu.tr

Abstract. Face and facial expressions express the feelings of a human. Human-computer interaction systems highly depend on face and facial expression recognition. We are proposing a new algorithm for person
dependent facial expression recognition from single frontal face image. Our proposed algorithm uses 3D wire
frame face models to model six basic facial expressions of the face: Anger, disgust, fear, happiness, sadness,
surprise. We have tested our algorithm on BU-3DFE database. Proposed algorithm provides acceptable recognition performance with only one known face image.
Keywords: face modeling, facial expression analysis, facial expression recognition, facial features.

1 Introduction
Face and facial expressions play a crucial role in human computer communication. Recognition of face
and facial expressions is essential in order to provide natural dialogue with a computer. During last ten years, the
developments in the field of multimedia signal processing and 3-Dimensional (3D) imaging methods have attracted the utmost attraction of the researchers to focus on a robust solution of facial expression recognition problem.
Recognition of facial expressions is identified by the classification problem between the expression faces and
researchers develop feature based approaches to the classification of facial expressions. By the development of
facial expression recognition systems, a number of applications in the field of human computer interaction can be
developed.
Recognition of facial expressions can be studied in two different categories: depending on a person or it
can be person independent. Person dependent algorithms focus on the problem of facial expression classification
of a known face whereas person independent algorithms work without knowing the person.
The problem of facial expression recognition is studied as a classification problem. Therefore, extraction
of the discriminative features affects the overall classification process and improves the recognition performance.
Several facial features can be extracted from face images depending on the classification problem. In our study,
we consider 2-Dimensional (2D) geometrical facial feature points.
Recent research studies in the field improved automatic facial expression systems at reasonable recognition performances. Unfortunately, most of the systems developed have several limitations that make them unsuitable for real-time applications. Therefore, automatic recognition of facial expressions is still a challenge for the
digital computers and many researchers are working on this concept. The limitations of facial expression recognition performance are the result of high variability in face images including facial expressions. These limitations
can be listed as pose, lighting, resolution and orientation of the face images. Thus, a robust facial expression
recognition system should take into account these limitations, resulting in an extremely large variation in the face
images.
Early researches in facial expressions field lead to the classification of human basic facial expressions in
seven categories: Anger, Fear, Disgust, Happiness, Neutral, Sadness and Surprise [1]. Later on, facial movements
are defined on the face in order to code facial expressions [2].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

161

2 ndInternational Symposium on Computing in Science & Engineering

In our study, we focus on the problem of facial expression recognition for a known person. The aim of
the study is to recognize the facial expressions of a known person at acceptable recognition rates with only single
frontal face image in the known set. Our approach is based on 3D face model. We develop 3D facial expression
models for each person to recognize unknown facial expressions. The 2D geometrical facial feature points are
used in the modelling process, that they are less sensitive to lighting and pose variations.
The paper introduces a novel algorithm for recognition of facial expressions. First, a literature review is
given in section 2, then, face and facial expression modelling is summarized based on our previous studies in
section 3 [6, 7, 9], and model based expression recognition algorithm is explained in section 4. Finally, we conclude with our experimental results and conclusion.

2 Literature Review
The early studies of Ekman in 1970s have been accepted as the reference for the classification of basic
facial expressions [1]. The basic facial expressions according to Ekmans studies are anger, fear, disgust, happiness, neutral, sadness, and surprise. Later on, Facial Action Coding System (FACS) was developed by Ekman and
Friesen to code facial expressions in which the movements on the face are described by action units [2]. Many
researchers have worked on these concepts then. Most of the researchers analyze facial expressions in 2D, and
were tracking the facial movements with the help of facial feature point locations in images and video. In 1999,
MPEG-4 standard defined a model for neutral face with 84 feature points. MPEG-4 standard also defined 68
Facial Animation Parameters (FAPs) for the animation of the face by the movements of the feature points.
MPEG-4 FAPs are popular in most of the research labs to synthesize or recognize facial movements and expressions [3].
In the field of face modeling, one of the most important works done is the face model created by Stromberg, named as Candide, which is popular in many research studies [4]. Some of the methods are using two orthogonal face images to generate the facial texture or on single frontal face image. In our previous studies, we
have developed a new face model for three different resolutions, high, low and medium, and applied two orthogonal face images to obtain the face texture, with our rotation adaptive texture mapping method [5]. Later on,
we developed a face mask in order to synthesize a face from a single frontal face image [6, 7]. Face modelling is
also used in face recognition systems [10]. In this study, we are using the artificial face and facial expression
models generated using our previously proposed model based facial expression synthesis system [9] in order to
recognize the basic six expressions of a face, for a known individual.

3 3D Face and Facial Expression Modeling

3.1 Face Modeling


Our proposed method uses the facial expression synthesis system that we propose in [9]. The method
considers the 3D wire frame model and 20 facial feature points on the face as shown in figure 1 to synthesize the
neutral face and facial expressions [6, 7, 9].
The generated wire frame models are then deformed by the use of MPEG-4 FAPs in order to develop
basic facial expression models of the known face. The face and the facial expression models are then textured
with the known persons neutral face image in order to synthesize the neutral, and six basic facial expressions of
the face.
The 3D wire-frame model ( ) can be described by union of the triangles shown in Eq.
(1), Tm Vm,1 , Vm,2 , Vm,3 , m 1, , n where Vm,1 , Vm,2 , and Vm,3 are the vectors representing three vertices of
the triangle, m refers to the triangle index, and n corresponds to the total number of triangles in wire-frame

model, where

Vm, i

x,

Vm, i

V
y , and m, i z are x, y, and z coordinate values in 3D space [6, 7, 9].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

162

2 ndInternational Symposium on Computing in Science & Engineering


n

,V
T V , V
m m,1 m,2 m,.3
m 1

V
V
Vm,i
Vm,i
m, i m,i x
y
z

(a)

(b)

(1)

(d)

(c)

Figure 1. Wire frame model used: side views (b),(c), front view (a). 20 facial feature points used for modeling (d).

Neutral generic face model is then adapted to the facial characteristics of the individual. To achieve
adapted face models, 3D face model undergoes a model matching procedure. Model adaptation algorithm considers the subdivision of the local regions of the face: silhouette, nose, mouth, right eye and left eye. The detailed
explanation about the synthesis of 3D face models can be found in [6, 7, 9].
3.2 Facial Expression Modeling
Facial expression synthesis is achieved by the deformation of 3D wire frame model with the use of
MPEG-4 Facial Animation Parameters (FAPs). MPEG-4 feature points and FAPs are used for facial animation.
FAPs represent a set of basic facial movements including head motion, tongue, eyes and mouth control. FAPs
obtain displacement functions for each vertex. After computing these displacement functions, the new vertex
coordinates are calculated and applied to deform and model the facial movements as shown in Eq. (2) [3].
The weight Wi is representing the distance of the vertex from the feature point affected from the FAP. Wi
decreases from the centre of the influence area to the less affected area. Wi = 0 for the vertices which are not
affected by the FAPs. Facial expression models generated for an individual is shown in Figure 2 for the six basic
facial expressions: Anger, disgust, fear, happiness, sadness and surprise. The detailed explanations and outputs
can be found in [9].

i x Wi x

'
i y Wi y * W j * FAPx , y , z
i Wi
z z

(a)

(c)

(b)

(
2)

(d)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

163

2 ndInternational Symposium on Computing in Science & Engineering

(e)

(g)

(f)

(h)

Figure 2. (a) Original frontal face image, (b) 3D wire frame model of the individual, artificial facial expression models generated: (c) anger (d) disgust (e) fear (f) happiness (g) sadness
(h) surprise.

4 Model Based Facial Expression Recognition


We propose a novel algorithm for person dependent facial expression recognition based on our previously developed face and facial expression synthesis system. The recognition part of the algorithm uses facial
expression models synthesized. The overall algorithm is illustrated in Figure 3.
Algorithm starts with the 2D geometrical facial feature point locations and the neutral face image as inputs to the system. Facial modeling and synthesis part adapts the generic face model and synthesizes the face of
the individual. Then, the facial expression models of the known face are generated. System uses the artificial
facial expression models generated to recognize the input test sets for known person with unknown facial expressions. Test sets include 20 2D facial feature point locations of each known face with unknown facial expressions.
Similarly, the face model is adapted according to the input facial feature points and generates a face model representing the characteristics of the input feature set. This face model for unknown expression is classified as the
nearest known expression model. The similarity of the test models and the artificial face models is measured with
the Euclidean distance between the wire frame vertices. Thus, the test face model generated from the input feature
set is subtracted from each artificial expression model in the set, and then it is classified as the nearest facial
expression model.
20
Feature
Points

Face
Model Synthesis

20 Facial Features
for Unknown Expression

Expression Recognition

Expression
Model Synthesis

Figure 3. Model based facial expression recognition process.

Unlike the most of the algorithms, our proposed algorithm is based on only single frontal face image
with 20 facial feature points located, making it suitable for real-time applications. Currently, the algorithm is
tested without any training stage, only one frontal face image is known for each person. This gives some limitations in our classification performance, but the algorithm shows promising results with only single face image.
In this study, classification of facial expressions is done in 4 main classes: Anger or Disgust for the first
class, Fear or Surprise in the second class, Sadness in the third class and Happiness in the fourth class. Due to
overlaps in 3D wire frame models for Anger and Disgust, and for Fear and Surprise, we classify them in one class
currently. The next step of the study will be the within class separation of the first two classes reported in this
paper. Also, addition of a training phase will further improve the classification performance as well as within
class separation of class 1 and class 2.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

164

2 ndInternational Symposium on Computing in Science & Engineering

5 Experimental Results
Our facial expression recognition algorithm is tested on BU-3DFE database. Database includes face
images and 83 facial feature point locations in 3D space for 56 female and 44 male samples. We have used 10
female and 10 male samples in order to model and generate artificial expressions. Then, we have tested our algorithm for six basic expressions of each face: Anger, Disgust, Fear, Happiness, Sadness and Surprise. The inputs to
the system are the 20 facial feature point locations in 2D space provided in the database. Totally, we have generated 20 neutral face models, and 120 expression models for 20 input facial feature point sets. Then the recognition
performance of the system for the 120 input feature point sets are measured and classified in 4 different classes:
Class 1 as Anger or Disgust, class 2 as Fear and Surprise, class 3 as Sadness, and class 4 as Happiness. Table 1
summarizes the preliminary test results.
As it is observed from the Table 1, surprise and anger expressions are classified with high recognition rates, whereas , the other expressions have relatively average classification accuracy. In fact, the performance results indicate that there are too much similarity between artificial happiness, anger, disgust and sadness models.
This is the disadvantage of using Euclidean distance metric as the classifier, furthermore, measuring the distances
between the whole wire frame models. Thus, one of our future research directions will be the subdivision of the
face models to the region of interests in the recognition phase. This will reduce the similarities between the face
models of different expressions and improve the recognition performance of the system.
Table 2. Recognition performance of our algorithm.

Expression

Correct
Classification

Incorrect Classification

Classification
Rate (%)

Anger

16

80

Disgust

15

75

Fear

16

80

Happiness

13

65

Sadness

15

75

Surprise

20

100

Overall

95

25

79.16

6 Conclusion
In this study, a model based person dependent facial expression recognition system has been proposed.
To test our system performance, we used BU-3DFE facial expression database [8]. Our algorithm produces acceptable recognition rates in BU-3DFE database. The overall recognition rate is around %79. The proposed
model based algorithm produces promising results by using only single face image for an individual whereas,
most of the other recognition systems are using number of face images in the training phase. By the improvements
in the training phase, higher recognition rates can be achieved with the proposed model based system.
Future directions of the study will be the within class seperation of highly correlated face models for the
expressions anger and disgust in class 1, and fear and surprise in class 2. Also, improvements in the classifier will
improve the system performance. Currently we are using Euclidean distance metric between the wire frame models to measure the similarity. Further improvements of the classifier with a training phase and optimization of
wire frame vertices for best seperability among expression classes will highly improve our recognition rates.7

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

165

2 ndInternational Symposium on Computing in Science & Engineering

References
1.

Ekman, P. & Friesen, W. (1976). Pictures of Facial Affect. Palo Alto, CA: Consulting, Psychologist.
2. Ekman, P. & Friesen, W. (1978). The Facial Action Coding System: A Technique for the Measurement of Facial Movement, Consulting Psychologists Press, San Francisco.
3. G.Abrantes, F.Pereira, MPEG-4 facial animation technology: survey, implementation and results, IEEE Transactions
on Circuits and Systems for Video Technology, vol.9, no. 2, pp. 290 305, March 1999.
4. Ahlberg, J.: Candide-3: an updated parameterised face. Report No. LiTH-ISY-R-2326, 2001 (Linkoping University,
Sweden).
5. Kamil Yurtkan, Hamit Soyel, Hasan Demirel, Hseyin zkaramanl, Mustafa Uygurolu, and Ekrem Varolu, Face
Modeling and Adaptive Texture Mapping for Model Based Video Coding, A. Gagalowicz and W. Philips (Eds.): CAIP
2005, LNCS 3691, pp. 498 505, 2005.
6. Kamil Yurtkan, Turgay elik and Hasan Demirel, Automatic Facial Synthesis from Single Frontal Face Image, The
13th IASTED International Conference on Computer Graphics and Imaging, CGIM 2010, February 15-17 2010, Innsbruck, Austria.
7. Kamil Yurtkan ve Hasan Demirel , Dsk Bit Hizli Video Kodlama Uygulamalari iin MPEG-4 Uyumlu 3B Yz Modellemesi ve Sentezi ,3.Haberlesme Teknolojileri ve Uygulamalari Sempozyumu,Habtekus 2009,9-11 Aralik, Yildiz
Teknik niversitesi.
8. Yin, L. Wei, X. Sun, Y. Wang, J. & Rosato, M.(2006). A 3d facial expression database for facial behavior research. In
Proceedings of International Conferance on FGR, pp. 211-216, UK.
9. Kamil Yurtkan and Hasan Demirel, "Facial Expression Synthesis from Single Frontal Face Image", 6th International
Symposium on Electrical and Computer Systems, 25-26 November 2010, Eueropean University of Lefke,
Gemikona,TRNC.
10. Kamil Yurtkan and Hasan Demirel , Model Based Face Recognition Under Varying Facial Expressions, International
Science and Technology Conference, ISTEC-2010, 27-29 October 2010, Gazimausa, TRNC.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

166

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/55

Privacy Aspects of Newly Emerging Networking


Environments: An Evaluation
Mehmet Cudi Okur
Yaar University,Faculty of Engineering,Department of Computer Engineering
mehmet.okur@yasar.edu.tr

Abstract.Latest developments in internetworking technologies and applications have created serious


security and privacy risks for individuals and organizations. The risks are especially considerable in social networking,search engines,mobile and cloud computing. A recently popular technology is deep packet inspection which allows the hardware and software components to be used to regulate network traffic
and to peek into message packet payloads for various purposes;including censorship, spying or collecting
information about individuals or groups. Commercial applications,legal and illegal uses of private information, which are based on online profiles can be disturbing and even harmful for the participants of internetworking platforms.The pace at which the technology is advancing makes privacy related risks even
more critical. An overall evaluation of related technologies and practices indicate that privacy risks in
virtual worlds keep increasing. The legal and ethical safegurds are also far from being sufficient to protect privacy rights of individuals.
Keywords:Privacy protection,social network,internetworking,cloud computing,deep packet inspection.

1 Introduction
During the last two decades the Internet and mobile communications have evolved to become the main networking platforms that people and organizations use in their online activities.Hundreds of millions of people all
over the world connect to the Internet to perform such diverse tasks as Web surfing, talking to others, video sharing,game playing, gambling,e-commerce , online banking, conducting business etc. All these and similar activites
are essentially made possible by the developments in hardware, software and internetworking technologies. In
recent years, online social networking have become very popular which constitutes a new type of social life for
most people. The services offered by the sites like Facebook, Orkut, MySpace,LinkedIn etc. allow people to host
and expand their online social networks.The users create their profiles in these platforms and exchange information with their friends and strangers.Within the last few years,the number of users of online social networks
has grown at an unprecedented rate. For example, Facebook now attracts more than five hundred million users
daily, an average user has 130 friends and over 30 billion pieces of content are shared monthly[1].
Internetworking exploison have also created serious security and privacy risks.The risks are especially considerable for search engines and mobile and cloud computing platforms.It is a well known fact that, active and
passive profiles of most network users contain private information which is aggregated over time. The utilization
purposes and actual uses of accumulated information can be harmful for the individuals or organizations concerned. New technologies including Deep Packet Inspection have further expanded potential sources for obtaining sensitive data and almost automated the entire process[2].
This paper,investigates the privacy risks involved in currently popular internetworking environments and offers
an evaluation of various types of related practices.First,the concept of privacy is explored within the context of
internetworking applications and then the negative impact of social networking exploison on privacy is discussed.Privacy related problems caused by cloud computing , mobile computing and deep packet inspection are

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

167

2 ndInternational Symposium on Computing in Science & Engineering

also considered and an up to date evaluation of the inherent privacy risks brought by these technologies are presented.Finally,current privacy protection measures and practices involving internetworking platforms are discussed.
2 Privacy Concerns in a World of Networks
Classical definitions of privacy involve the ability of an individual controlling the exposure of sensitive information about himself or herself.Sensitive personal information that is obtained in networking environments is
covered to some extent in this definition. Therefore,lesser privacy means a reduction in a persons freedom to
control private information.In a more IT-related definition, privacy is considered as The right to be free of
unreasonable personal intrusions and the right to be left alone[3].Accordingly, privacy is a condition in which
people have limited access to the personal affairs and sensitive information of others.However this classical privacy framework is beginning to receive opposition stimulated by the latest developments in technology and expansion of social networking[4]. In fact, increased numbers of channels and incentives to share personal information with others make it more difficult to maintain the division between public and private lives of people.
Furthermore,what is sensitive for someone may not be so for others and what could be considered sensitive in
one context may not be in another.The prevalence of mobile technology and social networking have changed
traditional notions of public and private in such a way that now private lives becoming more and more public[5]. Mobile devices and increasing availability of location-based applications further bring public eye into
the private realm. So,the expectations of privacy in a networked world should be different than those of preInternet era.Social networking supporters point to this difference to justify further openness and sharing of personal data for various motives .
The Internet was originally designed to be a borderless dumb network of networks that operates without
any central governing authority.However, applications and developments expanded the structure and role of the
Internet to involve various aspects of daily life.Cultural and legislative differences of countries make various
Internet related activities illegal in one country and legal in another.Current extent of the internetworking causes
ethical and legal privacy problems in this new and borderless cyber world.Not only information privacy, but
security also is a growing concern for individuals,organizations and other public authorities.The need for protecting public safety is considered to have far higher priority than respecting the privacy rights of network users
in most situations.Indeed,governments and public security authorities use terrorism and crime fighting as excuses for limiting or even violating the privacy rights of citizens in many countries[6].
Governments ,corporations and other responsible bodies compile and accumulate huge volumes of personal data about individuals from online sources.Some data is gathered during e-government dealings,such as
filling out an application form for a payement or for demanding a service.Some data is collected when using a
credit card at a supermarket , at a travel agency or for payements during Internet dealings etc.Online data is also
picked up by omnipresent surveillance cameras, radio-frequency identification chips in products and ID cards and
cell phone tracking devices.However, according to the law and the rules of ethics, sensitive personal information
should only be collected,used and disclosed with the knowledge, and consent of the individual and only for
legitimate purposes.Normally, security and confidenciality of the personal information should be guarantied by
the data collecting entity.A discouraging fact in this respect is the speed and ease of copying data from one server
and moving it to another,irrespective of location ,border or political system.Outsorcing practices also have potential to increase cross-border privacy related problems.
There are a number of technology related factors that increase the scope and complexity of privacy and security problems.Some important factors :Ever expanding volumes of electronic data that are being stored , processed and communicated over internetworks,ever increasing complexity of computer hardware and software
components,fast spread of portable devices with high processing capabilities,diminished longtime storage,processing and communication costs and applications of data mining and other business intelligence technologies.The combination of all these factors render protecting privacy and maintaining security in internetworks
difficult tasks.Concerning these environments,the definition and enforcement of common privacy rules and
detection of their violations are becoming even more difficult.So,a paradigm shift about the definition and protection of privacy in modern internetworks is needed.This could be the first step towards resolving the dilemma
of choosing between personal privacy and public safety.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

168

2 ndInternational Symposium on Computing in Science & Engineering

3 Social Networking Sites And Privacy


Social networking sites are platforms that allow members to create their virtual social networks,publish information about themselves and to communicate with other members through links. Facebook, Orkut,
MySpace,LinkedIn,Xing are popular social networking platforms which now constitute the backbone of a new
type of social life for many Internet users. Members are adding more and more data of many forms to define a
virtual identity,express themselves and to contribute to their social circles in these networks.Communication in
social networks may involve sensitive personal information including;relationship status,sexual orientation, political and religious views,work place gossip and personal interests.Most participants,especially yougsters, are not
too stringent about displaying their sensitive information including address,birth date,school,photos,video etc. In
fact,social networks try and encourage the participants to mirror real life communities.Unfortunately,exposing
ones sensitive personal data in a networking environment inevitably creates serious privacy risks,not only for the
individuals concerned,but also for their family,friends and even employer[7].Disclosing sensitive data online
even causes repercussions and other forms of harm for some users.There are several reported such cases which
ended with lawsuits or dramatical consequences.When sensitive information is added to a member profile,it is
impossible to know or control who will access it next,for how long and with what purposes.Even worse, the footprints of revealed information stays online for an indefinite time.As far as the individuals are concerned, it is
almost impossible to remove all carry over effects on the real life.Therefore a new form of regulation mechanism
and protection system in social networks are needed to prevent and alleviate these kinds of adverse effects.
Another recently growing tendency is installing and running by social network members ,the applications
developed by third parties. Such an application usully have access to the entire social graph and urges the user to
submit his or her personal data for subscription.Popular applications involve gaming,dating,sharing video,music or picture albums,financial and health recommendations etc. Some applications like horoscopes, ask and
utilize detailed personal profile data to perform their tasks. Orkut,permits the use of other Google services as
applications.There have been several vulnerability reports involving the other social network applications[8].Although applications add value both to social network platforms and their users by providing new
features,it is a very complicated task to control and limit their functionality which mostly aim to capturing and
exploiting private data.
Ever expanding sizes of social networks attract to these platforms businesses,public authorities and even malicious people.It is a well known fact that,advertising is the major source of income for most web-based companies.In that respect, online profile details of users have considerable commercial value as advertisers utilize
profile information for person specific advertisements.An individuals preferences,interests, likes and even
financial potential are all exploited for influencing marketing decisions. Behavioural advertising is a sophisticated practice which involves tracking consumers online activities over time in order to form Individual Market
Profiles and target advertisements accordingly.Increased popularity and spred of intelligent mobile devices also
attract advertisers to use location and time as bases for finding and targeting new customers.Location and time
related information can be derived from cellular networks, mobile devices, Wi-Fi access points, satellite links ,
global positioning systems and so on.These platforms are generally interconnected to social networks and are
rich data collection sources for them.
Non commercial uses of social profile data are also quite common.Major areas include;using social network
data for credit and health related assessments,job candidate assessments,human resources decisions, legal and
crime prevention applications etc. An alarming type of recent practice involves the authorities creating false
profiles and thus forming fake online identities to collect information for supporting investigations.Powerfull
data mining techniques are also frequently used to extract relevant information from social network profile data
for market analysis, commercial use and decision support .
Social networking based analyses and investigations may produce imprecise results because of very heterogenous nature of data sources.For example,the accumulated data may include false and misleading pieces of
information that produce an imprecise virtual profile for an individual.In most cases,the user may not even be
aware of this profile and have almost no control over it to remove or correct its contents.Revelation and utilization of private and possibly sensitive data by third parties have,in general an important potential for harming the
individuals concerned.Identity theft is one of the possibilities where accumulated private data about an individual can be used to fake his or her personality for deceitful purposes.Person related information like name, address, date of birth, bank account number or employment details are usually enough to apply for a credit card or
loan in the name of a user. Also, the details could be sold to someone else to be used for commercial or unlawful
purposes.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

169

2 ndInternational Symposium on Computing in Science & Engineering

4 Privacy in Cloud Computing


Cloud Computing (CC) is a general term referring to a new type of computing infrastructure. It is based on
a model for the provision of IT services located on remote systems.The architecture of CC allows individuals
and businesses to perform data storage and processing activities using nework connected devices and resources
supplied and managed by the cloud provider. Current cloud services include; online business applications , file
storage,social networking sites and webmail.In a cloud environment,a user machine has a very limited role as the
data storage,management and processing tasks are carried out by poweful cloud servers.The customers of a cloud
usually pay for the amount of services that they receive.
Although CC has obvious attractions to IT service users, it also brings serious problems concerning security,privacy and information management[9].When users place their critical information and applications on cloud
servers, controlling that information becomes difficult as the data residing on cloud servers can be examined,modified ,used and mined by the cloud provider.Cloud customer information may include emails, banking
information,business transactions and backups of hard disks. One of the biggest risks is the possibility that critical or sensitive data may also be intercepted or accessed by unwanted third parties.Although some cloud services use encryption, others store data in clear text form, which leaves it open to security or privacy breaches.
Data stored in the cloud might also be made available to marketers by the operator. For example,email service
providers allow secondary advertising based on e-mail communications and addresses of subscribers.
The cloud model has a potential to create huge collections of fresh data and to expose it to the cloud provider and third parties.Although the contents of a data stream may not always be relevant to cloud operation,there is
a risk that it will be used for commercial or other purposes. However, since CC offers more flexible and central
IT services, adjustments to standards and implementations of protective procedures may be easier and more
effective[10].For example,well designed privacy policies, advanced security features and control mechanisms
can be implemented centrally.
Infrastructure related problems has a potential of diminishing the overall performance of CC.Since most IT
activities depend on physical net access, the level of network quality of service is an important factor for normal
operations of cloud services.Cloud access is slower, more expensive and less reliable than on site hard drives or
central processing units of user computers.Therefore,clouds are easier to be surveilled or tampered with by external forces, such as malicious people, governments, employers or law enforcement entities.The end user does
not have much more options than relying on the service provider to ensure that data is kept private,secure and
reliably accessible, which may be difficul to achieve in most cases.
Industry standards are strongly needed and can help to overcome some of the above mentioned problems in
CC.As far as the privacy is concerned, protective measures should be integrated right from the start into the
cloud architecture and operational procedures.In that respect,defining the boundaries of responsibility between
the customer and cloud provider may be difficult.In most cases, individuals do not pay too much attention to
controlling privacy when they use the cloud infrastructure.In such an environment, not only the individuals data
is at risk, but the individual may not be aware of the intrusions at all.Therefore, implementing some form of
encryption by the user or cloud provider would be effective for the data and applications that have potential
security and privacy risks .
5 Deep Packet Inspection And Privacy
Deep Packet Inspection (DPI) is another currently popular nerwork control and monitoring technique that
has potential for violating privacy of the network users. DPI is essentially based on controlling the flow of network packets and applying packet filtering for efficient traffic management, security, and network analysis purposes. In the early days of the Internet, DPI was effectively impossible to perform on a large scale because of the
limited computing speeds and inadequacy of other components.In reality, DPI technologies have expanded earlier proxy and firewall systems which had limited capabilites and could only perform Shallowinspection.DPI
allows inspection of not only the packet headers but also the actual payload of any transmitted packet over the
network.The term Deep refers to content checking of packets beyond the IP and TCP header information. Current technology offers programmable, single box solutions which can act on all seven layers of the OSI Model.The DPI is a very powerful and versatile technology which allows the passing by information packets to be
examined,bit by bit,for detecting and preventing attacs,regulating traffic and for extracting content according to
operator preferences.It is even possible to alter and reconstruct packet contents.All these and various other operations are performed in real time, for thousands of simultaneous users and at gigabit network connection speeds.
Popular application areas of DPI include; building profiles of consumers for marketing purposes; intercepting

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

170

2 ndInternational Symposium on Computing in Science & Engineering

communications at the request of law enforcement ,enforcing copyright laws, giving transmission priority to
some packets over others and identifying computer viruses and spam traffic.
Obviously,the privacy of information is always at stake in a network environment where DPI is being performed[11].Since most Internet traffic is unencrypted, DPI enables network providers to interfere with their customers' Internet activities,including email, social network communications,web surfing and downloads. Entering
this way into packets reduces the effectiveness of privacy preserving measures as extracting sensitive information
is easy.DPI is popular for governments that wish to control the network traffic of the country.If an oppressive
regime wants to control the flow of information across its borders, blocking Web sites hosted elsewhere is no
longer sufficient.Because, online information sharing through social networking sites are now easy and widespread.Since DPI techniques are very effective for scanning message contents, they can be used for network
surveillance and blocking communications. The DPI process can extract a real time copy of any type of information; including email messages,forum postings,Internet phone calls,URL and IP addresses[12].Because of its
great power,the technique is also used for network wiretapping by public authorities in most countries for law
enforcement purposes.
DPI technologies permit the collection and use of personal information about internet subscribers,based on
their online traffic.The information accumulated this way is utilized to form detailed profiles of people to infer
their desires and interests about various commercial service and product categories. The profile is then used for
creating targeted advertisements. For example, Googles Gmail displays advertisements related to the text of email traffic of users.It is usually very difficult for a subscriber to opt-out or even to have knowledge about this
kind of information collection and targeted advertising.Obviously,most users whose Internet traffic is being
exploited,do not consent for the inspection and use of their mostly private data in such a pocess.
Although DPI is controversial and has been facing criticisizm from privacy and network neutrality circles,content inspection and filtering is common among corporations, schools and other institutions.The technology is mainly used to block viruses ,spam ,pornography,gambling and to enforce IT usage policies to students
and employees.However,the real threat to privacy is posed by Internet service providers with their dominating
technological and financial powers.They do not usually reveal their motives for DPI and do not ask the subscribers prior consent for content inspection.In fact, average users cannot be expected to have enough power
to protect their privacy or to easily switch provider.The DPI software is generally proprietary and privacy protecting setups are too complex for most users to properly understand and configure the services or to opt-out
parts of it.The result is the capability of singling out a subject,tracking every move on the cyberspace,recording
the details of every e-mail, following every Web search and even physical trajectory of someone.All these facts
are alarming and have increased privacy related objections from the public and calls for legal protection in countries like the US,Canada and GB.Certainly new forms of protective legistlation and self-regulation from network
operators are needed to protect individuals from privacy risks of DPI
6 Conclusions
The sizes and scopes of internetworking platforms have expanded to cover considerable percentages of populations and organizations in most countries.Especially,social networks,CC and newer DPI technologies create
increasingly higher privacy and security concerns which are difficult to overcome using older preventive
measures.Social networks have great potential for the leakage of sensitive private information as they aim to
creating and expanding social relationships similar to real life among their members.Active and passive user profiles that are formed in these networks are not only utilized for targeted advertising but also open to abuses and
misuses for malicious purposes.The privacy settings offered by social networks are usually very complex to be
fully grasped or mastered by average users.Therefore,simple sets of rules and sandards are needed for preventing
abuses and protecting privacy rights in social networks.
CC on the other hand creates different types of privacy problems as huge volumes of Internet traffic and personal data are managed by the cloud operator on behalf of customers.Cloud operators,public authorities or hackers can interfere with the data to utilize it for various intentions.The owner has very little control over the data
once it is trusted to the cloud operator.Stringent rules procedures and eventually standards are needed for protecting cloud customers from misuses of private data.
DPI capabilities of latest network control and monitoring technologies are useful for improving performance,but also bring direct privacy risks for network users.Because,proprietary packet inspection devices and
software can examine,change and copy the contents of tansmitted packets.This is a great power which can be used
for law enforcement,crime fighting ,network surveillance and profit making.A network user does not have too
many options to prevent deep DPI process as the operational procedures and hardware/sofware components are
beyond the control of network users. In reality, DPI introduces additional complexities to already complicated
problems of protecting privacy and security in large internetworking platforms.Standards and rules are needed

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

171

2 ndInternational Symposium on Computing in Science & Engineering

that would force network operators to get permission from customers before inspecting and tracking their online
activities.
A major difficulty arises from the fact that the internetworking technologies are borderless and their application areas are expanding very rapidly.These conditions make it difficult to develop appropriate policies,standards and legislation which will prevent inherent privacy and security risks. Because the lifetimes of
related technologies and applications are so short,the usage types and procedures never reach to stability.Intelligent software aided privacy protection may offer solution to most problems, but research in that direction has not been productive enough so far.
References
1. Facebook Statistics(2011). http://www.facebook.com/press/info.php?statistics
2. Facebook Privacy Policy(2011). http://www.facebook.com/policy.php
3. Brey, P. (ed.) (2006). Privacy and Surveillance. Special issue of the journal Ethics
and Information Technology, 7(3) .
4. Jones, H. and Soltren, J.H..(2005). Facebook :Threats to privacy.Technical report,
Massachusetts Institute of Technology.
5. Felt,A. and Evans, D.(2009). Privacy Protection for Social Networking Platforms, in
Proc. of Web 2.0 Security and Privacy.
6. Grimmelmann, J. T. (2009). Facebook and the Social Dynamics of Privacy. Iowa
Law Review,95(4).
7. He, J ,Chu,W and Liu,V.(2006).Inferring privacy information from social networks.
In Proceedings of Intelligence and Security Informatics, volume LNCS 3975.
8. Knight,J. (2010). Exposing the inherent privacy design flaws in Facebook
Online Conference on Networks and Communities.
9. European Network and Information Security Agency (2009).Cloud Computing:
Benefits, Risks and Recommendations for Information Security. Report.
10. Allan A. F. and Darrell M. W.(2010). Privacy and Security in Cloud Computing.
http://www.brookings.edu/techinnovation
11. Clarke, R. (2009). Deep packet inspection: Its nature and implications. Office of
thePrivacy Commissioner of Canada Deep Packet Inspection Essays Website.
12. Bendrath, R. and Mueller, Mi. (2010). The end of the Net as we know it? Deep
packet inspection and Internet governance. Working paper series, SSRN.
13. Daly, A(2010).The legality of deep packet inspection.First Interdisciplinary 07-19,
Workshop
on
Communications
Policy
andRegulation
Amherst
No. 2007.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

172

Technical

Report

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/56

Realization of Campus Web Information


Automation in Context of
Service Unity Architecture
zkan CANAY1, Selim MER2, Hayrettin EVRGEN3, Metin VARAN4
1-3

Sakarya University Computer Science Engineering Department - Sakarya, 54040 Trkiye


2
Sakarya University Institute of Applied Sciences Sakarya, 54040 Trkiye
4
Sakarya University Electrical and Electronics Engineering Department - Sakarya, 54040 Trkiye
1
canay@sakarya.edu.tr, 2smeric@sakarya.edu.tr, 3evirgen@sakarya.edu.tr, 4mvaran@sakarya.edu.tr

Abstract. Information system applications are basically designed to administer business processes
faster and more comprehensively. Today, institutions are tendency in the information systems projects to
use predominantly web-based architectures. These projects must comprise certain qualified features including authentication, authorization, logging, error handling/reporting, presenting a user-friendly interface and
a healthy account management administration. In practice, using all of these features separately in each developed application makes the application development process longer, disrupts the integrity of business
systems and forces to user to login separate addresses to access applications. This study presents a proposal
on managing different servers and server services under a single framework. This proposal promotes security level by allowing login control operations under one-single point and thus prevents recurrence of same
operations. In this study; besides regarding web-based projects into a service unity, it is also aimed for carrying out instant used services needs such as authentication, authorization, logging, error handling/reporting and a healthy account management administration through a user-friendly interface.

Keywords: Campus Automation, Service Unity, Web Based Projects, One-Single Point
Control
This work was supported by Sakarya University Scientific Research Foundation (Project number:
2007.01.10.001)

1 Introduction
Information system applications are basically designed to administer business processes faster and more comprehensively. Today, institutions are tendency in the information systems projects to use predominantly webbased architectures. These projects must comprise certain qualified features including authentication, authorization, logging, error handling/reporting, presenting a user-friendly interface and a healthy account management
administration. In practice, using all of these features separately in each developed application makes the application development process longer, disrupts the integrity of business systems and forces to user to login separate
addresses to access applications. In the light of these findings, we should highlight the importance of web portals.
The World Wide Web continues to be the superior application on the internet because it has regularly reinvented
itself. In fact, for most people, the World Wide Web has become synonymous with the Internet. With the introduction of web portals, the web is in the process of reinventing itself once again. This change may prove to be
more far-reaching than any other change to hit the Web, and it will change the way that university and corporate
Web pages are built, the organizational structures used to build them, and the essential way that people use the

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

173

2 ndInternational Symposium on Computing in Science & Engineering

web. There have been many different definition sentences about web portal. Like so many of the terms that we
encounter in our industry, the word portal has come to mean nearly anything; in fact, it is probably the most overused term on the web today. But what does it mean? What do you do when your boss comes to you and says he
wants you to build a portal? Most people will tell you that a portal is some kind of entry page that represents a
larger section of content [1]. Wikipedia, for example, defines it as follows:
A web portal is a website that provides a starting point or gateway to other resources on the internet or intranet
[2]. So, given a definition as loose as that, what isnt a portal? Each of the following examples would fit the definition of a portal quite nicely:
http://Google.comas a search engine, it could easily be considered as the starting point for the entire Internet.
The front page of your companys intranetit has links that lead to all of your companys content.
Any page on the Internet that contains hyperlinksthese would pretty much satisfy those definitions.
Given such a simple definition, each of the three listed items must be a portal because each provides a place from
which to start an excursion on the Internet. However, when the term portal is used to describe websites, it implicitly refers to other, more specific characteristics beyond simply being a page with hyperlinks on it. So well need
to come up with a definition of our own which better describes the type of websites that we think of when we
refer to portals.
Specific application portals are typically built on common sets of core services, so reusability of these services
is a key problem in portal development [3]. In this study we address the reusability problem by presenting a comprehensive view of an interoperable portal architecture, beginning with a set of core services built using the web
services model and application metadata services that can be used to build campus automation front ends out of
these core services, which in turn may be aggregated. This study also presents a proposal on managing different
servers and server services under a single framework. Proposed single framework might be regarded as a portal
architecture. This proposal promotes security level by allowing login control operations under one-single point
and thus prevents recurrence of same operations. In this study; besides regarding web-based projects into a service unity, it is also aimed for carrying out instant used services needs such as authentication, authorization, logging, error handling/reporting and an healthy account management administration through a user-friendly interface.

2 Literature Review
With the introduction of Web portals, the Web is in the process of reinventing itself once again. This change
may prove to be more far-reaching than any other change to hit the Web, and it will change the way that university and corporate web pages are built, the organizational structures used to build them, and the fundamental way
that people use the web. Portals are not a fad or a new name for something that weve been doing all along. They
will turn the Web from an institution-centric repository of information and applications to a dynamic user-centric
collection of everything useful to a particular person in a particular role. Instead of a single home page that proclaims identically to all who visit how grand the institution is, portals will give nearly every user a customized,
personal-specific, unique web page.
With the appearance of the internet and the development of advanced internet portal technology [4], the design
of internet-based information systems which could serve common sector/chain information interests seems to be
within reach. There are many confusing and often contradictory definitions about portals. It is useful to divide
portals into two groups: horizontal portals, or HEPs (Horizontal Enterprise Portals, also called mega-portals), and
vertical portals, or VEPs (Vertical Enterprise Portals). A horizontal portal is a public Web site that attempts to
provide its users with all the services they might need [3].
The HEPs combine a wide range of services, information, etc. and their building is generally simple, because
the main principle valid in this process is to make the site present anything for many types of users [5],[6]. A VEP
is a portal that delivers organization-specific information in a user-centric way. A university VEP should also
deliver all the information a HEP delivers. Whereas a HEP looks the same to all who first enter it, a VEP looks
quite different. Unlike a HEP, a VEP requires authentication for access. When a user logs on to a VEP, it produces a customized portal page, tailored to the user who logged on. It knows a great deal about the user who logged
on because the user is a member of the organization that produced the VEP[7],[8]. It knows, for example, what

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

174

2 ndInternational Symposium on Computing in Science & Engineering

cohort a user belongs to (for example, student, faculty, staff), what role a user plays (for example, help desk manager, department chair, lacrosse team member), what projects a user is involved with, how many vacation days a
user has taken this year, and much more.
The present situation in European countries as well as in the US is characterized by the emergence of horizontal portals, some of them highly publicized and with strong backing by interested groups [9] However, the majority of them has a narrow focus on one or a few sectors (products). Vertical portals are still rare and on an experimental stage. The experimental vertical portals are usually managed by a single member (enterprise) of a chain
and might only be accessible by members of the chain.
Examples of horizontal portals at farm level in different countries include machinery trade, plant production,
commodity trade, meat production, etc. [10]. Examples of vertical portals include a portal in meat production
where farms are linked with meat processors, restaurants and
consumers and a chain-internal portal in
grain/flour production where farms are linked with mills and bakeries [11]. In this study, proposed automation
architecture falls into vertical portal category due to vertical portal that delivers organization-specific information
in a user-centric way.
Many universities are considering what they call student portals or course portals or financial information portals. Although starting with a portal that has a limited constituency may make sense, the goal of a university
should be to move as quickly as possible to a single portal that serves everyone: students, faculty members, staff
members, alumni, and parents of students, prospective students, trustees, donors, and anyone else who would
access a university home page. This work comprises beyond these necessities. Beyond expected necessities find
its meaning in proposed comprehensive framework that also combine all other campus automations under a single
framework named as CAWIS.
3 Methods
3.1 Design Preferences
During all development processes of this automation system, ultimate web technologies have been traced and
investigated closely. At early times in process of development, necessities of university have been revealed openly. There have been occurred comparative performance tests among alternative technologies and results have
been reported. Among different programming languages, database systems and operating systems, following
preferences have been selected.
3.1.1 Operating System
Due to satisfied results from our tests especially in performance and security category, Linux was selected as
main operating system.
3.1.2 Web Server
Apache web server was chosen as web server because of unique harmony with Linux operating system[12].
3.1.3 Programming Language
Today, PHP [13], ASP [14], CFM [15], JSP [16] etc. are used for server-side scripting languages. By the light
of our test, it has been shown that PHP is speedier, more flexible and has more performance than other languages.
PHP was chosen as programming language.

3.1.4 Database Management System


MySQL RDBMS was chosen as database system because of unique harmony with Linux operating system and
Apache-PHP [17]. MySQL RDBMS is most preferred database system with Apache web server and PHP programming languages due to security and performance mentions.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

175

2 ndInternational Symposium on Computing in Science & Engineering

3.1.5 Standardization
For the aim of getting rid of programming complexities and defining some orders about quality manners, it
was chosen a Web Software Standards cover at early times in the process of development.
3.1.6 Database Design
Currently used databases in other departments are in major purposes of this portal. That means created service
unity architecture comprises a flexible database structure over all projects used in university automation. This
database model satisfies one-point control on all projects. Especially, this model increases the efficiency of transaction durations and makes one-point security phenomenon easy to implement.
3.1.7 Security
128 bit SSL crypto was designed to use for protecting each created web page [18]. User specific information
was also protected with MD5 crypto-algorithm [19]. Every input was saved with an IP number and detailed transaction types. Authorization mechanism comprises due assignment for each users with different access level on
each services.
3.1.8 Data Integrity with Other Automation Systems in University
Data for providing available services is obtained from the other automation systems in university. Other automations include Medico Automation, Goods-Stock Automation, Circulating Capital Automation, Salary Automation, Student Affairs Automation, Santral Automation, Staff Automation, and General Documents Automation.
Figure-1 sketches relational flow-chart between CAWIS and all other automation systems in university. Web
Page box in Figure-1 resembles CAWIS interface.

Fig. 1. Relational Flow-Chart between CAWIS and All Other Automation Systems in University

CAWIS holds 9 different services namely WebGate, WebMail, WebObis, WebAbis, WebPbis, WebMenu,
WebRehber, WebForm and WebAnket. All these services are integrated with other automation systems.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

176

2 ndInternational Symposium on Computing in Science & Engineering

3.2. Service Unity Architecture and CAWIS Services


Delivering organization-specific information in a user-centric way brings CAWIS architecture into vertical
portal category. When a user logs on to CAWIS, it produces a customized portal page, tailored to the user who
logged on. It knows a great deal about the user who logged on because the user is a member of the organization
that produced the VEP. This functionality is another essential property that brings CAWIS architecture into vertical portal category. Customized portal pages produced for each user includes different access rights for each
services running under CAWIS. Some of services are only delivered custom roles with user centric access rights.
By these lights, service architecture of CAWIS was introduced in details.
Services running under CAWIS are in structure type of one-point service framework, in other words service
unity architecture. As shown in Figure-2, CAWIS comprised 9 different services.

Fig. 2. Services running under CAWIS

WebGate (User Information Service) carries out access control, security logs, password change and personal
preferences settings.
WebMail (E-mail Service) carries out rich text support mail receive/send service, file and addresses manipulations.
WebObis (Student Information Service) carries out demonstrating course schedules, selected courses, grade results, transcript view, and executing course enrollments and some edit manipulations.
WebAbis (Academic Information Service) carries out demonstrating course information, activitiy workload definitions, scores and attendance lists, and executing relative evaluations and score entries of courses for academic
staff.
WebPbis (Staff Information Service) carries out demonstrating salary details, additional payments, charge lists,
telephone bills, personal specific preferences and pdf print choices for all staff.
WebMenu (Monthly Meal Information Service) carries out demonstrating normal and diet meal lists, meal calorie
values and ingredients of meals.
WebRehber (Telephone and E-mail Search Service) carries out searching with name, surname, telephone,
username, and department in electronic staff guidebook.
WebForm (Form Transfer Service) carries out holding satisfactions, critiques and suggestions about whatever
university manners.
WebAnket (Survey Service) carries out survey creation, management and reportings.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

177

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 3. Architectural Scheme of CAWIS


In Figure-3, architectural scheme of CAWIS was sketched. In this sketch, it was shown that CAWIS manages
different servers and server services under a single framework. This architecture promotes security level by allowing login control operations under one-single point and thus prevents recurrence of same operations. Besides
regarding web-based projects into a service unity, CAWIS was also carried out instant used services needs such
as authentication, authorization, logging, error handling/reporting and a healthy account management administration through a user-friendly interface.
4 Findings and Conclusions
4.1 Architectural Achievements
Owing to this one-point service framework architecture, user account and session managements, error handling,
logging, and screen and navigation tools design templates are served quickly. When implementing a new service
in this portal, developed framework constitutes a flexible and easy procedure. This property also satisfies need for
quick service implementation durations.
All services served in this portal use a one-point username and password control. User access levels for all services are distributed after this control point. Using CGIs it is possible to manage LDAP, mail and web server
accounts on the other Linux based servers. This is another satisfactory benefit of this framework.
4.2 Performance Results
100 test users have attempted many transactions on server, transaction durations given as follows:

Each account creation: 0.5 sec.


Each Password change: 0.23 sec.
Each Account deletion: 0.41 sec.
Each Writing temp table: 0.012 sec.

References
1. Zabir, O.A., Building a Web 2.0 Portal with ASP.Net 3.5, O'Reilly Media; 1 edition, ISBN-13: 9780596510503, January 11, 2008.
2. http://en.wikipedia.org/wiki/Web_portal
3. C., Young, Web Services Based Architecture in Computational Web Portals, Doctorate Dissertation,
Syracuse University December-2003.
4. B., Detlor, The Corporate Portal as Information Infrastructure: Towards a Framework for Portal Design.
International Journal of Information Management, Year 2000, Vol. 20 (2): 91-101.
5. D., Barnick, D., Smith, G., Phifer, Q&A Trends in Internet and Enterprise Portals. Gartnet Group.
Bartels, A., 1999. What's a portal and Why It Matters Giga Information Group.
6. Milutinovic, V., Infrastructure for Electronic Business on the Internet. 2001.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

178

2 ndInternational Symposium on Computing in Science & Engineering

7. Kashyap, V., A. Sheth, Information Brokering Across Heterogeneous Digital Data, 2000.
8. http://www.dkms.com/ html.
9. Fritz, M., Kreuder, A.C., Schiefer, G. (eds.) 2001. Information Portals and Information Agents for Sector and Chain Information Services. Report A-01/4. University of Bonn-ILB.
10. Schiefer, G., Helbig, R., Rickert, U. (eds.) 1999. Perspectives of Modern Information and Communication Systems in Agriculture, Food Production and Environmental Control. Proceedings of the 2nd European Conference of the European Federation for Information Technology in Agriculture, Food and the
Environment. University of Bonn-ILB, Bonn, ISBN 3-932887-07-7.
11. Boeve, A.D. 1999. Integrated Veal Information. In: Schiefer et al. (1999): 835-844.
12. http://www.apache.org/
13. http://php.net/
14. http://www.asp.net/
15. http://www.adobe.com/products/coldfusion
16. http://java.sun.com/products/jsp/
17. http://www.mysql.com/
18. http://www.openssl.org/
19. http://en.wikipedia.org/wiki/MD5

Biographies
zkan CANAY He was born 1977 in Sakarya-TURKEY. He has graduated from Sakarya University Industrial Engineering department in 2002. He has received master science degree-2005 from Sakarya University Industrial Engineering department. He has already been as PhD student at Computer and Information Systems Engineering department in Sakarya University since 2005. His interests are basically in internet and web programming, database management systems design, data
mining, artificial intelligence, and linux based application development.
He is currently working as a manager at Computer Sciences Research and Application Center in Sakarya University.
Msc. Eng. Canay, currently is an executive board member of Computer Sciences Research and Application Center, a
member of University Information Technologies Commission, an advisory board member of University, an executive board
member of Information Technology Association of Sakarya.
Selim MER He was born 1978 in stanbul-TURKEY. He has graduated from Sakarya University Electrical-Electronics
Engineering department in 2003. He has already been as master science student at Electrical-Electronics Engineering department in Sakarya University since 2009. His interests are basically in pic and pcd programming, electronics circuits, internet
and web programming, database management systems design.
He is currently working as an electronics engineer at a research and development company.
Bs. Eng. Meri, currently is a member of Electrical Engineers Chamber in Turkey.
Hayrettin EVRGEN He was born 1956 in Tekirda-TURKEY. He has graduated from Seluk University Physics Engineering department in 1986. After getting master science degree from Sakarya University-TURKEY in 1997. He has studied
as researcher at Manchester University in United Kingdom-1999. He gained his PhD degree at Computer Engineering in
Sakarya University in 2002. His interests are basically in computer and educational technologies, programming, database
management systems design, project management.
He is currently working as a manager at distance learning based Vocational School of Adapazari in Sakarya University.
Assist.Prof. Evirgen, currently is an executive board member of Computer Sciences Research and Application Center, a
member of University Information Technologies Commission, an advisory board member of University, and honorary president of Information Technology Association of Sakarya.
Metin VARAN He was born 1981 in Bingl-TURKEY. He has graduated from Sakarya University ElectricalElectronics Engineering department in 2006. He has received master science degree-2008 from Sakarya University ElectricalElectronics Engineering. He has already been as PhD student at Electrical Engineering Department in Sakarya University
since 2009. His interests are basically in Electric Power System Analysis, Application of Chaos Theory in Electric Engineering, Voltage Stability Analysis in Power Systems, Embedded System Programming, API Programming, and Object Oriented
Programming.
He is currently working as a software developer specialist at Computer Sciences Research and Application Center in Sakarya University.
Msc. Eng. Varan, currently is a member of Electrical Engineers Chamber in Turkey.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

179

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/57

Application Specific Cluster-Based Architecture for


Wireless Sensor Networks
Taner Cevik1, A. Halim Zaim2
1

Fatih University, Department of Computer Engineering


Istanbul Commerce University, Ins of Science and Engineering
1
tcevik@fatih.edu.tr, 2azaim@iticu.edu.tr

Abstract. Recent developments in wireless communications, signal processing, and microprocessors


have made it possible to develop very small-size, low-cost devices called sensors. In spite of having very
small dimensions those tiny devices have their own processor, data storage areas, the sensing mechanism to
collect physical data from environment and radios for providing communication with outside. The biggest
disadvantage of being small-sized is to have a limited amount of energy resources. Therefore, many researches have been done for the sake of solving or making contributions to that energy shortage problem. Most of
those researches have been focused on contributing solutions for the energy consumption of the communication unit, which is the major energy dissipating component of sensor nodes. In this paper, we present an energy efficient complete architecture which is based on clustering scheme as in LEACH. In the scheme we propose, cluster heads are selected in a round robin manner. Data aggregated in clusters are transmitted by cluster heads to the sinks via other cluster heads of the clusters that are closer and on the way to the sinks. Other
cluster based schemes mainly focus on intra cluster organization and communication. However, much more
energy is dissipated during the inter cluster communication according to the intra cluster communication. The
architecture we propose here do not only deal with intra-cluster communication, also takes into account the
data aggregation, multi-hop data transmission and best-effort next hop selection according to a cost factor.
Simulations show that, our proposed architecture achieves incredible amount of energy savings, thereby prolongs the network lifetime.
Keywords: Wireless sensor networks, energy conservation, routing, Clustering.

1 Introduction
Today, computer and electronics take more space in our lives and take the mission of man power in many
tasks which are impossible, dangerous or time consuming for human being to perform. Previously, it could not
pass beyond imagination for using computerized electronic devices instead of human being to collect data physically from a dangerous environment. This is because the devices and mechanisms to perform these operations
were not previously available. By the time they were available, they had very big costs. However, by the developments in circuits, signal processing, other some sub electronics and wireless data communication techniques,
procedures appeared to be difficult and costly have become extremely easy and low cost to perform.
Wireless Sensor Networks have been taking the mission of human being in many areas such as performing
control functions in offices, fabrics; early diagnosis of faults in ships, trains, cars and airplanes; forest fires prevention with the help of early diagnosis; realization of efficient agricultural watering systems and instant notification of attacks at places which are critical in terms of security [1, 2, 3, 4].
One of the biggest advantages of Wireless Sensor Networks is to have the ability to be able to be selforganized, in other words, is that the ad-hoc structure. However, in order to have those capabilities such as without being tied to any structure and being able to be self-organized, appropriate communication protocols and
techniques need to be improved. Although it is conceivable to use the traditional techniques used for Wireless
Ad-hoc Networks also for Wireless Sensor Networks, in fact, the development of techniques specific to Wireless

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

180

2 ndInternational Symposium on Computing in Science & Engineering

Sensor Networks is more suitable. To better understand the reasons for this, let's look at the differences between
Wireless Sensor Networks and Wireless Ad-hoc networks [5]:
The number of nodes working in Wireless Sensor Networks is much higher than the number of nodes
working in Ad-hoc.
In Wireless Sensor Networks, communication is performed based on the broadcast logic in which within
the coverage area of a node all others can obtain the data. However, in Ad-hoc Networks data transmission mostly occurs in a point-to-point manner between two nodes.
Wireless sensor nodes are more limited in terms of energy, data processing capacity and memory compared to others.
Since the number of nodes in Wireless Sensor Networks is too large, it is not possible to assign each
node an individual ID number. The reason for that is large amount of nodes, large ID space. Large ID
space means larger ID numbers which bring additional burden in terms of energy consumption and delay
[5].
Small size of the sensor nodes has given the opportunity of cheaply utilizing them in many areas. However,
another significant problem emerged is that sensor nodes have limited resources. The biggest hardship brought by
the limited power supply is this: there are situations where it is impossible to replace the energy exhausted nodes
with the new ones. According to the application's purpose, Wireless Sensor Networks is expected to take the life
of many months and sometimes years. For these reasons, the researchers have been continuing their work on
communication techniques that lead to less energy consumption.
It is observed that, the amount of energy expended during transmission of a single bit between two wireless
sensor nodes is equal to the amount of energy spent by a sensor node performing a thousand transactions [6].
Another important leading energy consuming unit is the sensing unit that is used for gathering physical data from
environment. In many cases, depending on the sensor type used, the amount of energy spent by that unit varies,
however it is still negligible relative to the energy spent during data transmission [7].
In this paper, we propose an application-specific complete architecture by including other researcherss successful methods blended with our new techniques. Other methods such as LEACH [8, 9], the brainchild of clustering idea and its followers HEED [10] and PEGASIS [11] dealt only with intra-cluster communication. However, besides the intra-cluster communication, another and more energy consuming challenge to be dealt is the
inter-cluster communication. We propose here a TDMA-based, localized, energy aware next-hop selection idea
which provides fair load balancing and fair order of next hop selection between adjacent clusters resided in the
same layer. As it is discussed in [12, 13], employing multiple sinks in wireless sensor networks provides significant gains in terms of fair load distribution and prolonging lifetime of the nodes located in the Hot-spot region.
In addition, multi-layer approach is applied in corporation with multiple sinks idea. With the aim of alleviating
the burden of the nodes located in the so-called hot-spot region, the network structure is divided into multiple
nested layers. Each node in the number of clusters created in a layer varies according to the layer the cluster located. Since, the workload of nearby nodes is higher than the farther ones, clusters located nearby the sinks contain more nodes regarding to the ones located in the inner layers. Multi-channel communication, data aggregation, in-node processing are other energy conservative methods employed in our architecture in order to improve
energy conservation efficiency.

2 Related Work
Low-Energy Adaptive Clustering Hierarchy (LEACH) [8, 9] is an energy-efficient clustering based protocol
that has created a base for many studies. In LEACH, the topology is divided into clusters as it is depicted in Figure 1. Each sensor node belongs to a cluster with a cluster head (CH) selected randomly at the beginning of each
round.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

181

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 1. Cluster structure in LEACH


The nodes in the network maintain their missions in two states, setup and steady phases. In the setup phase,
heads of the clusters are selected randomly in order to evenly distribute the transmission load among the sensors
in the network. After head selection, the network goes into the steady phase in which transmissions take place.
Every node determines which cluster head they will belong to. After this stage, cluster heads define a schedule
and announce that schedule to the nodes in its cluster. Nodes go into sleep except the transmission time interval
dedicated for them by the cluster head. During transmission period, if they have packets to send, they transmit
their packets to their cluster heads. After cluster heads get all the packets from the nodes in their clusters, they
compress and reduce the size of the data to be sent to the sink.
PEGASIS (Power-Efficient Gathering in Sensor Information Systems) [11], is an improvement of LEACH
[8, 9] and constructed its fundamental logic over the base of LEACH. However, in PEGASIS, instead of clustering scheme, a chain structure is applied as it is presented if Fig. 2.

Fig. 2. Chain Structure in PEGASIS


Each node in the chain, send and receive data to and from its closest neighbor. Chains are formed either by
applying greedy algorithm or calculated by the sink and later on broadcasted to all nodes in the topology.
HEED (Hybrid Energy-Efficient Distributed Clustering) [10], is another energy efficient-approach for clustering nodes in sensor networks. In HEED, cluster heads are selected periodically but not at each round, according to hybrid of their residual energies and a parameter called average minimum reachability power (AMRP).
First criteria considered during the CH selection stage is the residual energy levels of the nodes. The node with
the greatest residual energy level is selected as the cluster head. If there are more than one candidates this time,
AMRP is calculated for each candidate and the one with the smallest AMRP is selected as the cluster head. The
AMRP of a node is the assumed total energy consumed by all nodes in the cluster during intra cluster communication if that cluster becomes the cluster head.
The architecture proposed in [14] is constructed over ZigBee/802.15.4 protocol [15]. Tree structure of the
clusters is assumed to be created by using the tree addressing scheme of ZigBee. Also, it is assumed that every
node in the network is notified about its parent and child nodes. Besides, there is a periodic and time constrained
data transmission in question. The main purpose of the study is to design a schedule that will regulate the sleepwakeup schedules of the clusters at the same time preventing inter-cluster collisions. Network topology is partitioned into clusters as in the others. Nodes taking charge in the multi-hop routing process is named as router,
others that only produces data are called as end-nodes. It is mentioned that multi-hop communication in the cluster-tree topology is deterministic because of the reason that a node does communicate only with its parent and
child nodes. Time domain of each cluster is partitioned into two as active and inactive periods. In active periods,
cluster heads give permission to intra-cluster communications. Router nodes are located in more than one cluster.
Taking charge as a cluster head in one cluster and as a child node in the other. Hence, router nodes have to stay
awake in active time durations of both clusters. As it is mentioned, it is aimed to find a time division cluster
scheduling in order to prevent inter-cluster collisions.
Besides the studies mentioned above, scientists have still been trying to develop different clustering schemes
[16, 17, 18] and many of them construct the fundamental structure of their architectures described in LEACH [8,
9].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

182

2 ndInternational Symposium on Computing in Science & Engineering

3 Protocol Architecture and Structure Details


Cluster formation and notification of sensor nodes is performed by a central controller mechanism at the setup
stage. Sensor nodes are assumed to know their own geographical positions and also their neighbor nodes in the
cluster they locate by means of a GPS device or broadcast of a pre-announcement by the sinks. Sinks are deployed around the network area so as to surround all simulation area. In each cluster, there is a single cluster
header as it bases on the structure described in LEACH [8, 9]. However there are some differences regarding to
intra-communication scheme of LEACH. In LEACH, a frame is described in time domain and that frame is divided into small sub-frames each belonging to a sensor node. Every node sends its in-node processed data to its
cluster header in its pre-allocated sub-frame. That is an obvious application of Time Division Multiplexing. In our
approach, we applied the Code Division Multiple Access (CDMA) scheme for intra-cluster communication as it
is used in cellular technology. Every node in the cluster is assigned its own code that is orthogonal with the codes
of other nodes in the cluster. The reason of using CDMA in our architecture is the capacity increase that can not
be neglected. Gilhousen et al. inspected the capacity gains of CDMA over other multiple access schemes [19].
Packet structure of the intra-cluster packets is presented below:
Src Node ID Data
1

Data
0

Fig. 3. Intra-Cluster Packet Structure.


After the packet is generated, nodes encode the packet by the orthogonal code assigned at the setup stage by
the controller. Each node in the cluster is aware of the codes of other nodes in its cluster. Thus, when a sensor
node becomes a cluster head, it is already equipped in order to decode the incoming signal and extract the original signal of each node. After sending their data to the CH, plain nodes do not need to stay at active state because
of the reason that all the communication after that state will be maintained by CHs. Thus, until the start up next
round which is the next data collection period, plain nodes remain at sleep state and do not consume energy unnecessarily.
Nodes are charged as Cluster Head (CH) every round in a round robin manner. This is aimed to maintain load
balance and fairness. After decoding the data coming from plain nodes in the cluster, CH applies data aggregation. Instead of sending data of every node, min and max values are selected and sent with the owner ids of those
packets.
Next hop calculation is performed locally, that is by just considering the attributes of the next layer cluster
heads. Calculation is performed base on the formula below:
CostFactor = RsdEndChi * d3 .

(1)

Next layer in the coverage area with the minimum cost value is selected as the next hop. There appears another challenge that has to be dealt while selecting the next hop. The CHs of the two clusters that are adjacent in
the same layer can select the same next CH at the same time. Therefore, although it is possible to select two distinct CHs as next hop, without applying any control mechanism, load balance and fairness may not be achieved.
In our project, a token mechanism is included in order to keep the next hop selection crash under control. For the
first round, the node with the smallest ID number is given the opportunity to select firstly the next hop CH. After
calculating and defining next hop CH, sending node writes the id of the selected CH in the token and passes to the
adjacent CH. Adjacent CH gets the token and starts to calculate and define a next hop CH with the ID that does
not appear in the list stored in the token. So, while selecting a next hop, the criteria is finding with the minimum
cost value that is not selected by the other CHs in the same layer until the token arrives. However, there emerges
another issue to be considered. That is, if every round the same CH is given the opportunity to define next hop,
how can fairness is achieved? The solution we suggest here is giving the next hop selection first opportunity to
the CHs in a round robin manner. That means, when a node is the first for the present round, it is the last for the
next one. Token structure is depicted in Figure 4.
ClusterID1 NextClusterID1
ClusterID2 NextClusterID2

ClusterIDn NextClusterIDn
Fig. 1. Token Structure.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

183

2 ndInternational Symposium on Computing in Science & Engineering

ResidualEnergyTable is stored in each node and contains the energy level of the nodes recently. Hence, when
a node starts to calculate the next hop, firstly checks the ResidualEnergyTable and calculates the CostFactor parameter for each record. While selecting the one with the minimum cost value, the aim is selecting the one thats
ID is not present in the token for the present round.
For intra-cell communication, every cluster uses the frequency assigned at the setup stage and it is fixed. Like
cellular technology, frequency reusing approach is applied. CH in a layer transmits its intra-cluster data to the
next layer over the frequency used for intra-cluster communication. Thus, next hop CH assigns its receiving radio
to the frequency of the sending CHs frequency. So, every node in the topology has two radios. One is used for
intra-cluster and inter-cluster sending operations. Other one is used for receiving packets incoming from inner
layers.
Inter-cluster packets differ from each other according to the emerging layer number. That is, a packet originated in a cluster located at layer 1 do not have the same structure and size with the packet originated in a cluster
located at second layer. Inter-cluster packets have the structure as follows:
3.ClsID
SrcClsID
Data1.2

3.ClsCHID
SrcClsCHID
Data1.1

2.ClsID
SrcID1
Data2.1

2.ClsCHID
SrcID2
Data2.2

Fig. 2. Inter-packet structure originated at the first layer.


The difference between the packets originated at layers 1 and 2 is that, since the latter one is already present
at the second layer, there is no need to keep a record for the next layer at that layer. The only needed record is to
keep information about the next hop located at layer 3. Thus, the size of the latter packet is 2 bytes smaller than
the former one.
3.ClsID
SrcID1

3.ClsCHID
SrcID2
Data2.1

SrcClsID
Data1.2
Data2.2

SrcClsCHID
Data1.1

Fig. 3. Inter-packet structure originated at the second layer.


Since a packet originated at the third layer is directly transmitted to a sink, there is no need for a record in order to keep the next hop information in the packet.
SrcClsID
Data1.2

SrcClsCHID
Data1.1

SrcID1
Data2.1

SrcID2
Data2.2

Fig. 4. Inter-packet structure originated at the third layer.


Every sink is familiar about the geographical position of each node in the topology. Therefore, they can calculate the energy spent during send and receive operations by the nodes on the full path, by looking at the related
fields of the packets. Each time a packet arrives at the sink, the sink records the energy changes of the nodes on
the path. All packets emerge from the clusters at different layers arrive to the closest sink to that cluster. In this
case, every sink must inform others about the incoming packets. Therefore, a notification mechanism is applied in
order to achieve that informing process. A sink is charged with the notification process and permanently employed with this task. At the beginning of each round, every sink starts a timer. When the timer expires, all the
sinks transmit their data to the sink charged with notification process. In order to prevent collisions, CDMA
mechanism is employed here. Each sink is assigned its own code orthogonal to the codes of other sinks. Therefore, all other sinks can send information about incoming packets to the informer sink at the same time without
any collision. As soon as the informer sink gets the messages from other sinks, after decoding, it generates the
ultimate message and broadcasts to the whole network. During the broadcast process, not all of the nodes in the
network will get the message. The broadcast notification message is only needed by the cluster heads of the following round. Therefore, other nodes will not spend energy during this broadcast stage redundantly.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

184

2 ndInternational Symposium on Computing in Science & Engineering

4 Performance Evaluation
Simulations performed for 100 rounds each round taking 18500 s. For the first step, our next hop selection
criteria, cost factors performance regarding to two other next hop selection criteria is discussed. CHs forward
their data towards the closest sink in the network in order to spend minimum energy. Hence, next hops have to be
selected between the nodes on the way to the closest sink. One of the next hop selection criteria we compared
with is the selection of the next cluster head that is closest to the sink. Second method is the selection of the next
CH which is closest to the sender CH. As it is clear in Figure 8 and 9, other two methods approximately show the
same performance. However, our cost factor criteria prolongs the lifetime of the network as it is depicted in Fig.
9. After 60 rounds, there is not any alive node in the network when NextHop-Cls-To-Sink and NextHop-Cls-ToSender routing criteria are applied. With the NextHop-WithSmallestCostFactor method we propose, there are still
alive nodes even after 70 rounds.

Number of Nodes Alive

160

NextHop-Cls-To-Sink

140

NextHop-Cls-To-SENDER

120

NextHopWithSmallestCostFactor

100
80
60
40
20
0
10

20

30

40

50

60

70

80

90

100

Round

Fig. 5. Comparison of three different routing schemes according to the number of alive nodes remain in the network after
various number of rounds.
20

NextHop-Cls-To-Sink
NextHop-Cls-To-SENDER

Lifetime

15

NextHopWithSmallestCostFactor

10

0
Routing1 Methods

Fig. 6. Lifetime of the Network.

Lifetime of the network ends with the energy depletion of the first node in the network. Since nodes consume less
energy with the routing scheme SmallestCostFactor, lifetime of the network is longer than the networks using
other routing schemes as it is presented in Fig. 9.
The amount of energy dissipated by the nodes during data transmission is proportional with the distance between the sender and the receiver. Hence, in our architecture, nodes intend to direct their data to the closest sink
between the sinks surrounding the topology. Furthermore, instead of a CH sending directly to the sink, relaying to
a CH located on the direction to that sink is less energy consuming. If CHs send the data aggregated in their clusters directly to the sink, after 30 rounds all of the nodes in the network deplete of energy as shown in Fig. 10.
However, with multi-hop transmission, CHs relay their aggregated data to a next hop CH located at the outer
layer. Thus, they dissipate less energy and lifetime of the network prolongs inevitably that can be seen clearly in
Fig. 10 and 11.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

185

2 ndInternational Symposium on Computing in Science & Engineering


160
MultiHop Transmission

140

100
80
60
40
20
0
10

20

30

40

50
60
Round

70

80

90

100

Fig. 7. Lifetime of the Network.


4500

The amount of energy consumed by


the most energy-consuming
node(J)

MultiHop Transmission

4000

DirectTransmissionFromCHsToSinks

3500
3000
2500
2000
1500
1000
500
0
10 20 30

40 50 60 70

80 90 100

Round

Fig. 8. Comparison of the Amount of Energy Dissipated by the Most-Energy-Consuming


Node in the Network with Direct and Multi-Hop Transmissions.
25
MultiHop Transmission
DirectTransmissionFromCHsToSinks

20

Lifetime

Number of Nodes Alive

DirectTransmissionFromCHsToSinks

120

15

10

0
Transm itting
1 Techniques

Fig. 9. Lifetime of the Network with Direct and Multi-Hop Transmissions.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

186

2 ndInternational Symposium on Computing in Science & Engineering

5 Conclusion
In this paper, we presented an energy-efficient cluster based architecture containing various energy-efficient
techniques in order to decrease energy dissipation of the nodes thereby prolonging the network lifetime. Clusterbased structures are before proved to be more energy efficient with respect to others. In our simulations we observed this reality with brief measurements. As it is discussed in previous sections, hot-spot problem emerges in
wireless sensor networks because of the reason that sensor nodes located near the sink have to relay other sensor
nodes data that are far from the sink and do not have a possibility to transmit data directly to the sink. Thus,
multi-layer structure is employed with clustering mechanism. In this approach, clusters located near the sinks are
sized larger and contain more nodes than the ones far from the sink. That is because, nodes in the nearby clusters
transmit more data and being cluster-head turn must come less frequently in order to prevent energy depletion.
Another method, improving the energy efficiency is the multi-sinks idea. By setting a network to a single sink
located at one side of the topology, all data traffic from the nodes flow over the nodes located at the same side
with the sink. Hence, those nodes quickly deplete of energy and network lifetime reduces. However, by employing multiple sinks with surrounding the all topology, instead of relaying the data to the sink located at the other
side of the topology, CHs can forward their data to the sink as close as possible.
Furthermore, another challenge discussed in this study is finding a cost factor to be applied during the next
hop selection process. Cost Factor proposed in our architecture helps nodes to select the optimum next hop nodes
by means of the residual energy of the next node and the distance between the sender and the receiver. By employing cost-factor-considering-routing method, network lifetime prolongs with a factor of 50%.
By using multi-channel communication collisions are prevented thereby, undesirable energy consumptions
caused by retransmissions of packets are precluded. Besides, after physical data collection form environment and
transmission of that data to the CHs, it is inessential for the plain nodes to stay awake until the next round start
up. Thus, a periodic sleep-wake-up schedule is employed with the aim of redundant energy consumption.
In conclusion, none of the methods described above is alone enough for minimizing the energy consumption
in the network. Therefore, the smartest thing is to use the above-mentioned methods blended together as we did in
our study.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Sohraby, K.; Minoli, D.; Znati, T. (2007). Wireless Sensor Networks, Wiley.
Seminar, University of Massachusetts. USA. (2003).
Whitehouse, K.; Sharp, C.; Brewer, E.; Culler, D. (2004). Hood: A Neighborhood Abstraction for Sensor Networks.
In Proceedings of the ACM International Conference on Mobile Systems, Applications, and Services (MobiSys04).
Whitehouse, K.; Karlof, C.; Culler, D. (2004). Getting Ad-Hoc Signal Strength Localization to Work. Technical
Report, University of California-Berkeley.
Akyildiz, F.; Su, W.; Sankarasubramaniam, Y.; Cayirci, E. (2002). A survey on Sensor Networks, IEEE Communications Magazine.
Pottie, G.; Kaiser, W. (2000). Wireless integrated network sensors, Communication of ACM.
Anastasi, G.; Conti, M.; Francesco, M. D.; Passarella, A. (2009). Energy Conservation in Wireless Sensor Networks: A survey. Elsevier Ad Hoc Networks.
Heinzelman, W.; Chandrakasan, A.; and Balakrishnan, H. (2000). Energy-Efficient Communication Protocol for
Wireless Microsensor Networks. In Proceedings of the Hawaii International Conference on System Sciences. Island of Maui, Hawaii.
Heinzelman, W.; Chandrakasan, A.; and Balakrishnan, H. (2002). An Application-Specific Protocol Architecture
for Wireless Microsensor Networks. IEEE Transactions on Wireless Communications 1(4): 660-670.
Younis, O.; Fahmy, S. (2004). HEED: a hybrid, energy-efficient, distributed clustering approach for ad hoc sensor
networks. IEEE Transactions on Mobile Computing 3(4): 366-379.
Lindsey, S.; Raghavendra, C. S. (2002). PEGASIS: Power-Efficient Gathering in Sensor Information Systems. In
Proceedings of the IEEE Aerospace Conference.
Cevik, T.; Zaim, A. H.; Yiltas, D. (To Appear). Localized Power Aware Routing with an Energy Efficient Pipelined
Wakeup Schedule for Wireless Sensor Networks, Journal of Electrical Engineering & Computer Sciences.
Yu, W.; Wei, S. S.; and Shie, B. J. (2009). Activating the Hot Spot Problem by Switching Multiple Sinks in Wireless Sensor Networks, In Proceedings of the Fifth International Conference on Mobile Ad-hoc and Sensor Networks.
Hanzalek, Z.; Jurcik, P. (2010). Energy Efficient Scheduling for Cluster-Tree Wireless Sensor Networks With
Time-Bounded Data Flows: Application to IEEE 802.15.4/ZigBee. IEEE Transactions on Industrial Informatics.
IEEE P802.15 Wireless Personal Area Networks: Proposal for Factory Automation, Working Draft Proposed
Standard. (2009).

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

187

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/58

Scalability Evaluation of the Wireless Mobile Ad


Hoc Routing Protocols in ns-2 Network Simulator
Zafer Albayrak1, Ahmet Zengin2, Mehmet Recep Bozkurt3
1

Niksar Vocational High School, University of Gaziosmanpasa, Tokat, Turkey


Electronics and Computer Science Department, Sakarya University, Turkey
3
Electrical-Electronics Engineering Department, Sakarya University, Turkey
1
zalbayrak@gop.edu.tr, 2azengin@sakarya.edu.tr, 3mbozkurt@sakarya.edu.tr
2

Abstract. Recently, Mobile Ad-hoc Networks (MANETs) have drawn of many researchers.

One of the

main subjects accepted by researchers studying on Mobile Ad-hoc Networks is developing routing protocols
for wireless systems. Routing protocol development is related with dealing such as complexity, scalability,
adaptability, productivity and battery life in wireless systems. Routing protocols based on wireless systems are
developed in order to cope with these problems. In this paper, AODV, DSDV and Beeadhoc algorithms are
empirically compared to investigate large-scale behavior. The results are presented as graphs and evaluated.
Keywords: Mobile Ad-Hoc Networks; Routing Protocols; Wireless; Swarm Intelligence; Simulation

1 Introduction
In recent years, the development of communication technology has made wireless device smaller, less expensive and more powerful. Such rapid technology advance has contributed great growth to mobile devices connected to the Internet [1]. Nodes communicate each other without any center in Mobile Ad Hoc Networks (MANETs) and have a constantly changing network topology. Routing protocols are used to find the paths between
the nodes. Due to the constantly changing network topology, Mobile Ad Hoc Networks use different routing
protocols but wireless networks use. Constantly changing network topology leads to updating of routing tables
and thus increases the number of control packets. In Mobile Ad-Hoc Networks it is the most important point is to find
routes between source and destination nodes. In this process traffic of network should not be increased and should lose lesser
packet and delay. Wireless Mobile Ad Hoc Networks used to provide communication existing infrastructure networks does
not work because of war and natural disasters such as earthquakes and flood.

There are two wireless networks:


infrastructure networks ( Fig. 1)
ad hoc networks (Fig. 2).

Fig.1 [1]

Fig.2 [1]

In infrastructure wireless network, there is a base station or an access point to be the portal of wireless devices. Ad-hoc network [2, 3, 4] is a self-organized, dynamically changing multi-hop network. All mobile nodes in

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

188

2 ndInternational Symposium on Computing in Science & Engineering

an ad-hoc network are able to communicating with each other without any established centralized controller. The
mobility of wireless nodes will cause the change of network topology.
In this paper, AODV, DSDV and Beeadhoc algorithms are empirically compared to investigate large-scale
behavior. The results are presented as graphs and evaluated.
2 MANETs Routing Protokocols
Many routing protocols have been proposed for ad-hoc Networks [1, 5, 6, 7, 8, 9, 11, 12]. These routing
protocols can be divided basically into two types, table-driven and on-demand routing protocol. Table driven
routing protocols each node has one or more tables to include routing information for all nodes in the network. A
change in the network updates routing tables of all t nodes. On-Demand the routing protocols, Unlike the TableDriven driven routing protocols there is no requirement to keep continuously the routing tables of the nodes.
Instead of this, by running variety of mechanism routs are created when it is necessary. The generated paths are
kept until packet reaches the destination node or certain period of time.
2.1 On-Demand Distance Vector Routing Protocol
Recently, the on-demand routing protocols for ad-hoc network are demanded because of their low routing
overheads and effectiveness in the case of the frequency of route re-establishment and the demand of route queries are not high. In the on-demand routing protocols the route is created only when is desired by the source node.
Many on-demand routing protocols have been suggested in [8, 11, 7, 10]. High routing overheads usually have
important impacts on performance in low-bandwidth wireless links. Therefore, the reactive on-demand routing
algorithms where routing paths are established only when desired are the recent liability in ad-hoc networks, such
as the Ad-hoc On-Demand Distance-Vector (AODV) routing protocol. In the AODV protocol, there is only a
single path established during the transmission of the packet. Therefore, when the transmission route fails, data
packets are simply dropped by nodes along the broken route.
2.2. Destination Sequenced Distance Vector Routing Protocol
Destination-Sequenced Distance-Vector routing (DSDV) [8], tries to keep a global picture of network topology and responds to topological changes by dispersing update messages along the wireless network. One or
more tables are required to maintain continuous, up-to-date routing information for each node in the wireless
network. In a highly mobility network environment, to maintain the routing information causes heavy overheads.
2.3. Beeadhoc Routing Protocol
Beeadhoc[14] algorithm has been taken into consideration in the comparison as an energy efficient routing
algorithm which is inspired from foraging principles of honey bees. The bee behavior was instrumental in designing efficient mobile agents, scouts and foragers, for routing in Mobile Ad-Hoc Networks. Scouts discover new
routes from their launching node to their destination node. A scout is transmitted using the broadcasting principle
to all the neighbors of a node with an expanding time to live (TTL) timer. Foragers are the main workers in our
Beeadhoc algorithm. They receive the data packets from transport layer and then deliver them to the destination.
Foragers are of two types: delay or lifetime. The delay foragers collect the delay information from the network
while the lifetime foragers collect the remaining battery capacity of the nodes that they visit. Bees usually are
forced to go long distances to find food. The areas of foraging bee finds a source of food for notice to the other
members of the colony and return to the hive after a while they start to fly around the other bees. Honey bees are
deaf, and therefore will not be able voice communications with each other. Establish communications with each
other with different shapes. These shapes are called dance. This dance has source distance, direction, information
about the quality and quantity of food available [13].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

189

2 ndInternational Symposium on Computing in Science & Engineering

3. Ns-2 Simulation Framework for Comparison of Protocols


We evaluated the performance of AODV, DSDV and Beeadhoc in ns-2 simulator. Our test scenarios are
built with setdest.exe and cbrgen.tcl scripts used in ns2. We use the same implementations for AODV, DSDV
and Beeadhoc which are distributed with ns-2 simulator.
3.1. Simulation Parameters
AODV, DSDV and Beeadhoc routing algorithms have been developed and widely used in Ad hoc networks.
Simulation-based analysis and comparison established under the ns-2 network simulator. Ns-2 simulator, all protocols were executed under the same traffic and environmental conditions and the results are presented in graphs.
Thus, with the help of simulation-based performance analysis, protocol aspects such as scalability and efficiency
are evaluated.
Parameter

Topography

Value
Area (m2)

Number of
nodes
10
50
100
200

Mobility (m/s)

300 x 300
500 x 500
700 x 700
1500 x 1500
1 ~ 20

Packet Size (byte)

Topology genera-

512
SETDEST

Traffic generator
Traffic
Simulation time (s)
Computer
Operating system

CBRGEN
FTP/TCP
50
Core 2 Duo, 2 GB RAM
Fedora

tor

Table 1. Simulation model parameters


Table 1 shows the simulation parameters used in the process of comparison. In this study, we developed
models, a minimum speed of 1 m/s (walking speed), 5 m/s(running) , 10 m/s (car speed in local traffic) and a
maximum speed of 20 m/s(car speed within the cities). Node numbers were chosen as 10, 50, 100 and 200. The
maximum number of nodes used here is closely related to the computer's configuration. The computer simulation
of wireless networks that allow up to 200 nodes gives error on the value of memory error after that value. As the
number of node increasing the size of topography increasing as well (see Table 1). Topology scenarios are created with the script setdest.exe and traffic scenarios are created with the script cbrgen.tcl which found in the ns-2
network simulator. TCP and FTP applications are used for all nodes. The size of data packet is kept constant at
512 bits. We use the same models of physical and MAC layers. The simulation time for the algorithms was set to
50 seconds.
3.2. Simulation Results
Throughputs are compared at different speed and different number of nodes of routing protocols mentioned
above. Throughput means traffic packets received in process of simulation for any node in a network. In this
study, throughput of AODV, DSDV and Beeadhoc routing protocols are compared at the different speed and in
different number of nodes.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

190

2 ndInternational Symposium on Computing in Science & Engineering

(a)

(b)

(c)

(d)
Fig.3 Effect of varying speed and number of the nodes.

Fig 3 shows that network throughput values are different in four different sizes and at different speeds.
While AODV and DSDV almost the same efficiency in all velocity values, productivity of Beeadhoc protocol
remains low. In addition, at the speed of 10 m / s, the DSDV protocol is running more efficiently. Fig. 3 b, c and
d show that the scale is running better performance scalability of AODV. Especially 200 nodes and 10 m / s
speeds, protocols, virtually no throughput other than AODV does. This result shows that, the scalability of
AODV is more efficient than DSDV and Beeadhoc routing protocols are.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

191

2 ndInternational Symposium on Computing in Science & Engineering

4. Conclusion
The purpose of this study is to investigate the effects of the efficiency of protocols by changing the speed
and the number of nodes. The network topology changes more quickly in high speeds. Thus, it is difficult rapid
adaptation of the protocols to new situation. The network protocols did not work in the largest and the most high
speed scenario. Increasing the number of nodes has been decreased the throughput of the network .

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

Wei K.Lai, S.Hsiao, Y.Lin, Adaptive backup routing for ad-hoc networks, 2006.
Internet Engineering Task Force (IETF) Mobile Ad-Hoc Networks (MANET) Working Group Charter, Chaired by
Joseph Macker and M. Scott Corson, http://www.ietf.org/html.charters/manet-charter.html.
J. Jubin, J.D. Tornow, The DARPA packet radio network protocols, Proceedings of the IEEE 75 (1) (1987) 21
32.
C.E. Perkins, Ad Hoc Networking, Addison Wesley (2001).and RSSI information, IEICE E88-B (9) (2005) 3588
3597.
S. Corson, J. Macker, Mobile Ad-Hoc Networking (MANET): routing protocol performance issues and evaluation
considerations, RFC. 2501 (1999).
D.B. Johnson, D.A. Maltz, Dynamic source routing in ad hoc wireless networks, in: Mobile Computing, Kluwer
Academic Publishers, 1996, pp. 153181.
C.E. Perkins, E. Royer, Ad hoc on-demand distance vector routing, Proceedings of IEEE WMCSA (1999).
C.E. Perkins, P. Bhagwat, Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers, Proceedings of the ACM SIGCOMM. (1994) 234244.
E.M. Royer, C.-K. Toh, A review of current routing protocols for ad hoc mobile networks, IEEE Personal Communications 6 (2) (1999) 4655.
R. Dube, C.D. Rais, K. Wang, S.K. Tripathi, Signal stability based adaptive routing (SSR alt SSA) for ad hoc mobile networks, IEEE Personal Communication (1997).
C.E. Perkins, Royer, and S. Das, Ad Hoc On-Demand Distance Vector (AODV) Routing, Internet Draft, draftietf-manet-aodv- 13.txt, February 2003.
H. F. Wedde and M. Farooq, The wisdom of the hive applied to Mobile Ad Hoc Networks, University of
Dortmund, 2005.
K. von Frisch. The Dance Language and Orientation of Bees. Harvard University Press, Cambridge, 1967.

Biographies
Zafer Albayrak is received MSc degree from the Department of Computer Science at University of North London, London, UK. He is a PhD student in the Electronics and Computer Science Department, University of Sakarya, Sakarya, Turkey.
He is also a Lecturer at Gaziosmanpasa University, Tokat, Turkey. His main interest in wireless networks.
Ahmet Zengin is PhD at Sakarya University, Turkey. His experience with modeling and simulation includes a one-yearstay in ACIMS Lab at the Arizona State University. His research topics include DEVS theory, multi-formalism modeling,
parallel and distributed simulation, modeling and simulation of large scale networks, distributed systems management,
biologically-inspired optimization schemes. His main research interest lies in parallel and distributed simulation and the High
Level Architecture.
Mehmet Recep Bozkurt is an Associate Professor in the Electronics and Computer Science Department, University of
Sakarya, Turkey. His research topics include Electronic Circuit Design, Electronic Devices, Pre-processing and classification
of Biomedical signals, Artificial Intelligence and MatLab.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

192

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/59

A Design for Practical Fault Tolerance in


Java Accessing Native Code
Ebubekir Temizkan1, Kerem nal2
1,2

TUBITAK Space Technologies Research Institute


ebubekir.temizkan@uzay.tubitak.gov.tr, 2kerem.onal@uzay.tubitak.gov.tr

Abstract. Fault tolerance is a necessary part of software with high reliability. As software systems
evolve, fault tolerance is more substantial. Nowadays, many software systems are implemented with
high level programming languages. One of these programming languages is Java. Java technology enables researchers to develop for many huge software systems. However, this may require interoperability
of Java and native language such as C/C++. In Java, we need Java Native Interface (JNI) calls to operate hardware and running mathematical intensive operation, which requires performance needs, written
in native code. These parts of software need utmost care about preventing faults and are the main source
of the critical errors in projects. In traditional exception handling in Java we cannot catch those major
errors caused by memory leaks and low-level hardware faults. Those faults in native code can crash
whole Java Virtual Machine (JVM). In order to prevent these failures we need a fault-tolerant system to
catch those native code errors. Separation of operating system processes brings us the fault tolerance we
need by using the memory address space protection. In this paper we analyzed the details of this process
separation approach and proposed some architecture that isolates the faults using separate processes.
We also conduct experiments on a ballistic imaging system with one of the appropriate architectures.
Keywords: reliability, fault tolerance, Java, JNI

1 Introduction
Software reliability is the probability that software will not cause the failure of a product for a specified time
under specified conditions [1]. It is also an important factor affecting system reliability. Software fault tolerance
is a necessary part of a system with high reliability. It is a way of handling unknown and unpredictable software
system failures [2]. With the development of the complex software systems, fault tolerance is unavoidably significant. Therefore, researchers have intensively studied to perform fault tolerant software and systems. Golden G.
Richard III and Tu [3] presented their experiences with Java as a portable solution for developing completely
fault tolerant programs. They also argued Java based fault tolerant programming patterns that allow development
of fault tolerant Java solutions for a large class of sequential and distributed applications. Xin et al. [4] designed
an object oriented developing framework of fault tolerance system using Java to solve some problems. They used
JRMI technique as the communication mechanism and also used Object Oriented Design method to improve
software usability. Pleisch and Schiper [5] presented Java-based fault tolerant mobile agent system called
FATOMAS. Liang et al. [6] provided a fault tolerance mechanism based on Java exception handling, Java thread
status capturing technology and mobile agent to handle Grid fault in Linux platform. Kumar [7] proposed a fault
tolerant system design and implementation for CORBA that employs object replication. Kumar benefited from
Java serialization to capture objects state. Main objective for this study to advance availability of Java objects in
CORBA 2. Li and friends [8] proposed a fault tolerance sandbox to support the reconfigurable fault tolerant
mechanism on application servers to improve availability and reliability of reconfigurable applications. Lastly

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

193

2 ndInternational Symposium on Computing in Science & Engineering

Yang et al. [9] implemented a tool named McC++/Java for enabling monitoring and fault tolerance in C++/Java
programs on multi core applications.
Recent software projects often use different components that have been implemented in various programming
languages, so language interoperability gains great importance. In order to interoperate different software components in different languages, there must be a technology to make those languages to communicate with each other.
One technique to solve this issue is to use a foreign function interface [10]. Java also uses this technique and it is
called Java Native Interface (JNI). JNI is a powerful feature of Java platform that allows programmers to interoperate Java code and native code written in programming languages such as C, C++ and assembly 10. Although
JNI allows programmers to take advantages of Java platform, care should be taken in native coding. Java is a type
safe language and has advanced memory management features. On the other hand, memory management in
C/C++ is very hard [12]. Writing multithread programs in C/C++ is difficult and these can cause dead-locks that
crash JVM [12]. Also, hanging in hardware method calls results in unresponsive applications. Therefore, memory
leaks in native code and low-level hardware faults may cause system failures and crash of whole system. As a
result, all these faults must be handled by the software and do not let them to put the system in an unresponsive or
unstable state.
When Firearms are used, they mark on cartridge and bullet. Similar marks are created by the firearm on different cartridges and bullets that are thrown by same firearm [13, 14]. By examining these marks, firearms may be
identified. While examining of marks was performed using microscope early, this process has been computerized
with the development of ballistic imaging system [14], [19], [20]. Thus, fastest and more reliable data entry and
high performance matching process can be achieved. Ballistic imaging systems have software and hardware components. Hence, the system has potential to create faults. Therefore these systems must be fault tolerant to be able
to run for a long time.
Balistika 2010 is a ballistic imaging system that has been developed for automated firearm identification [18].
This system controls hardware to take images of cartridges and bullets. Then it produces data using these images.
This phase needs mathematical intensive operation that runs fast when written in native code.
In this paper, we have explained methodologies of fault tolerant software systems that interoperate Java and
C/C++ in a single computer. After that we have described our case and implemented selected method among
these methodologies for Balistika 2010. Eventually, experimental results are given.

2 Methodologies
There are some methods that interoperate Java and C/C++ programming languages in a single computer. If native methods are directly called from a main process with JNI as shown in figure 1, JVM of Main Process can be
crashed immediately because of the drawbacks of the native code.

Main Process
(Java)

JNI

Native Code
(C,C++)

Fig. 1. Calling native method from main process

In order to avoid this challenge and carry out a fault tolerant software system, address space protection approach can be applied [11]. Native code that can create JVM crash and Main Process could be separated as
shown in figure 2. Main Process forks a Child Process which handles all communication with the native code.
When native code crashes, main process can live.

Main Process
(Java)

Run

Child Process
(Java)

JNI

Native Code
(C,C++)

Fig. 2. Separating processes and calling native method from child process
June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

194

2 ndInternational Symposium on Computing in Science & Engineering

Although above approach relatively allows fault tolerant structure, some drawbacks can be created concerning
communication between two process. For example, data that are created in Child Process cannot be transferred to
Main Process easily. There are some solutions to cope with this trouble. One of the solutions is shown in figure
3. In this case child process and main process can communicate through hard disk drive (HDD). Communicating
through HDD is an easy and reliable way but reading and writing performance of HDD is clearly poor.
Main Process
(Java)

Run

ReadWrite

Child Process
(Java)

JNI

Native Code
(C,C++)

ReadWrite
HDD

Fig. 3. Calling native methods from child process and communication through HDD

Using Ram Disk as shown figure 4 can be proposed for data transfer between main and child process as an alternative to the HDD. This method that uses the block of RAM like HDD has better performance in reading and
writing data compared to the HDD. Ram disk can be created using methods of operating system or third party
programs. There are also points to take into consideration about using Ram Disk. Total memory of system decreases as amount of size that Ram disk uses.

Main Process
(Java)

Run

ReadWrite

Child Process
(Java)

JNI

Native Code
(C,C++)

ReadWrite
Ram Disk

Fig. 4. Calling native methods from child process and communication through ramdisk

Another solution for transferring data between two processes is to use inter process communication (IPC).
There are some IPC methods. Socket is one of the IPC methods and frequently used in Java [15]. Socket technology that is easy and reliable way for network communication has been used for many years. As shown in figure 5,
main process and child process communicate by the help of Socket connection. Socket communication has relatively better performance than HDD.
Main Process
(Java)

Run

Child Process
(Java)

JNI

Native Code
(C,C++)

Data
Socket

Socket

Fig. 5. Calling native methods from child process and communication through Java socket

The last solution for data transfer between main and child Process is to use other IPC methods [16] [17] as
shown in figure 6. These IPC mechanisms can be performed with collaboration of Java and C, C++ languages by
means of JNI. In this method, developers must be more careful because main process can call the native method
via JNI.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

195

2 ndInternational Symposium on Computing in Science & Engineering

Main Process
(Java)

JNI

Run

Child Process
(Java)

IPC methods
-Shared Memory
-Pipe
-Semaphore
-Message Queue

JNI

Native Code
(C,C++)

JNI

Fig. 6. Calling native methods from child process and communication through other IPC methods

3 Our Case
Balistika 2010 ballistic imaging system is composed of hardware and software components as shown in figure
7. User controls CCD camera that captures 4MB images with 20 frames per second and communicates over
Ethernet. This brings 80MB data transfer every second between native code and Java. This system will be used
24 hours a day. Moreover, user controls table motors and LEDs that is linked with a control card and serial cable
to the computer by means of graphical user interface, while imaging cartridge and bullet. User also performs
mathematical intensive operation on images of cartridge and bullet.
CCD
Camera
Ethernet
cable
LED

Serial
cable
User
Control
Card

X,Y,Z
Tables

Fig. 7. Ballistic imaging system

Our Ballistic imaging system has generally three parts that are controlled with calling native codes: Camera,
custom hardware and mathematical intensive operation. Camera is the main component of our ballistic imaging
system. We purchased camera with API and firmware. We do not know update frequency of the API or the firmware of the camera. In our case, last two firmware update resolves two important bugs which can cause segmentation faults and dead locks. This shows we must expect fault in our system and nothing guarantees that camera will
not bring any problem.
Another component of our ballistic imaging system is the custom hardware. Custom hardware has motor and
LED control drivers. APIs of these drivers were implemented with C++. It is very hard to make sure that those
components will not fail.
Last part of the imaging system that is controlled with calling native code is mathematical intensive operations.
Images that are captured by the camera are processed with these operations. These mathematical operations are
performed using pointers. Usually these are the main sources of failure.
As number of cartridges and bullets increase, Ballistic imaging system needs to be reliable, robust and fault
tolerance. That is this system must be long running system so user should be affected as little as possible because
of system faults mentioned above. For this reason, main process and child process that controls camera and custom hardware and performs mathematical intensive computations have been separated in our system as shown in

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

196

2 ndInternational Symposium on Computing in Science & Engineering

figure 8. As seen figure 8, child process was implemented in Java. Thus we minimized C, C++ codes in our system. Transferring of created data by the mathematical computation has been carried out using Ram disk. There
are several reasons to select this method. Firstly RAM is faster than HDD so we benefited from writing and reading speed. Second, both the child and the main processes can read the data at the same time with this approach. In
order to achieve this with socket we need to save the data in both processes memories which needs to allocate
twice memory space. We can achieve this synchronous reading if we use IPC mechanism of OS. But in this case
we have to use native code which can crash main process.
Ballistic Imaging System User Software
User
Recording
Software
(Main Process)
(Java)

Run

Native Code
(C,C++)

Camera and Hardware


Control Software
(Child Process)
(Java)

Camera
JNI
Custom
Hardware
Mathematical
Computation

ReadWrite

ReadWrite
Ram Disk

Fig. 8. Selected method for ballistic imaging system

4 Experimental Results
Our ballistic imaging system was tried by two ballistic experts for 1504 cartridges. We logged about size of
6.5 MB log file. Number of calling of native method by Java with JNI on child process is shown in Table 1. As
shown in Table 1, during recording 1504 cartridges, 18 faults that caused crash of the child process occurred.
Also 23 faults that caused hanging of the camera occurred and we resolved the hanging problem by exiting from
child process. Figure 9 and 10 show scatter of JVM crash and camera hangs according to date respectively. Main
process was not affected negatively and maintains its execution. Thus ballistic experts could be continued recording cartridge without making any additional operation.
Table 3. Number of Calling of Native Method by Java Language with JNI on Child Process
Number
of
Calling
Native
Method
(Per
Cartridge)
Camera
Custom Hardware
Mathematical Computation

Total Number of
Calling Native Method (1504 Cartridges)

Number
Crash

of

40

60160

11

10528

1504

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

197

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 9. Scatter chart of JVM crash according to date

Fig. 10. Scatter chart of camera hanging according to date

5 Conclusion
In this paper, we proposed a fault tolerance design using Java accessing native code in a single computer. Also, we have explained methodologies of fault tolerant software systems that interoperate Java and C/C++. Main
concept of our design is separating processes to provide address space protection. In our case, we used a child
Java process to interoperate with the native libraries and a software ram drive to overcome the communication
problem. We implemented the proposed design on our ballistic imaging system and conducted experiments. We
succeeded to encapsulate the crashes and hangs in the child process. Crashes and hangs caused by the native
codes do not lead to failure of whole system. Thus, our system is reliable and it continues to operate without any
data loss.

References
1.
2.
3.
4.
5.
6.

Krajcuskova, Z. (2007). Software Reliability Models. Radioelektronika International Conference. Brno, 24-25 April.
Pan,
J.
(1999).
Software
Reliability.
Carnegie
Mellon.
From
the
World
Wide
Web:
http://www.ece.cmu.edu/~koopman/des_s99/sw_reliability.
Richard III, G. G. and Tu, S. (1998). On Patterns for Practical Fault Tolerant Software in Java. Proceedings of IEEE
Reliable Distributed Systems Symposium.West Lafayette, IN 20-23 Oct.
Xin, Z., Daoxu, C. and Li, X. (1998). An object-oriented developing framework of fault-tolerant system. In Proc. of the
31st International Conference on Technologies of Object-Oriented Language and Systems.
Pleisch, S. and Schiper, A. (2001). FATOMAS: A Fault-Tolerant Mobile Agent System Based on the Agent-Dependent
Approach. Proc. Intl Conf. Dependable Systems and Networks.
Liang, J., WeiQin, T., JianQuan, T. and Bo, W. (2003). A Fault Tolerance Mechanism in Grid. Proceedings of Industrial
Informatics IEEE International Conference.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

198

2 ndInternational Symposium on Computing in Science & Engineering


7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.

Kumar, A. (2008). A fault-tolerant system for Java/CORBA objects. Parallel and Distributed Processing IEEE International Symposium.
Li, J., Huang, G.,Chen, X., Chauvel, F., Mei, H.(2009). Supporting Reconfigurable Fault Tolerance on Application
Servers. Parallel and Distributed Processing with Applications, IEEE International Symposium.
Yang, L., Yu, L.,Tang, J., Wang, L., Zhao, J. and Li, X.(2010). McC++/Java: Enabling Multi-core Based Monitoring
and Fault Tolerance in C++/Java. Engineering of Complex Computer Systems (ICECCS) EEE International Conference.
Tan, G., Appel A. W., Chakradhar, S., Raghunathan, A., Ravi, S. and Wang, D. (2006). Safe Java native interface. In
Proc. 2006 IEEE International Symposium on Secure Software Engineering.
Liang, S. The Java Native Interface: Programmer's Guide and Specication. Addison-Wesley, 1999.
Hoff, A. V. (1997). The case for JAVA as a programming language
From the World Wide Web:
http://computer.org/internet/
Sakarya, U., Lelolu, U.M., Tunali, E. (2008). Three-dimensional surface reconstruction for cartridge cases using photometric stereo. Forensic Science International, 175 (2-3), pp. 209-217.
Huang, Z. and Leng, J. (2010). An online ballistics imaging system for firearm identification. Signal Processing Systems
(ICSPS), 2010 2nd International Conference
Java socket (2011). From the World Wide Web: http:// download.oracle.com/ javase/tutorial/ networking/sockets/
Immich, P.K., Bhagavatula, R.S. and Pendse, R. (2003). Performance analysis of five interprocess communication
mechanisms across UNIX operating systems. In Proceedings of Journal of Systems and Software. 27-43.
Inter process Communications (Windows) (2011). From the World Wide Web: http://msdn.microsoft.com/enus/library/aa365574(VS.85).aspx
Sakarya, U., Es, S., Leloglu, U., Tunali, E. and Birgul, O. (2010). A Case Study of an Automated Firearms Identification System: BALISTIKA 2010. 1st Annual World Congress of Forensics 2010.
Smith, C. L. (1997). Fireball: a forensic ballistics imaging system. 31st Annual 1997 International Carnahan Conference,
Canberra.
IBIS (Integrated Ballistics Identification System). From the World Wide Web: http://www.ftiibis.com/.

Biographies
Ebubekir Temizkan - He was born in 1982 in Kayseri. He earned his B.S. degree in 2007 from Maltepe University, Department of Computer Engineering.
He is interested in graphical user interface technologies on Java, usability and 3D face recognition and 3D reconstruction
from 2D images technologies.
Mr. Temizkan is currently working for The Scientific and Technological Research Council of Turkey Space Technologies
Research Institute (TBTAK - UZAY).
Kerem nal - He was born in 1978 in Ankara. He earned his B.S. degree in 2000 and MSc. in 2004 from METU, Department of Electrical and Electronics Engineering.
He is interested in HCI; especially on usability, usability evaluation, eye tracking, input devices, human centered design
and visualization.
Mr. nal is currently working for The Scientific and Technological Research Council of Turkey Space Technologies Research Institute (TBTAK - UZAY).

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

199

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/60

On the Cache Performance of Time-Efficient


Sorting Algorithms
Ilker Korkmaz1, Senem Kumova Metin2, Orhan Dagdeviren3, Fatih Tekbacak4
1

Izmir University of Economics, Department of Computer Engineering, Izmir,Turkey


Izmir University of Economics, Department of Software Engineering, Izmir,Turkey
3
Izmir University, Department of Computer Engineering, Izmir, Turkey
4
Izmir Institute of Technology, Department of Computer Engineering, Izmir, Turkey
1,2,3
Ege University, International Computer Institute, Izmir, Turkey
2

ilker.korkmaz@ieu.edu.tr, 2senem.kumova@ieu.edu.tr,
orhan.dagdeviren@izmir.edu.tr 4fatihtekbacak@iyte.edu.tr

Abstract. The cache configuration is an important concern affecting the performance of sorting algorithms. In this paper, we give a performance evaluation of cache tuned time efficient sorting algorithms. We
focus on the Level 1 and Level 2 cache performance of memory tuned versions of both merge sort and quicksort running on data sets having various sizes and probability distributions. The algorithms are simulated in
different cache configurations, including a Pentium 4 processor configuration, by using Valgrind simulator.
Besides, we propose a new merge sort algorithm design which aims to decrease run time by reducing Level 1
cache misses.
Keywords: merge sort, quicksort, cache effected sorting, simulation

1 Introduction
Sorting operation [1-13] is commonly used in mathematics and computer sciences as well. Sorting functions are
generally implemented as top-level definitions to be called whenever required in any software program or mathematical application. There are two main performance issues for a sorting algorithm: time and space complexity.
Although there is a theoretical trade-off between those two issues, practical sorting implementations try to balance the effects and provide efficient running time results. There may be some different hardware configurations
for the sorting codes to be executed in more performance-effective manner. In this concept, cache configuration is
an important concern affecting the performance of sorting algorithms.
In this paper, we introduce a comprehensive performance evaluation of cache tuned time efficient sorting algorithms. We cover the Level 1 and Level 2 cache performance of memory tuned versions of both merge sort [2]
and quicksort [8] running on data sets having various sizes and probability distributions. The algorithms are simulated in different cache configurations, including a Pentium 4 processor configuration [14]. The data and instruction miss counts on Level 1 and Level 2 caches are measured with the time consumption for each algorithm by
using Valgrind simulator [15]. Besides, we give the design of a new proposed merge sort algorithm which aims to
decrease run time by reducing Level 1 misses.

2 Related Work
Sorting algorithms effect run time and efficiency of operations in which they are used. If the algorithms are
qualified, it may result with a decreased running times. The traditional method which is accepted to be the most

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

200

2 ndInternational Symposium on Computing in Science & Engineering

effective way of qualifying algorithms to reduce run time is decreasing the number of instructions in the algorithm. Although reducing the instruction number of any algorithm has a positive effect on its running time, it is
not possible to state that it supplies enough improvement for sorting algorithms. The approach in which the reality
of cache usage in sorting algorithms is considered to reduce running time of sorting operations was stated firstly
by LaMarca and Ladner [9-11], restudied by Xiao et al. [12].
Basic merge sort algorithm which is designed as divide and conquer paradigm is a comparative sort algorithm
with O(nlogn) complexity. Multi merge sort and tiled merge sort algorithms take account of cache properties and
reduce running time by reducing the memory access rates or cache miss rates. Multi merge sort algorithm merges
all sub arrays in one operation. In tiled merge sort algorithm, the data is divided in two sub arrays and the arrays
are sorted between each other. Conceptually based on those algorithms, Xiao et al. [12] proposed their padding
versions. Tiled merge sort with padding organizes data locations to decrease the collision miss rate. Multi merge
sort with TLB padding aims to reduce TLB misses created by multi merge sort algorithm. As the initials of cache
effected quicksort algorithms, LaMarca and Ladner [9-11] proposed memory tuned quicksort and multi quicksort.
To further improve the quicksort performance, Xiao et al. [12] examined flash quicksort and inplaced flash quicksort, which are basically some kinds of integration of flash sort and quicksort algorithms. For the procedural details of these cache effected merge sort and quicksort algorithms, related studies [9-12] can be dissected.
In a general cache configuration design, main properties to decide on are basically as follows: capacity, line
size, associativity, multi-level design. Considering those configuration issues, cache effected algorithms can be
simulated by Valgrind [15] and Cachegrind which is a Valgrind tool that detects miss rates by simulating Level 1
and Level 2 caches.

3 Experiments
3.1 Approach
To investigate the cache performances and effect of cache usage on merge sort and quicksort derivations, the
following algorithms are examined in in Valgrind simulator: base merge sort, tiled merge sort, multi merge sort,
and tiled merge sort with padding; base flash sort, flash quicksort, inplaced flash quicksort, and memory tuned
quicksort. We simulated the algorithms in 2-level cache with different configurations.
As a top-view prescription of our approach, we have 3 phases: cache configuration, simulation of the corresponding sorting algorithms within the selected configuration with different data set distributions, simulation of
the algorithms with Pentium 4 cache configuration.
Each different experiment is repeated 5 times and the average values are used to evaluate the corresponding algorithm. The data miss rates of Level 1 and Level 2 caches of each algorithm are used to observe the cache performances. The running times of the implementations are also measured. It is expected that although all merge
sort implementations have the same time complexity of O(nlogn), the algorithms, which have more misses in the
last level of the cache and have more accesses to the main memory, result with higher values of running times. It
is also expected that flash sort supported quicksort algorithms run faster than merge sort variations.

3.2 Simulations and Results


Determining the configuration. In the cache configuration phase, we first arranged the appropriate capacities
of our Level 1 and Level 2 caches in 1-way associative design through simulating the base merge sort algorithm
for random input data sets with N:{1024, 10240, 102400, 1024000}. 10 different configurations with the following set of parameters are simulated: parameterSet:{ capacityL2:{256 KB, 512 KB}, capacityL1:{32 KB, 64 KB,
128 KB}, lineSize:{64 B, 128 B} }. Among them, a configuration with L2 of 512 KB, L1 of 128 KB, and line
size of 128 B is chosen according to its fastest average run time result per input element. Then, this configuration
is examined with the following set associativity values: {1-way, 2-way, 4-way, 8-way, full-associative}. Among
them, 4-way set associative cache configuration is selected according to its fastest average run time and smallest
average miss rate results.
Simulations of various sorting alternatives with selected configuration. In the second phase, we first simulated base merge sort, tiled merge sort, and multi merge sort with different sizes of random data sets to compare
the performance results; then we compared the best (according to miss rates) two among those merge sort algorithms with several input data sets of various distributions.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

201

2 ndInternational Symposium on Computing in Science & Engineering

Base merge sort, tiled merge sort and multi merge sort algorithms are utilized on the selected cache configuration. Table 1 gives L1 and L2 miss rates and sorting run times (in microseconds) per element for random data sets
with N=1024, 10240, 102400, 1024000. L1 misses in Table 1 include both instruction and data misses.
In Table 1, it is shown that miss rates are lower in tiled merge sort and multi merge sort compared to base
merge sort as expected. Multi merge sort algorithm gives the lowest miss rate in randomly distributed data set. In
order to examine the effect of distribution of data sets according to possible miss rates, the two best of three algorithms in Table 1, tiled merge sort and multi merge sort algorithms, are applied to randomly, equilikely, poisson
and zero distributed data sets. Zero distribution refers the distribution in which all data values are equal to 0 (zero) and equilikely distribution is the uniform distribution. Since there is not enough space in this paper to present
the detailed measurement results, only a concise summary of the results is given as follows: Multi merge sort
gives better run time results only in poisson distribution and for all other distributions tiled merge sort generates
better run times.

multi
tiled
base
merge sort merge sort merge sort

Table 1. The results of several merge sort algorithms on selected cache configuration
Average Miss Rate
and Run Time
0.08
0.27

L2 miss rate
L1 miss rate

1024
0.1
0.27

10240
0
0.2

102400
0.1
0.3

1024000
0.1
0.3

Run Time
L2 miss rate
L1 miss rate

31.22
0.1
0.27

27.84
0
0.1

34.05
0
0.1

38.96
0
0.1

33.02
0.03
0.14

Run Time
L2 miss rate
L1 miss rate

32,74
0.1
0.27

23,74
0
0.1

33.99
0
0

41.96
0
0.1

33.11
0.03
0.12

Run Time

32.28

28.95

46.32

65.32

43.22

Besides, we simulated the quicksort and flash sort variations to compare the cache effected quicksort algorithms. It is expected that flash sort supported quicksort algorithms run faster than merge sort variations. The
comparisons are evaluated regarding to cache miss rates and run times of the algorithms.
Flash sort, flash quicksort, inplaced flash quicksort and memory tuned quicksort algorithms are simulated on
randomly distributed data sets. Fig. 1 and Fig. 2 include the sorting time and miss rate results of the simulations
for several different sorting algorithms on randomly distributed different sized data sets, respectively.

Fig. 1. Sorting run times (in microseconds) per input element of various sorting algorithms

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

202

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 2. Cache miss rates of various sorting algorithms

In Fig. 1, the vertical axis is the sorting time in microseconds per one input element; whereas in Fig. 2, the values of the vertical axis refer to miss rates for corresponding size of data sets. The horizontal axis is the corresponding total element size of input data set. As mentioned in the study of Xiao et al. [12], although flash supported quicksort algorithms produce high miss rates (shown in Fig. 2), their sorting running times are lower compared to other sort alternatives in large data sets (shown in Fig. 1). Flash sort, flash quicksort, and inplaced flash
quicksort algorithms have very close results. It is also shown in Fig. 2 that memory tuned quicksort algorithm
gives the lowest miss rates as expected.
A more realistic case. In the last experimentation step, a more realistic case, 2-level cache structure of Northwood core Pentium 4 processor architecture [14] is simulated. Level 1 cache is configured as 4-way set associative with a total capacity of 8 K, which has a line size of 64 Bytes; Level 2 cache is used as 8-way set associative
with a capacity of 256 K, and with the line size of 128 Bytes. Base merge sort, tiled merge sort, multi merge sort
and tiled merge sort with padding algorithms are simulated with several data sets of 1 K to 4 M. The detailed
simulation results can be found in related previous study of authors [13]. Among those merge sort alternatives,
multi merge sort algorithm offers better miss rate performances for data sizes less than 1 M; however, tiled merge
sort is more scalable for larger data sets; on the other side, the best run time performance is obtained by tiled
merge sort with padding algorithm.

4 New Proposed Algorithm


According to our simulation results, we may conclude that the most important factor which effects the running
time is L1 cache miss count. From our measurements, we obtained that tiling method performs well with regarding L1 cache misses. In this section, we propose some procedural modifications on tiled merge sort algorithm to
reach better performance by decreasing L1 cache miss rates. To further improve the performance, we propose to
make the following operations instead of using basic merge sort algorithm after tiling operation:
Assume that we have m arrays each with size s that equals to half of the size of the L1 cache. Also assume that
these arrays are numbered from 0 to m-1. If we merge and sort all arrays into the array 0, then array 0 has the first
sorted portion of the array. We make the same operations for the other arrays then the target array becomes sorted. We need to make m(m-1)/2 merge operations totally. In this way, we aim to achieve merging operation on L1
data cache to reduce read misses and we aim to avoid write misses which occur while writing to the target array.
The code for our new proposed algorithm is given below where this algorithm can be integrated with tiled merge
sort.
New Proposed Algorithm
begin
w=min;
m=n/w;
source=a;
for (i=0;i<m-1;i++){
k=i*m;
for (j=(i+1);j<m;j++){

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

203

2 ndInternational Symposium on Computing in Science & Engineering

j1=k;
jj2=j2+w;
j2=j*w;
jj3=j2+w;
while ((j1<jj2)&&(j2<jj3)){
if (source[j1]<=source[j2])
j1++;
else{
temp=source[j1];
source[j1]=source[j2];
source[j2]=temp;
j2++;
}
}
if (j1==jj2){
while (j2<jj3)
source[j1++]=source[j2++];
}
if (j2==jj3) j1=jj2;
}
}
if (target==a){
for (i=0; i<n; i++)
a[i]=b[i];
}
end

5 Conclusions
In this paper, we first provided a survey of cache effected sorting algorithms. Secondly, we provided simulation
results including basic merge sort algorithm, tiled merge sort algorithm, multi merge sort algorithm and tiled
merge sort with padding algorithm using Valgrind simulator. We also simulated those various merge sort algorithms on different input data set distributions as random, equilikely, poisson, and zero distributions. As a general
conclusion of those simulation experiments among merge sort variations, tiled merge sort performance seems
appropriate based on the average of sorting time and cache miss rate results.
Its known that basic quicksort wins against basic merge sort in general runnig time. To observe the performance differences between alternative quicksort and flash sort variations, we simulated the miss rates and running
times of flash sort, flash quicksort, inplaced flash quicksort, and memory tuned quicksort. Among them flash sort
has greater miss rates, however it leads better running times than quicksort,
We also provided the simulation results of various merge sort alternatives based on Pentium 4 configuration.
The instruction miss rate on L1 cache performance is nearly same for merge sort algorithms. Tiled merged algorithm performs best among other algorithms considering L1 data cache miss rate. Although multi merge sort algorithms performs best considering L2 data cache miss count, it has the worst performance when L1 data cache
count is considered thus its overall run time performance is worst among other merge sort algorithms. Overall,
tiled merge sort with padding algorithm performs best in run time. Overall findings in our simulations are consistent with the findings and evaluations pointed in the studies by LaMarca and Ladner [9-11], and Xiao et al.
[12].
We also proposed a new algorithm to further reduce the wall clock time and showed its design in this paper.
Our work is ongoing and we are planning to implement the proposed algorithm and compare with the other merge
sort algorithms.
Acknowledgment. The authors thank Prof. Dr. Mehmet Emin Dalkilic for his advises to focus them on cache
effected sorting area.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

204

2 ndInternational Symposium on Computing in Science & Engineering

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Demuth, H. (1956). Electronic Data Sorting. PhD thesis, Stanford University.


Knuth, D. E. (1973). The Art of Computer Programming, Addision Wesley, Reading, MA.
Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Stein, C. (2001) Introduction to Algorithms (2nd ed.). MIT Press and
McGraw-Hill. ISBN 0-262-03293-7.
Goodrich, M. T. and Tamassia, R. (2002). 4.5 Bucket-Sort and Radix-Sort. Algorithm Design: Foundations, Analysis,
and Internet Examples. John Wiley & Sons. pp. 241243.
Han. Y. (2002) Deterministic sorting in O(n log log n) time and linear space. In Proceedings of the thiry-fourth annual
ACM symposium on Theory of computing, Montreal, Quebec, Canada.
Thorup. M. (2002) Randomized Sorting in O(n log log n) time and Linear Space Using Addition, Shift, and Bit-wise
Boolean Operations. Journal of Algorithms, 42(2): 205-230.
Han Y. and Thorup, M. (2002). Integer Sorting in O(n sqrt (log log n)) Expected Time and Linear Space. In
Proceedings of the 43rd Symposium on Foundations of Computer Scienc, 16-19 November, IEEE Computer Society,
Washington, DC.
Hoare, C. A. R. (1962). Quicksort, Oxford The Computer Journal, 5(1).
LaMarca, A. and Ladner, R. E. (1996) The Influence of Caches on the Performance of Heaps, Journal of Experimental
Algorithms, 1.
LaMarca A. and Ladner, R. E. (1997) The Influence of Caches on the Performance of Sorting, In Proceedings of the 8th
Annual ACM Symposium on Discrete Algorithms, SODA 97, New Orleans.
LaMarca, A. and Ladner, R. E. (1999) The influence of caches on the performance of sorting", Journal of Algorithms
31(1): 66-104.
Xiao, L., Zhang, X. and Kubricht, S. A. (2000) Improving memory performance of sorting algorithms, ACM Journal on
Experimental Algorithmics, 5(3): 1-22.
Tekbacak, F., Korkmaz, I., Dagdeviren, O. and Metin, S.K. (2010)Application and Performance Analysis of Cache
Effected Merge Sort Algorithms", In Proceedings of the 4th International Student Conference on Advanced Science and
Technology, ICAST 10, Izmir, May 2010.
http://www.intel.com/products/desktop/processors/pentium.htm
http://valgrind.org/

Biographies
Ilker Korkmaz Ilker Korkmaz received the BSc. degree in Electrical and Electronics Engineering and MSc. degree in
Computer Science from Ege University. He is a PhD candidate at International Computer Institute at Ege University. He is
also an instructor at the Department of Computer Engineering at Izmir University of Economics. His research interests include computer networks, network security, and wireless sensor networks.
Senem Kumova Metin Senem Kumova Metin received her BSc. degree in Electrical and Electronics Engineering from Ege
University and MSc. and PhD degrees from International Computer Institute at Ege University. She is currently working as a
lecturer in Izmir University of Economics. She is mainly interested in natural language processing applications and computational linguistics.
Orhan Dagdeviren Orhan Dagdeviren received the BSc. and MSc. degrees in Computer Eng. from Izmir Institute of Technology. He received PhD degree from Ege University International Computing Institute. He is an assistant professor in Izmir
University, Department of Computer Engineering. His interests lie in the computer networking, distributed systems and wireless sensor networks areas.
Fatih Tekbacak Fatih Tekbacak received the BSc. and MSc. degrees in Computer Engineering from Izmir Institute of
Technology. He is a PhD candidate in Computer Engineering at Ege University. He is also a research assistant in Izmir Institute of Technology. His interests lie in the software agents, access control of role based agents on multi agent systems and
semantic web.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

205

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/61

Performance Comparison of a Homogeneous


Dedicated Linux Cluster and a
Heterogeneous Windows Cluster
1

Deniz Dal, 2Tolga Aydn

Ataturk University, Engineering Faculty, Computer Engineering Department, 25240, Erzurum, TURKEY
1
2
ddal@atauni.edu.tr, atolga@atauni.edu.tr

Abstract. When computing, there are three basic approaches for improving the performance: using a better algorithm, using a faster computer or dividing the calculation among multiple processors/computers. A
computer cluster might be employed as a means to achieve the desired performance improvement for the third
approach. A cluster is a collection of interconnected stand-alone computers cooperatively working together as
a single, integrated computing resource. In the context of computer clusters, every stand-alone computer forming the cluster is also called as a compute node. When all of the compute nodes of a cluster have exactly the
same hardware and software components, this cluster is referred to as a homogeneous cluster. If the cluster is
formed by using computers with different hardware and software specifications, this cluster, on the other
hand, is referred to as a heterogeneous cluster. This paper compares the performance of those two cluster options in terms of execution times. The conducted experiments over two different sets of benchmarks show an
average improvement of 31% in favor of the heterogeneous Windows cluster.
Keywords: Parallel Computing, Computer Cluster, Dedicated Cluster, Linux Cluster, Windows Cluster, Homogeneous Cluster, Heterogeneous Cluster

1 Introduction
There are several scientific applications needing to be solved in a reasonable amount of time and requiring huge
amount of computing power such as weather forecasting. To overcome such a problem, in general, three basic
approaches are employed for improving the performance: using a better algorithm, using a faster computer or
dividing the calculation among multiple processors/computers [1]. A computer cluster might be used as a means
to achieve the desired performance improvement for the third approach. A cluster is a type of parallel or distributed processing system, which consists of a collection of interconnected stand-alone computers cooperatively
working together as a single, integrated computing resource [2]. Clusters serve a number of purposes. A single
system with several computers can be used to obtain the high performance need of a scientific application (High
Performance Clusters). Another cluster may be recruited to create a high-availability in case of a failover for a
critical web serving environment (High Availability Clusters). A cluster might also be used to evenly distribute
the processed data among several computers to provide better performance for a web search engine (Load Balancing Clusters).
Clusters are generally formed by using off-the-shelf, commodity computers, hardware and open source software.
By using commodity computers and connecting them over a switching device enables us to obtain a processing
power once only supercomputers had the opportunity to employ. The flexibility of including a new processing
unit when one of the computing nodes from the cluster fails makes clusters a highly reliable and scalable solution for system administrators. Due to their above-mentioned advantageous, there are many computer clusters that
are on the worlds top 500 supercomputers list along with SMP style supercomputers.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

206

2 ndInternational Symposium on Computing in Science & Engineering

As far as the computer clusters are concerned, every stand-alone computer forming the cluster is also called as a
compute node. When all of the compute nodes of a cluster have exactly the same hardware and software components, this cluster is referred to as a homogeneous cluster. If the cluster is formed by using computers with different hardware and software specifications, this cluster, on the other hand, is referred to as a heterogeneous cluster.
One of the important design steps for building up a computer cluster is the selection of the operating system and
the other software that will be used. Linux would be the top operating system choice that runs on each computing
node of a cluster since it is open source software and does not require a licensing cost. In the context of this paper, a homogeneous Linux cluster is referred to as the cluster where each node of the cluster has Linux installed
on it (same version of Linux distribution, kernel and software packages) and has the same CPU and memory configuration. On the other hand, a heterogeneous Windows cluster is the one where every machine from the cluster
has any Windows operating system installed on and has different CPU and memory configurations. This paper
compares the performance of those two cluster options in terms of execution times. The conducted experiments
over two different sets of benchmarks show an average improvement of 31% in favor of the heterogeneous Windows cluster.
The rest of the paper is organized as follows: Section 2 explains the motivation of this paper. Section 3 is a survey
of related work. Section 4 introduces the process of building up our homogeneous and dedicated Linux Cluster
and our heterogeneous Windows cluster in two separate subsections. Section 5 discusses the experimental results.
Finally, Section 6 concludes the paper with remarks on future research
directions.

2 Motivation
This paper is inspired by a discussion held on a graduate level parallel programming course. In this course, students form a heterogeneous Windows cluster by connecting their personal laptops (all have windows OS installed
on) together over the WLAN of engineering faculty to run parallel programs written in C++ and Windows
MPICH2 [3] implementation of MPI (Message Passing Interface) during the academic semester. The questions
listed below were arisen in one of the lectures while the concept of dedicated Linux clusters were being studied:

Is it really worth building up and maintaining a dedicated Linux cluster?


Does the operating system the compute nodes of the cluster run on affect the performance?
Linux or Windows? Which one is better for clusters?
Clusters with very homogeneous hardware and software and clusters with very heterogeneous hardware
and software. Which one is better in terms of performance and load balancing?

In the scope of this paper, the fourth question will be under scrutiny.

3 Related Work
Some real life problems scientists face today need to be solved as fast as possible. Weather forecasting is one of
such problems and by using parallel computing, people can predict the weather and the climate changes two or
three weeks in advance. Another important problem requiring huge amount of processing power is the human
genome project [4]. Parallel computing is simply either using more than one processor sharing the same memory
bank (supercomputing) or using more than one computer with distributed memory (cluster) to achieve higher
processing power. Clusters offer high performance, high reliability and flexibility with very little cost over their
supercomputer counterparts. When talking about computer clusters, for many people, the most likely thing coming into the mind is a Beowulf Cluster [5]. A Beowulf cluster is a popular variant of a compute cluster that is
based on off-the-shelf, commodity PC hardware and free open source software [6]. There are also commercial
cluster solutions available [7], [8]. Clusters can be either homogeneous or heterogeneous. A heterogeneous parallel and distributed computing environment using PVM is introduced in [9]. Load balancing for heterogeneous
clusters of PCs is examined in [10]. To the best of our knowledge, this work is the first one in the literature that
compares a homogeneous dedicated Linux cluster with a heterogeneous Windows cluster in terms of performance.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

207

2 ndInternational Symposium on Computing in Science & Engineering

4 Experimental Setup
4.1 Building up a Homogeneous and Dedicated Linux Cluster
The schematic view of our homogeneous and dedicated Linux Cluster is shown in Figure 1. This cluster is composed of four nodes: one node for administrative purposes and three dedicated nodes for computing. It also has a
10/100 Mbps ethernet switch (ASUS GigaX1024) for intra-node communications. The software and hardware
specifications of the cluster computers are given in Table 1 and Table 2-3, respectively. Since it is a dedicated
cluster, there is no need for a monitor, a keyboard and a mouse for each individual compute node. (One monitorkeyboard-mouse set is plugged into the head node all the time and also used for troubleshooting when there is a
networking problem and hence, accessing to the compute nodes are impossible.)

Fig. 1. The Schematic View of the Homogeneous Dedicated Linux Cluster


Table 1. The Software Specifications of the Homogeneous Dedicated Linux Cluster Nodes
Hostnames
Operating System (OS)
Version Release
Kernel
admin
Fedora
14
2.6.35.11-83.fc14.i686
Head (Admin) Node
cn01, cn02, cn03
Fedora
14
2.6.35.11-83.fc14.i686
Compute Nodes
Table 2. The Hardware Specifications of the Homogeneous Dedicated Linux Cluster Nodes (1)
Brand Name
CPU Model
CPU Speed FSB Speed
Name
(GHz)
(MHz)
Fujitsu Primergy
Intel(R)
3.0
400
admin
RX100 S2 Rack
Pentium(R) 4
Server
HP Vectra VL420
Intel(R)
1.8
400
cn01, cn02, cn03
DT
Pentium(R) 4
Table 3. The Hardware Specifications of the Homogeneous Dedicated Linux Cluster Nodes (2)
Cache Size
Memory Size
Hard Drive Capacity
(KB)
(MB)
(GB)
1024
2000
80
admin
512
512
40
cn01, cn02, cn03

The head node of the cluster serves as the administrative node and has two network interface cards (eth0 and
eth1). This helps us to isolate the compute nodes from the outside world. The cluster can be accessed over the
internet through eth1 and the head node can communicate with the compute nodes through eth0. All cluster
software are installed on the /opt directory of the head node. The head node also runs as an NFS server to share
its /opt and /home directories over the internal network and those two directories are mounted by all the
compute nodes. Linux MPICH2 implementation of MPI (version 1.3.2.) for message passing and g++ (mpicxx

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

208

2 ndInternational Symposium on Computing in Science & Engineering

wrapper) for compiling C++ programs are installed on the head node. Programs are compiled with O3 flag to
increase the speed. All user accounts are set in such a way that they allow passwordless ssh over the cluster machines. Since there is no need for graphical environments for the compute nodes, they run at init level 3 to reduce
the load of the machines while the head node runs at init level 5 to support X window.
4.2 Building up a Heterogeneous Windows Cluster
Three personal laptops with different versions of Windows OS installed on are employed to build up a heterogeneous Windows cluster for the performance comparison. Those computers are selected in such a way that the
average CPU speeds and the average memory sizes of those computers will match its homogeneous counterpart.
The schematic view for this version of the cluster is very similar to the previous one except the fact that there is
no head node for this scheme. Here, compute nodes are replaced with the laptops and the same ethernet switch is
used for message passing. The software and hardware specifications of the cluster computers are given in Table 4
and Table 5-6, respectively.
Table 4. The Software Specifications of the Heterogeneous Windows Cluster Nodes
Brand Name
Operating System (OS)
Dell Inspiron 6000
Windows XP-SP3
Laptop 1
Dell Latitude D600
Windows Vista-SP1
Laptop 2
Sony Vaio VGN-FS500P
Windows 7 Enterprise
Laptop 3
Table 5. The Hardware Specifications of the Heterogeneous Windows Cluster Nodes (1)
CPU Model Name
CPU Speed (GHz)
FSB Speed (MHz)
Intel(R) Pentium(R) M 740
1.73
533
Laptop 1
Intel(R) Pentium(R) M 725
1.6
533
Laptop 2
Intel(R) Pentium(R) M 760
2.0
533
Laptop 3
AVERAGE
1.78
Table 6. The Hardware Specifications of the Heterogeneous Windows Cluster Nodes (2)
Cache Size
Memory Size
Hard Drive Capacity
(MB)
(MB)
(GB)
2
512
60
Laptop 1
2
512
40
Laptop 2
2
512
100
Laptop 3
AVERAGE
512

All three Windows laptops are equipped with Microsoft Visual Studio 2010 Ultimate for compiling C++ programs and Windows MPICH2 implementation of MPI (version 1.3.2.) for message passing. /O2 flag is used
during compilation to increase the speed of the programs. A new Windows user account with the same username
and the password is created on each laptop and this account is registered with the MPICH2 software. Finally, the
virus protection software (if any exists) and the Windows firewalls of all laptops are disabled.

5 Experimental Results
To compare the performance of two above-mentioned cluster schemes, two different sets of benchmarks were
used. The first set is composed of three embarrassingly parallel benchmarks (the first column of Table 7): Cardano Triplets problem [11], a naive Prime Numbers problem [12] and a Maximum Neighboring Value problem
[13]. Neighboring value of a number (all digits must be unique) is obtained by multiplying each successive digits
of that number and the distances between them together and by taking the sum of all those partial products. For
example, the neighboring value of 7952468 is calculated with the following formula:
4*5*1+5*6*2+6*7*4+7*8*5+8*9*4=816. The third embarrassingly parallel benchmark tries to find the number
that has the maximum neighboring value. The second set of benchmarks (the first column of Table 8) multiplies
two square matrices with different sizes. The second and the third columns of Table 7 and Table 8 depict the
execution times of the first and the second set of benchmarks, respectively. The fourth columns of both tables list
the performance improvements of heterogeneous Windows cluster over homogeneous Linux cluster.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

209

2 ndInternational Symposium on Computing in Science & Engineering


Table 7. Performance Improvements over Embarrassingly Parallel Benchmarks
BENCHMARK
HOMOGENEOUS
HETEROGENEOUS
IMPROVEMENT
LINUX CLUSTER
WINDOWS CLUSTER
(%)
(seconds)
(seconds)
41.71
19.35
54
Cardano Triplets
171.25
124.34
27
Prime Numbers
4779.40
3692.95
23
Maximum
Neighboring Value
35
AVERAGE
Table 8. Performance Improvements over Matrix Multiplications
BENCHMARK
HOMOGENEOUS
HETEROGENEOUS
IMPROVEMENT
LINUX CLUSTER WINDOWS CLUSTER
(%)
(seconds)
(seconds)
3.44
2.97
14
Matrix Multiplication
(1000x1000)
22.50
15.78
30
Matrix Multiplication
(2000x2000)
69.97
49.26
30
Matrix Multiplication
(3000x3000)
159.20
110.187
31
Matrix Multiplication
(4000x4000)
26
AVERAGE

As shown in Table 7, a 35% improvement on average was obtained by using the heterogeneous Windows cluster
in comparison with the homogeneous Linux cluster over the first set of benchmarks. When it comes to the second
set of benchmarks, a 26% improvement on average was also achieved in favor of the heterogeneous Windows
cluster. (The average improvement over two sets of benchmarks yields a value of 31%.)
Architectural differences of the computers (processor families, FSB speeds and cache sizes), the compilers and
their optimization capabilities as well as the operating systems used in those two clusters might have played a role
in the improvements observed. The investigation of all those possibilities could be an avenue for a future research.
6 Conclusions and Future Work
Connecting commodity computers over a switching device and making them act as a single processing unit offer a
cost effective and highly reliable solution for parallel computing needs. This is called clustering and is widely
recruited to find solutions for various kinds of problems within a reasonable amount of time. Clusters can be
either homogeneous or heterogeneous in terms of hardware and software. In this paper, a homogeneous and dedicated Linux cluster was compared with a heterogeneous Windows cluster in terms of performance. The conducted
experiments over two different sets of benchmarks showed an average improvement of 31% in favor of the heterogeneous Windows cluster. As mentioned in the last paragraph of Section 5, several possibilities exist for yielding such a result. The investigation of all those possibilities could be an avenue for a future research.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.

Bohn C. A. and Lamont G. B. (2002). Load Balancing for Heterogeneous Clusters of PCs. Future Generation
Computer Systems, Volume 18, Issue 3.
Burkardt J., http://people.sc.fsu.edu/~jburkardt/cpp_src/prime_mpi/prime_mpi.C
Halici E. (2011), Puzzle Question. The Science and Technology Journal of The Scientific and Technological Research Council of Turkey, Volume 2.
http://h20338.www2.hp.com/hpc/cache/276360-0-0-0-121.html
http://www.mcs.anl.gov/research/projects/mpich2/
http://www.sun.com/blueprints/1201/beowulf-clstr.pdf
http://www-03.ibm.com/systems/clusters/
Jin, H., Buyya, R. and Baker, M. (2000). Cluster Computing Tools, Applications, and Australian Initiatives for
Low Cost Supercomputing. Monitor, The Institution of Engineers Australia (IEAust), Volume 25, No 4.
Project Euler, http://projecteuler.net/index.php?id=251&section=problems

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

210

2 ndInternational Symposium on Computing in Science & Engineering


10. Sloan, Joseph D. (2004). High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI. OReilly
Media.
11. Sterling, T. L., Savarese, D., Becker D. J., Dorband J. E., Ranawake U. A., Packer C. V. (1995). BEOWULF: A
Parallel Workstation for Scientific Computation.
ICPP (1)'1995.
12. Sunderam, V. S. and Geist, G. A. (1999). Heterogeneous Parallel and Distributed Computing. Journal of Parallel
Computing, Volume 25, Issue 13-14.
13. Yap, T.K., Frieder, O. and Martino, R.L. (1998). Parallel Computation in Biological Sequence Analysis. IEEE
Transactions on Parallel and Distributed Systems, Volume 9, Issue 3.

Biographies
Deniz Dal He received the B.S. degree in Electrical Engineering from Istanbul Technical University, Istanbul, Turkey, in
1996 and the M.S. and Ph.D. degrees in Computer Engineering from Syracuse University, Syracuse, NY, USA in 2001 and
2006, respectively. His research interests include computer-aided design digital (CAD), high-level synthesis of digital circuits, power optimization and high performance computing systems.
Since 2007, he has been with the Computer Engineering Department, Engineering Faculty, Ataturk University, Erzurum,
Turkey, where he is currently working as an Assistant Professor.
Dr. Dal is a member of IEEE, ACM and SIGDA.
Tolga Aydn He received the B.S. (May 1998), M.S. (October 2000) and Ph.D. (February 2009) degrees in the field of
Computer Engineering from Bilkent University, Ankara, Turkey. His major fields of study are data mining and machine
learning.
He has several conference and journal publications (Knowledge-Based Systems, Lecture Notes in Computer Science) on
data mining and machine learning fields. His current research interests concentrate on spatio-temporal data mining and parallel data mining.
Since September 2009, he has been with the Computer Engineering Department, Engineering Faculty, Ataturk University,
Erzurum, Turkey, where he is currently working as an Assistant Professor.
Dr. Aydn is a member of MOVE (COST Action IC0903) action.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

211

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/62

Feature Selection for Author Identification


Using Genetic Algorithms
Feritah RC 1, Gkhan DALKILI 2
1,2

Dokuz Eylul University Department of Computer Engineering


1
feristah@cs.deu.edu.tr, 2dalkilic@cs.deu.edu.tr

Abstract. Author identification is used in identifying the corresponding author of an anonymous text, in
areas such as criminal justice, plagiarism detection, computer security etc. In our previous study 12 style
markers based on word n-gram analysis had been collected. In this study, we have collected 12 new style
markers. Column articles of 16 authors have been tested using the old and new markers. While some of these
markers produced better identification results, others did not improve. A method was searched to increase the
success rate of identification by keeping and complementing the successful markers, and eliminating the unsuccessful. The genetic algorithm is one such method which uses feature selection for obtaining better results.
Therefore, genetic algorithm's feature selection principles have been applied to select the successful markers
in our study, which produced much better results.
Keywords: Author Identification, Feature Selection, Genetic Algorithms

1 Introduction
Author identification deals with the task of identifying the corresponding author of an anonymous text, among
a given set of predefined author candidates. The aim is to automatically determine the author of a given text with
approximately zero failure rates. The main idea under computer-based author identification is defining characteristics of documents to determine the writing style of authors. Multivariate analysis techniques which combine
lexical and syntactic analysis techniques, can achieve desirable success ratios.
Related with innovations in the identification technologies of computer science, author identification has been
used in areas such as criminal justice, corporate litigation, plagiarism detection, computer security and verifying
the authorship of e-mails and newsgroup messages.
Recent studies in the author identification area can be exemplified by Mortons study focused on sentence
lengths [1], and Brinegars study focused on word lengths [2]. Other important studies belong to Stamatatos et al.,
who applied Multiple Regression and Discriminant Analysis using 22 style markers [3]; and Corney, who gathered and used a large set of stylometric characteristics of text including features derived from word and character
distributions, and frequencies of function words [4].
Some of the leading Turkish researchers are Tan, who developed an algorithm by using 2-grams [5], and Diri
& Amasyal who formed 22 style markers to determine author and type of a document [6]. In another study, the
same authors used 2 and 3-grams to determine the author, author's gender and type of a document [7]. In our
previous study; linguistic statistics were used based on frequently used word n-grams (1 n 6) collected for all
authors [8].
In our present study 24 style markers are formed to characterize authors. However, not all of the 24 attributes
affect author attribution, positively. Genetic algorithm can be used to discard the unsuccessful attributes, thus
increasing success ratios.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

212

2 ndInternational Symposium on Computing in Science & Engineering

Genetic algorithm is a programming technique that mimics biological evolution as a problem-solving strategy.
Given a specific problem to solve, the input to the genetic algorithm is a set of potential solutions, encoded in
some fashion, and a metric called a fitness function that allows each candidate to be quantitatively evaluated.
Genetic algorithm has been applied to a broad range of subjects like pipeline flow control, pattern recognition,
classification, structural optimization, and has been used to solve a broad variety of problems in extremely diverse area of fields. Some examples of these fields are electrical engineering, chemistry, mathematics, military
and law enforcement, astronomy and astrophysics, geophysics, molecular biology, data mining and pattern recognition, routing and scheduling, and author identification.
One of the genetic algorithm studies for author identification was carried out by Schlapbach et al., who extracted 100 features from a handwriting sample to isolate the author out of a set of writers [9]. By applying genetic algorithm as a feature selection and extraction method on set of features, subsets of lower dimensionality are
obtained. The results show that, significantly better writer identification rates can be achieved, if smaller feature
subsets are used. In 2006, Gazzah and Amara, used genetic algorithm for feature subset selection in order to eliminate the redundant and irrelevant features in study of identifying the writer, using off-line Arabic handwriting
[10]. In 2007, Lange and Mancoridis, developed a technique to characterize software developers' styles using a
set of source code metrics to identify the likely author of a piece of code from a pool of candidates [11]. They
used the genetic algorithm to find good metric combinations for effectively distinguishing developer styles. In
2009, Shevertalov et al., presented a genetic algorithm to discretize metrics of improving source code author
classification. The algorithm evaluated the approach with a case study, involving 20 open source developers and
over 750,000 lines of Java source code [12].
In recent studies, feature selection by genetic algorithm was applied on handwriting identification and source
code identification. In our study, we deal with identifying the author of a newspaper article among 16 columnists,
using 24 style markers characterizing the 16 authors. A total of 33,666 training-set and 7,137 test-set articles are
collected for 16 authors. All training-set articles are used to obtain authors statistics. Randomly selected 100
training-set articles and 100 test-set articles for each 16 authors are used for experimental studies.
In section 2, preliminary works will be explained. Used methods will be detailed in section 3. Experimental
studies will be given in section 4 and finally, section 5 deals with obtained results.
2 Preliminary Work
2.1 General Terms
Measurements of vocabulary diversity play an important role in language research and linguistic fields. The
common measures used are based on the ratio of different words (Types) to the total number of words (Tokens).
This is known as the Type-Token Ratio (TTR) and can be calculated with the Formula 1.
(1)

The Hapax Legomena Ratio (HR) is the ratio in percent between once-occurring types (hapax legomena) and
the vocabulary size. This ratio is calculated by using Formula 2 given below.
(2)

The entropy is a statistical parameter which measures how much information is produced on the average for
each letter of a text, in the language. If the language is translated into binary digits (0 or 1) in the most efficient
way, entropy H is the average number of binary digits required per letter of the original language. Entropy values
of n-gram series are calculated by using the Formula 3. x is the each n-gram observed in the corpus, p is the
probability of the n-gram.
(3)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

213

2 ndInternational Symposium on Computing in Science & Engineering

2.2 Previous Work


In our previous study, two methods each consists of 1-gram to 6-gram groups, were developed for authorship
identification [8]. One of these methods was author specific n-gram method. In this method when a sample
article with an unknown author is handled, word n-grams of this article are computed at first. If an n-gram of
sample article is also an element of most frequently used Turkish n-grams, this n-gram is eliminated thus, n-grams
which are specific to sample article are obtained. In the same way for all 16 authors, n-grams specific to each
author are found. Finally, sample articles and authors specific n-grams are compared and the author having
more common n-grams with sample article is accepted as the author of the sample article. In the second method,
Support Vector Machine (SVM) was used to identify author of an anonymous article. Firstly, like previous method sample articles specific n-grams are determined. Then for each remaining n-gram of sample article, term
frequency matrix is prepared for each author. If an n-gram is also an element of any 16 authors top 500 n-grams,
its frequency called as term frequency is given. After using SVM method, term frequency matrix turns to a similarity matrix that shows similarities between author profiles and the sample article.
These two methods supplies 12 n-gram based features as can be seen on Table 1. Other 12 style markers include word per article (WPA), type/token ratio (TTR), hapax legomena ratio (HR), average sentence (ASL) and
word length (AWL), ,, !, ?, ;, : frequencies, entropy and relative entropy, are collected in scope of this
study.
Some features have high success ratios up to 90% while some have low ratios down to 10% according to Table 1. In this study we are looking for the answer to the question if it is possible to obtain more successful results
when we eliminate weak features and combine useful features.
Table 4. Average success ratios of 24 features on training-set and test-set articles of 16 authors

Training
Test

#13
23.4
19.9

#14
11.8
12.6

#15
13.2
11.4

#16
15.9
15.1

#17
14.3
14.1

#18
18.1
15.3

#19
9.4
8.8

#20
8.8
10.7

#21
6.7
7.4

#11
37.8
24.4
Entropy

#10
60.7
49.2

#22
9.1
8.5

#23
23.2
18.4

6-Gram
#12
24.4
11.2
Relative
Entropy

5-Gram

4-Gram

3-Gram
#9
74.9
66.6

: Freq.

#8
84.9
77.4
? Freq.

#7
80.1
76.0

; Freq.

2-Gram

1-Gram

6-Gram
#6
22.9
8.6

! Freq.

#5
37.9
23.4

Method 2 (SVM)

, Freq.

5-Gram

4-Gram
#4
61.0
50.3

AWL

#3
77.6
69.4

ASL

3-Gram

2-Gram
#2
88.1
83.3

HR

#1
90.1
87.1
WPA

Training
Test

TTR

1-Gram

Method 1 (Author specific n-gram)

#24
11.9
12.7

3 The Method
A genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution as a problemsolving strategy and routinely used to generate useful solutions to optimization and search problems. In GA, an
individual represented by a chromosome is any possible solution, population is group of all individuals and
search space is all possible solutions to the problem. Given a specific problem to solve, the input to the GA is a
set of potential solutions to corresponding problem. These potential solutions are generated randomly to form
initial population of GA.
A metric which is called as fitness function allows each candidate to be quantitatively evaluated. Promising
candidates are kept and allowed to reproduce a new population of candidate solutions. The expectation is that the
average fitness of the population will increase each round, and so by repeating this process for hundreds or thousands of rounds, appropriate solutions to the problem can be discovered.
In this study, a potential solution is a 24 bits chromosome that encodes the appropriate attributes to author
identification process. Search space has 224 possible solutions. This space is so large to search sequentially.
Therefore an evolutionary algorithm GA is needed for optimization of feature set. At the beginning, an initial

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

214

2 ndInternational Symposium on Computing in Science & Engineering

population including parameterized number of chromosomes is generated randomly like on Table 2. Population
sizes (P) of 10, 20, 30, 50, 100 and 200 are tested in this study.
Each bit of a chromosome represents corresponding attribute to be used for identification process. If value of
a bit is 1, the attribute in the corresponding index will be used, otherwise not.
Table 2. Sample population includes randomly generated potential solutions

#
1
2
...
P

Chromosomes
011011011001110111011101
101100100010010111101011

110001101010011101110110

Fitness value to quantitatively evaluate a chromosome is author identification success ratio that is obtained
when attribute selection is made according to chromosomes encoding. Two different types of fitness function,
Weighted Fitness and Weightless Fitness are used in this study. In Weighted Fitness function predicted top
three authors are weighted according to their ranking. Top three authors are selected because top five and top two
are also tested, and best results are obtained when 3 authors are used. For example, as given on Table 3, while
fitness value of a chromosome is being calculated, the top authors predicted by features corresponds to a gene 1
have coefficient 3, the second ranked authors have coefficient 2 and third ranked authors have 1. In Weightless
Fitness function, all authors predicted by features corresponds to a gene 1, have coefficient value 1, otherwise
0. Finally, in both cases the author having maximum total coefficient assumed as predicted author. This operation
is repeated for randomly chosen 100 training-set articles and 100 test-set articles of each 16 authors and average
authorship success ratios are calculated for each chromosome.
Table 3. Top three author id predicted for each 24 features and sample chromosome encodes used features

2 11 12 11 11 2

2 10 8

7 10 9

3 13 15 10 2

0 1 1

Rel. Ent.

9 10 16 13 4

1 1
5
1 0

: Ferq.

5 7 11 11 2

Entropy

1 12 12 3 16 5

; Ferq.

? Ferq.

6-Gram

, Ferq.

5-Gram

! Ferq.

4-Gram

AWL

3-Gram

HR

2-Gram

ASL

1-Gram

TTR

6-Gram

WPA

5-Gram

1 1 1

Chr. Predicted
Author ID

4-Gram

Method 2

1-Gram
g
2-Gram
3-Gram

Method 1

4 15 6

6 16 9

6 11 7

Linear Ranking Selection is used for selection of chromosomes which are used for reproduction operation. In
linear ranking selection, population is sorted from best to worst according to fitness. Elite individuals of parameterized count are copied to new generation. Reproduction operation includes crossover and mutation operations.
In crossover operation, two new chromosomes (offspring) are created from each of two parents in mating pool
that consists of best chromosomes. In mutation operation, a randomly selected chromosome is mutated by changing a randomly selected bit 1 to 0 or 0 to 1. Mutation probability is also a parameter of the GA. Termination condition of the evaluation process is a pre-determined number of generations (in our example it is 1000) or
when a satisfactory solution has been achieved.

4 Experimental Studies
The algorithm was tested on both training-set articles and test-set articles with the two different fitness functions mentioned above and six different population sizes (10, 20, 30, 50, 100, and 200). Each run continued over
a thousand iterations. Best individual feature sets and success ratios for all these parameters are given on Table 4.
All population sizes produced same individuals as fittest solution for each four cases. Thus, it can be said that
growth of population does not improve obtained results.
Table 4. Best individuals (feature sets) and best fitness values (author identification success ratios) obtained by using GA for
all population sizes (10, 20, 30, 50, 100, 200)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

215

2 ndInternational Symposium on Computing in Science & Engineering

Best Individual
Best Fitness

Best Individual
Best Fitness

Weighted Fitness
Training-set Articles
Test-set Articles
111100110000001000000000
110100111000110000000000
94.6
90.5
Weightless Fitness
Training-set Articles
Test-set Articles
111100111000000000000000
111000111100100000000000
89.3
85.2

Genetic algorithm reaches to the same fittest individuals for all population sizes. But individuals (feature sets)
vary for each four cases given on Table 4. 7 of 24 features are selected for training-set articles, while 8 of 24
features are selected for test-set articles. Four features are common for all cases, these are 1-gram and 2-gram
versions of two n-gram based methods mentioned on Section 2. Other important findings are those Hapax Legomena Ratio is a useful feature for training-set articles when weighted fitness function used, Word per Article is
useful for both training-set and test-set articles when weightless fitness function is used and finally Type/Token
Ratio is a useful feature for test-set articles when weighted fitness function used according to the chromosomes
given on Table 4.
Recently, average success ratio 90.1% was obtained for most successful feature #1 and 6.7% was obtained for
worst feature #21 on training-set articles as can be seen on Table 1. Average was 37.8% for all 24 features on
training-set. By combining features selected with weighted fitness function, average success ratio increases to
94.6% for training-set articles.
In the same way, when test-set articles were handled, average success ratio was equal to 87.1% for feature #1
and 7.4% for feature #21. Average success ratio was 32.5% for all 24 features. By combining features selected
with weighted fitness function, average success ratio is obtained as 90.5% for test-set articles.
As seen from Table 4, although weightless fitness results are worse than our previous studys best results, it
exceeds average success ratios 37.8% and 32.5% by 89.3% and 85.2% for training-set and test-set articles respectively.

4 Conclusion
In this study, 24 style markers are formed to characterize authors. But not all of the 24 attributes are successful for author identification. The aim of the study is to obtain more successful results by eliminating weak features
and combining the useful ones. Genetic algorithm is used to increase success ratios, because the cost of sequential
searching of all possible solutions is too expensive.
By using genetic algorithm, an initial population consisting of possible solutions is created. Candidate solutions are kept and allowed to reproduce a new population of candidate solutions. As a result, the average fitness
of the population is increased in each round. By repeating this process for a thousand of rounds, correct author for
the given anonymous text is found, within acceptable success ratios.
For training-set articles, the average success ratio is increased to 94.6% from 90.1%. For test-set articles the
average success ratio is increased to 90.5% from 87.1%, by using weighted fitness function. After a 90.1% high
success ratio in our previous study, the improvement of success ratio gets harder. Therefore, 4.5% improvement
is a satisfactory result. This study shows that, genetic algorithm is an effective and useful attribute selection method to obtain optimal feature subsets, in author identification. The success ratio is increased by using the optimal
feature subset.
In future work, new features for authors will be collected and used to increase the identification success ratio.
Also, parameters of the genetic algorithm and fitness function will be enhanced. Other genetic algorithms like
hybrid genetic algorithm can be applied to investigate the success ratios.

References
[1] Morton A.Q. (1965). The Authorship of Greek Prose, Journal of the Royal Statistical Society, Series A, 128: pp. 169-233
[2] Brinegar C. (1963). Mark Twain and the Quintus Curtius Snodgrass Letters: A Statistical Test of Authorship. Journal of
the American Statistical Association, Vol.58, pp. 8596.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

216

2 ndInternational Symposium on Computing in Science & Engineering


[3] Stamatatos E, Fakotakis N., Kokkinakis G. (2001). Computer-Based Authorship Attribution without lexical measures.
Computers and Hummanities. pp. 193-214.
[4] Corney M. (2003). Analysing e-mail text authorship for forensic purposes. Master of information technology (research)
thesis.
[5] Tan C.M., Wang Y.F., Lee C.D. (2002). The Use of Bi-grams to Enhance Journal Information Processing and Management. Vol:30, No:4, pp. 529-546.
[6] Diri B., Amasyal M.F. (2003). Automatic Author Detection for Turkish Texts. Artificial Neural Networks and Neural
Information Processing. p. 138.
[7] Amasyal M.F., Diri B. (2006). Automatic Written Turkish Text Categorization in Terms of Author, Genre and Gender.
11th International Conference on Applications of Natural Language to Information Systems, Austria.
[8] rc F., Dalkl G. (2010) Author Identification Using N-grams and SVM. 1st International Symposium on Computing
in Science & Engineering, Kuadas, Trkiye.
[9] Schlapbach A., Kilchherr V., Bunke H. (2005). Improving Writer Identification by Means of Feature Selection and Extraction. Proceedings of the 2005 Eight International Conference on Document Analysis and Recognition (ICDAR05).
[10] Gazzah S., Amara N. E. B. (2006). Writer Identification Using Modular MLP Classifier and Genetic Algorithm for
Optimal Features Selection. Lecture Notes in Computer Science, Volume 3972/2006, pp. 271-276.
[11] Lange R., Mancoridis S. (2007). Using Code Metric Histograms and Genetic Algorithms to Perform Author Identification for Software Forensics. GECCO '07 Proceedings of the 9th annual conference on Genetic and evolutionary computation ACM New York, USA.
[12] Shevertalov M., Kothari J., Stehle E., Mancoridis S. (2009). On the Use of Discretized Source Code Metrics for Author
Identification. Search Based Software Engineering, 1st International Symposium on Issue, pp. 69-78, Windsor.

Biographies
Feritah rc was born in Aydn in 1984. She had received the B.S. degree in 2006 and the M.S. degrees in 2009 in
Computer Engineering from Dokuz Eylul University, Turkey. She is still a Ph.D. student in Computer Engineering from
Dokuz Eylul University, Turkey. Her fields of studies are NLP, data mining and business intelligence.
Gkhan Dalkl was born in zmir in 1975. He had received the B.S. degree in Computer Eng. from Ege University, Turkey, the M.S. degrees in Computer Science from USC, Los Angeles, and from Ege University ICI, Ph.D. degree in Computer
Eng. from DEU, Turkey. He had been a visiting lecturer in UCF, Orlando. He has been an Assistant Professor of the Department of Computer Engineering of DEU. His fields of studies are cryptography, and NLP.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

217

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/64

A Real-Time TTL based Downlink Scheduler for


IEEE 802.16 WiMAX
Melek Oktay1,2 and Haci Ali Mantar2
1

Fatih University, 34500, Buyukcekmece, Istanbul, Turkey


Gebze Institute of Technology, 41400, Gebze, Kocaeli, Turkey
moktay@fatih.edu.tr, hamantar@bilmuh.gyte.edu.tr

Abstract. The popularity of real-time applications such as video streaming and Voice over IP (VoIP) have been
increasing in recent years with the development of wireless technology. It is difficult to support Quality of Service
(QoS) for real-time applications in wireless networks. WiMAX is the broadband wireless technology and it supports
heteregenous traffic in wireless medium and QoS for real-time applications. In WiMAX, packet scheduling implementation is left open to vendor and it directly affects the performance of the WiMAX networks. In this study, a TTLbased packet downlink scheduler is proposed. The developed scheduler is tested in the simulation enviroment. The
results show that developed TTL-based scheduler algorithm outperforms good performance with the Earliest Deadline
First (EDF) algorithm.
Keywords: Time to Live (TTL) , EDF, WiMAX, Packet Scheduling, QoS

1.

Introduction

WiMAX, abbreviated from Worldwide Interoperability for Microwave Access, is the commercial name of
products IEEE 802.16 wireless metropolitan area network (MAN) standards [9, 10]. It provides broadband wireless services in MANs and it is an alternative last-mile internet access technology in urban or suburban areas.
WiMAX has economically low cost deployment and it facilitates installation of internet access where cable-based
infrastructures are very expensive or infeasible.
WiMAX is an emerging broadband wireless network and it supports Quality of Service (QoS) in MAC level
[6]. It supports class-based QoS for applications and it has several components for supporting QoS such as admission control, scheduling, classification, etc. The scheduling algorithm, one of the most important components
in WiMAX networks, is not standardized by IEEE 802.16. In the literature, many scheduling algorithms and
schemes are proposed, but most of these algorithms are developed for uplink schedulers. However, there is no so
much effort for downlink schedulers in the literature.
In this study, a novel TTL (time-to-live) based downlink scheduler for WiMAX is proposed. The main objective of the TTL based downlink scheduler is decreasing the delay of packets. The TTL label in Internet Protocol
(IP) lets us know the number of hops (hop count) between the source and the destination. It is a well-known fact
that there is a correlation between the hop count and the delay of the packet in todays networks. When the hop
count increases, the delay of packet also increases. Backlogged packets (packet available to transmission) are
differentiated in Base Station (BS) according to their hop count, and urgent packets are transmitted to their destination before their deadlines are not missed. To the best of authors of this article knowledge, almost nothing has
been published on the subject of this article.
The paper is organized as follows: Section 2 summarizes WiMAX broadband technology and its standard in
details. In Section 3, literature review and the proposed TTL-based packet scheduler are proposed. The simulation environment and the experimental results are presented in Section 4. Finally, Section 5 reports the final evaluation and the future work

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

218

2 ndInternational Symposium on Computing in Science & Engineering

The WiMAX Architecture and Services


The IEEE 802.16 [9, 10] standard provides two operation modes: centralized communication based of point-tomultipoint (PMP) mode and distributed communication based of multipoint-to-multipoint (Mesh) mode. In the
PMP mode, all of the communications between the BS and Subscriber Station (SS) are centrally managed by BS.
There is a centralized scheduling mode and the communications between SSs are not allowed in this mode. In the
mesh mode, communications between SSs are granted. In this way, the coverage and capacity of the network is
increased, but the complexity of MAC protocol is also increased.
IEEE 802.16 physical layer operates between 10-66 GHz in line-of-sight communication and air interface of
WirelessMAN-SC (single carries) operates in this bands. IEEE 802.16a physical layer operates between 2-11
GHz and it supports nonline-of-sight communication. WiMAX supports data rate between 30-130 Mbps which
depends on the certain modulation, coding scheme, and also bandwidth of channel. Additionally, in the evaluation
of the evaluation of new generation of WiMAX which is known as a WiMAX-2 [11], data rate is increased to 100
megabit for mobile user and 1 gigabyte for the fixed applications. Therefore, this makes the bandwidth killer
multimedia applications (e.g. video streaming, VoIP and VoD) suitable in wireless medium.
WiMAX is a connection oriented protocol. It creates one connection for each type of traffic, even if it is for the
connectionless protocols such as IP. For each connection, a unique 16-bit Connection Identifier (CID) is assigned
by BS. Service flow (SF) mechanism is defined in WiMAX and it represents unidirectional traffic connection that
offers QoS level. SF is defined in 32-bit SF identifier (SIF) and unique CID describes it in the network. Besides,
the standard defines scheduling services for supporting class-based QoS level that enables heterogeneous traffic
in wireless medium such as web browsing, VoIP, video streaming, etc. The scheduling services and their properties are described as follows:
UGS - Unsolicited Grant Service: it supports constant-bit rate (CBR) multimedia applications (e.g., VoIP without silence suppression (WoSS)). In UGS, the BS automatically allocates fixed amount of resource for each connection without any need of bandwidth request.
ertPS Extended Real-Time Polling Service: This scheduling service is designed for the variable bit rate
(VBR) real-time applications such as VoIP with silence suppression(WSS). Data packets are granted in periodic
basis like UGS, but the resource allocation is not fixed like UGS. It varies dynamically like rtPS.
rtPS Real time Polling Service: it is also designed for real-time multimedia applications that generate VBR at
periodic intervals such as video streaming and VoD. In this type of service, SS must periodically send bandwidth
request to BS and request resource allocation size varies for each frame.
nrtPS Non Real-Time Pooling Service: this scheduling service class is designed for delay tolerant non-realtime applications such as FTP and Telnet which require minimum amount of bandwidth. SS allows making periodic unicast grant requests at longer intervals.
BE-Best Effort: it is designed for the applications that do not have guarantee on delay and specific bandwidth
requirement such as Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP).
The QoS parameters for the scheduling services are listed in Table 1.
Table 5. QoS Parameters of Scheduling Services
ertPS
VoIP WSS

UGS
T1/E1,
VoIP WoSS
Maximum
Sustained
Traffic Rate
Minimum
Reserved Traffic
Rate
Maximum
Latency Tolerance
Tolerated Jitter
Traffic Priority

rtPS
Video Streaming

nrtPS
FTP, Telnet

BE
HTTP, SMTP

IEEE 802.16 defines many components in the standard. For example, radio resource management, packet
scheduling for uplink/downlink data, and call admission control are some of them. However, implementation
details are left open for vendors. The packet scheduling algorithm is the most important component in the standard, because it directly affects the performance of the WiMAX networks.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

219

2 ndInternational Symposium on Computing in Science & Engineering

2.

The Proposed Architecture

Real-time applications, such as Voice over IP (VoIP) and video streaming, generate symmetric traffic in the
network. Therefore, when a new scheme is proposed for these applications both uplink and downlink scheduler
must be taken into account in WiMAX. Also, a real-time application can compensate certain amount of packet
loss but they are sensitive to jitter and delay of packets. In order to improve the delay performance, appropriate
packet scheduler algorithms should be used. Earliest Deadline First (EDF) [1] algorithm is one of them, and it
shows good performance in real-time applications [2, 3]. The EDF scheduling algorithm marks each incoming
packet with deadline and calculation of this deadline is a critical issue. In the Wimax networks, SS informs the
BS about QoS parameters of flow during the admission control phase. Latency and jitter are some of these parameters. The classical deadline calculation of a packet in EDF is as follows: Latency of the flow is added to the
arrival time of packet in the flow. Although EDF shows good performance in the real-time applications, it can be
improved for downlink scheduler in WiMAX networks with using delay-awareness.
Classical EDF does not differentiate packets that are far or near from/to destination (more hop). It takes only
arrival time and latency into account. However, the packets that far to the source generally face more delay than
near one. Therefore, when a packet coming from far enters to the BS, it should be send to the SS as soon as possible even if its deadline is greater than near destination packet. The main contribution of this study is giving
more precedence to the packet which far to the source. The proposed architecture is shown in Figure 1,. In backlogged real-time applications, such as ertPS and rtPS, the traffic is differentiated according to their hop count
values. Hop count value is a derived attribute that can be calculated from IP labels TTL value. The differentiated packets are assigned to dedicated queues according to their hop counts. There are three queues for each realtime service classes (rtPS, ertPS), HC < 10, 10 < HC < 20, and HC >30, where HC means Hop Count. Therefore,
the precedence of higher HC is greater than the lower one.

Fig. 1. The Proposed Downlink Scheduler Architecture for WiMAX

The classification component is defined in the standard [9, 10], but the implementation details also left to the
vendors. There are efforts about classification in the literature, such as RFC [12, 13], but these studies can be
improved with adding new types of classifiers. Furthermore, one of the important favours of this study is the conservation of the WiMAX protocol stack. There is no need to decompose of TCP/IP protocol stack. Only the new
classification module will be adapted in WiMAX BS, and this module will be classified incoming real-time packet according to their hop counts.

2.1. Hop Count Calculation from TTL value


There is a correlation between the hop-count and delay in the internet [5]. When the hop-count of a packet increases; the delay of the packet that will be faced also increases. Internet Protocol (IP) lets us know the packet

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

220

2 ndInternational Symposium on Computing in Science & Engineering

hop count. It consists of a Time to Live (TTL) 8-bit field. Each router (hop) where the packet that comes through
decrements this value by one. At the destination, the hop count of the packet that reaches from source to destination can be calculated in the final TTL. But different operating systems (OS) assign different default values for
TTL. Therefore, there cannot be a single initial TTL value for each sender IP. Todays modern Operating Systems set the initial values as 30, 32, 60, 64 and 512 as initial values. In the literature, it is observed that these TTL
values are between 30 and 32, 60 and 64, and 32-64 [4]. This assumption is used in this study, for example if the
final TTL value is 110; it is obvious that initial value TTL will be 128.
Packets are differentiated by BS according to the hop count (final TTL values) and packets that are come far to
destination have more precedence than the near ones. In this study, the packet delay in WiMAX network is balanced.

3.

The Simulation Environment and Results

The real-time TTL based downlink scheduler algorithm is implemented in house simulator for WiMAX. The
developed simulator is a discrete-event simulator. For the simplicity, only ertPS service is implemented and tested. The real-time application traffics are generated from video traces that are available [14, 15] in the simulation.
Video traces are encoded in different formats such as H.263 and MPEG. The qualities and packet sizes of the
traces vary between 15 and 256 Kbps.

Fig. 2. The Simulation Topology

The simulation topology developed is shown on Fig.2 in details. There are six video traffic generator components in the Internet which their hop counts vary. There are two video streaming traffic sessions where hop counts
are greater than 20, one session between 10 and 20, and three sessions less than 10 hop counts. Also, WiMAX
Base Station schedules the backlogged real-time packets to the Subscriber Stations (SSs) (there are six SSs).
There are two scenarios in the simulation: in the first scenario, the WiMAX Base Station default scheduler algorithm uses the Earliest Deadline First (EDF) algorithm. EDF selects the packet which has the smallest deadline.
The deadline is equal to the arrival time plus latency parameter which is defined in the mandatory QoS parameter.
In this scenario, EDF does not take Hop Count of the destination of packets into account. All the packets have
same priority in the downlink scheduler. In the second scenario, the scheduler is again EDF, but it takes backlogged packets Hop Count into account. The packets are differentiated into different EDF queues and the scheduler selects greater HC packets first, even if their deadlines are greater than the others. It means that the greater
HC packets have higher precedence.
The simulation results are shown in Figure 3. In this simulation, the Earliest Deadline First (EDF) downlink
packet scheduler algorithm is used. And also, to be aware of the HC effect, the Classical-EDF Scheduler and HCAware-EDF Scheduler are implemented and tested. Since we differentiate packets according to their HCs and put
them in appropriate queues, we have three cluster queues where HC<10, HC>10 and HC <= 20, and HC > 20. In
the simulation result, only two clusters, HC<10 and HC>30, are shown. It is obvious that HC-aware scheduler
balances the delay of the backlogged packets. The cumulative delay of the first cluster (HC<10) increased more

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

221

2 ndInternational Symposium on Computing in Science & Engineering

than classical EDF but cumulative delay of third cluster (HC>30) decreased. It can be said that this is a compensation mechanism that compensates the delay of near (HC<10) backlogged packets and far (HC>30) backlogged
packets.

Fig. 3. Simulation results of


(a) HC > 30 Classical and TTL-Aware EDF
(b) HC < 10 Classical and TTL-Aware EDF

4.

Conclusions

WiMAX is the broadband wireless technology and it supplies ubiquitous high speed connectivity in the last
mile. The packet scheduler algorithm allocates resources to SSs according to their QoS requirements. Scheduler
selection is also critical for the performance of the network. In this study, a new scheme whose name is TTLbased (Hop Count) downlink scheduler is developed. It is implemented in the house simulator. The proposed
scheme outperforms the classical EDF scheme in the downlink scheduler. In addition to TTL-awareness, channel
states of subscriber stations will be considered in future work of this study.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

C. L. Liu and J.W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment,
J. ACM,20(1):4661, 1973.
Melek Oktay, Hac Ali Mantar, "A Real-Time Scheduling Architecture for IEEE 802.16 WiMAX Systems", 9th IEEE International Symposium on Applied Machine Intelligence and Informatics, Slovakia/Slomonice,SAMI 2011,
N. A. Ali, P. Dhrona, and H. Hassanein. A performance study of uplink scheduling algorithms in point-tomultipoint wimax networks.Comput. Commun., 32(3):511521, 2009.
H. Wang, C. Jin, and K. G. Shin. Defense against spoofed IP traffic using hop-count filtering. IEEE/ACM
Trans. Netw. 15, 1 (February 2007), 40-53.
A. Fei , G. Pei, R. Liu and L. Zhang Measurements on delay and hop-count of the internet, Proceedings of
IEEE GLOBECOM'98, , January. 1998
M. S. Kuran and T. Tugcu, "A Survey on Emerging Broadband Wireless Access Technologies," Computer
Networks, Vol. 51, No:11, pp 3013-3046, August 2007.
http://www.isi.edu/nsnam/ns/
http://code.google.com/p/ns2-wimax-awg/
IEEE 802.16-2004, IEEE Standard for Local and Metropolitan Area Networks Part 16: Air Interface for
Fixed Broadband Wireless Access Systems, October 2004.
IEEE 802.16e-2005, IEEE Standard for Local and Metropolitan Area Networks Part 16: Air Interface for
Fixed and Mobile Broadband Wireless Access Systems Amendment 2: Physical and Medium Access Control
Layers for Combined Fixed and Mobile Operation in Licensed Bands, February 2006.
Speeding Up WiMAX http://www.itbusinessedge.com/cm/community/features/interviews/blog/speeding-upwimax/?cs=40726
http://www.faqs.org/rfcs/rfc5154.html
http://www.rfc-editor.org/rfc/rfc5121.txt

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

222

2 ndInternational Symposium on Computing in Science & Engineering

14. Fitzek, F.H.P.; Reisslein, M.; ,MPEG-4 and H.263 video traces for network performance evaluation, IEEE
Communications Society , Network, IEEE, 2001
15. http://www.tkn.tu-berlin.de/research/trace/trace.html

Biographies
M. Oktay received the BS and MS degrees in Computer Engineering from Fatih University, Turkey, , in 2004, and 2007
respectively. He is a PHD candidate in Computer Engineering, Gebze Institute of Technology, Kocaeli, Turkey.
He is currently working at Fatih University as an Instructor. His recent work focuses on Wireless and Mobile Networks, IEEE
802.16 (WiMAX) Metropolitan Area Networks: PMP, Mesh and Relay modes, Load Balancing, Vertical & Horizontal
Handover, Quality of Service in Computer and Wireless Networks
H. A. Mantar received the BS degree in Electronics and Telecommunication engineering from Istanbul Technical University,
Turkey, the MS and PHD degrees
In Electrical Engineering and Computer Science from Syracuse University, Syracuse, NY, U.S.A., in 1993, 1998 and 2003
respectively.
From 1997 to 2000 he worked as an instructor at Syracuse University. Between 2000 and 2003, he was supported by Graduate Students Research fellowship from National Science Foundation. He is currently working at Gebze Institute of Technology (GIT), Turkey, as an Associate Professor. His research interests include wide area network management, QoS, routing, IP
telephony and wireless networks.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

223

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/65

Morphological Disambiguation via Conditional


Random Fields
Hayri Volkan Agun1, Ylmaz Klaslan2
1,2

Department of Computer Engineering, Faculty of Engineering and Architecture,


Ahmet Karadeniz Campus, Trakya University, Edirne
1
volkanagun@trakya.edu.tr, 2yilmazkilicaslan@trakya.edu.tr

Abstract. This paper presents a sequential machine learning approach for disambiguation of morphological analysis of Turkish words in a given sentence. Given that a Turkish word, a morphological analyzer produces faulty results
as well as the correct ones. In this paper we focus on filtering the wrong results which a morphological parser generates by a sequential machine learning model namely Conditional Random Fields. Through experiments performed on
METU-Sabanci Treebank, we show that a 92% accuracy in disambiguation is achieved with using only morphosyntactic features obtained from morphological analyzing task.
Keywords: conditional random fields, morphological disambiguation, natural language processing

1 Introduction
Morphological Analyzing is a major field in Natural Language Processing for a long time. It consists of
analyzing the structure of morphemes, word forms and affixes. In agglutinative languages such as Turkish, Czech,
Finnish, and Hungarian, morphemes are attached together in complex order to form words. However analyzing of
such ordering is cumbersome and most of the time produces more than one result. For instance, in Turkish, the
word "masali", has three different morphological analyses: "masal+Noun+A3SG+Pnon+Acc", "masal+Noun+A3sg+P3sg+Nom", and "masa+Noun+A3sg+Pnon+Nom^DB+Adj+With". In this example there are
two different word roots and three different morphological analyses. In a given context (sentence) dissolving such
ambiguities is called morphological disambiguation.
Morphological disambiguation is an important task in syntactic parsing, word sense disambiguation,
spelling correction and semantic parsing for all languages. For Turkish, rule-based and statistical approaches have
been proposed to this effect. In rule based approaches, a large number of hand-crafted rules are organized to
obtain the correct morphological analysis [10]. Statistical work done on Turkish involves a purely statistical
disambiguation model [3] and a hybrid model of rule-based and classification approaches [12]. For other agglutinative languages, several methods have been proposed: unsupervised learning for Hebrew [6], a maximum entropy model for Czech [4] and a combination of statistical and rule-based disambiguation methods for Basque [2].
The aim of this work is to obtain the correct form of morphological analysis from several morphological
analysis offered by the rule-based parser. In this scope, what we propose differs from alternative statistical approaches in at least two respects. Firstly, we use n-grams to recognize repeating sequences of morphemes instead
of manually organized rule sets. Secondly, rather than confining ourselves to a single word, we also take into
consideration the neighboring words in the learning process. In this process, we use n-gram language models and
Mallet framework to build CRF models. Combining these two methods, we achieve satisfactory accuracy results
on dataset obtained from METU-SABANCI Treebank [1][8].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

224

2 ndInternational Symposium on Computing in Science & Engineering

2 Feature Extractions by Language Models


Language models are mostly known as n-gram models in Natural Language Processing community. They are
used in diverse applications of Natural Language Processing and Information Retrieval such as spelling correction, collocation detection and query suggestion [18]. In our study we use n-gram models to recognize the most
common sequence of morphemes in the morphological analyses of a given word. Since we use morphemes as our
features for the training process of CRF models, we are able to reduce the size of our feature space by merging
most common sequence of morphemes to form one unit of feature. Below an example fgure of this process is
demonstrated.

Fig 1. Extraction of Features from morphological analyses results

In this example, we recognize the most common morphemes that occur together in a morphological analysis of
a given word. From this example, we can infer that the probability of co-occurring morphemes above a threshold
is treaded as patterns. Some of these patterns supply a good heuristics to determine the part of speech of the word.
For example features Pos-Imp and Imp-A2sg often appears in a verb, while A3sg-Pnon appears in a noun.
Please also note that A3sg alone appears in a verb while A3sg-pnon is essential for a noun.
In order to calculate the score of each pattern, we used simple consistency tables and the mutual information
score. An example for a bi-gram model is given below.
Count(A,B)

Count(~A,B)

Count(A,~B)

Count(~A,~B)

Table 1: Consistency Table used in calculation of probabilities

From the consistency table we can calculate the probabilities of P(A,B), P(A), and P(B). P(A) and P(B) represents the probability of having a morpheme A at the first place, and a morpheme B at the second place respectively. The mutual probability gives us the final score which is described in the following equation.
(1)

If the mutual probability score is higher than for a given threshold, we can conclude that the two morphemes
are related and should form a single morpheme by merging.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

225

2 ndInternational Symposium on Computing in Science & Engineering

3 Conditional Random Fields


Conditional Random Fields is a probabilistic graphical framework that is used to model sequential data [13,
16]. It is based on discriminative undirected graphical models where the nodes represent labels y corresponding
input sequence x.

Fig. 2 Linear chain (Half Order) CRF model

In the model given in Figure 2, each label state is conditionally dependent on its features and the previous state.
According to linear chain CRF model,
can be written in the following equation [14, 15].

(2)
where

is a parameter vector,

is a set of real-valued feature functions generated from

frequency of label and feature set, and

is instance specific normalization

function. In our experiments to calculate the model parameters ( ) we used MALLET1 framework to train and
test CRF models with Limited Memory BFGS optimizer [17].
In Figure 2, a more complex version which is a second order CRF is demonstrated. In this model, the number
of conditional dependencies is increased via increasing the connections between sequential states and features.

Fig. 2. Second Order CRF model

The problems of higher models are sparseness along with over-fitting. Here we refer over-fitting as losing the
ability to generalize the learning process by intrinsically learning noise.
4 Method & Experimental Results
Our method comprises two steps: First, we compile a dataset containing alternative analysis results for given
words. Second, we use a CRF model to train and test the learning on the samples of the prepared dataset. In order
to build our dataset, we analyze the words in METU-SABANCI Treebank using a morphological analyzer [19].
Analysis results are checked against the METU-SABANCI Treebank to detect the correct ones. Once the dataset
is formed, we apply the n-grams language model on it to obtain groups consisting of frequently co-occurring
morphological tags. These groups of tags are then used as features in the CRF model where the correct result is
signaled by an appropriate label. In this approach, given the morphological analysis results, we have two independence assumptions:
1

MALLET can be obtained from http://mallet.cs.umass.edu

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

226

2 ndInternational Symposium on Computing in Science & Engineering

1) We assume that different morphological results are independent from each other.
2) We assume that features are independent from each other.
In our experiments, with 95% confidence rate in 10-Fold Cross Validation tests, we observe 92% accuracy for
morphological part-of-speech (POS) tagging and a 88% accuracy in average for morphological disambiguation of
Turkish words. In these experiments we confined ourselves only to 500 words with a 986 different morphological
analysis results (with a ratio of 1.972 morphological results per word). Accuracy results for morphological disambiguation of Turkish in several combinations of CRF models and corresponding n-gram lengths are given in
the following table:
1st Order CRF

2nd Order CRF

Unigram

78.86%

81.88%

Bigram

89.90%

92.52%

Trigram

92.01%

92.85%

Table 2: Morphological Disambiguation Results

In this table we observe that the accuracy is increased with the increase in the order of models up to 92.85%. In
2nd Order CRF model, we consider two previous words and their morphological features to determine the current
result. In the following table, accuracy of POS Tagging results is given.
1st Order CRF

2nd Order CRF

Unigram

91.86%

89.13%

Bigram

92.90%

92.52%

Trigram

92.01%

92.45%

Table 3: POS Tagging Results

In POS Tagging of words, we achieve 92.45% success in terms of accuracy with 2 nd Order CRF model
and trigram model.
5 Conclusion & Future Work
As it turns out, incorporating neighboring morph-syntactic tags as well as neighboring words into disambiguation
process increases the accuracy of finding the correct morphological analyses form. Moreover, if we consider the
patterns of co-occurring morph-syntactic tags in disambiguation process, we achieve a significant increase of 11%
from 81% to 92%. This result suggests that instead of using single morph-syntactic tags as features, a valid compounding is a better feature in POS Tagging and morphological disambiguation process.
For the future work, we will investigate the effects of certain morph-syntactic tags to the learning process and
eliminate the noisy features in the training set. Moreover we will integrate the probability of sequence of morphsyntactic tags as a feature to our CRF models in order to build a hierarchical CRF model.
References
1.
2.
3.
4.

Atalay N. B., Oflazer K. and Say B., (2003). The Annotation Process in the Turkish Treebank, in Proceedings of the
EACL Workshop on Linguistically Interpreted Corpora - LINC, April 13-14, Budapest, Hungary.Baker, P.R. (1978).
Biogas for Cooking Stoves. London: Chapman and Hall.
Ezeiza, N. et. al. (1998). Combining stochastic and rule-based methods for disambiguation in agglutinative languages. In
Proceedings of the 36th Annual Meeting of the Association for Computational Linguistics (COLLING/ACL98), pages
379-384.
Hakkani-Tur, D. Z., Oflazer, K. and Tur, G. (2002). Statistical Morphological Disambiguation for agglutinative languages. Computers and the Humanities, 36:381-410.
Hajic, J. and Hladka, B. (1998). Tagging inflective languages: Prediction of morphological categories for a rich, structured tagset. In Proceedings of 36th Annual Meeting of the Association for Computational Linguistics
(COLING/ACL98), pages 483-490, Montreal, Canada.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

227

2 ndInternational Symposium on Computing in Science & Engineering


5.
6.
7.
8.
9.
10.
11.
12.

13.
14.

Lafferty J., McCallum Andrew, and Pereira Fernando. (2001). Conditional Random Fields: Probabilistic Methods for
Segmenting and Labeling Sequence Data. In Proceedings of the Eighteenth International Conference on Machine Learning.
Levinger, M., Ornan, U. and Itai, A. (1995). Learning morpho-lexical probabilities from an untagged corpus with an
application to Hebrew. Computational Linguistics, 21(3):383-404.
McCallum, and Kachites A. (2002). MALLET: A Machine Learning for Language Toolkit. http://mallet.cs.umass.edu.
Oflazer K., Say B., Hakkani-Tr D. Z. and Tr G. (2003). Building a Turkish Treebank, Invited chapter in Building and
Exploiting Syntactically-annotated Corpora, Anne Abeille Editor, Kluwer Academic Publishers.
Oflazer, K. (1994). Two-level description of Turkish morphology. Literary and Linguistic Computing, 9(2):137-148.
Oflazer, K. and Tur, G. (1997). Morphological disambiguation by voting constraints. In Proceedings of the 35th Annual
Meeting of the Association for Computational Linguistics (ACL97, EACL97), Madrid, Spain.
Thomas G. Dietterich. (2002). Machine Learning for Sequential Data: A Review. In Structural, Syntactic, and Statistical
Pattern Recognition; Lecture Notes in Computer Science, Vol. 2396, T. Caelli (Ed.), pp. 15-30, Springer-Verlag.
Deniz Yuret and Ferhan Ture. (2006.) Learning morphological disambiguation rules for Turkish. In Proceedings of the
main conference on Human Language Technology Conference of the North American Chapter of the Association of
Computational Linguistics (HLT-NAACL '06). Association for Computational Linguistics, Stroudsburg, PA, USA, 328334.
Dietterich, T. G. 2002. Machine Learning for Sequential Data: A Review. In Proceedings of the Joint IAPR International Workshop on Structural, Syntactic, and Statistical Pattern Recognition (4)
Lafferty, J., McCallum, A., and Pereira, F. 2001. Conditional Random Fields: Probabilistic models for Segmenting and
Labeling Sequence Data. In Proceedings of ICML-01, 282-289.

15. Wallach, H. M. 2004. Conditional Random Fields: An Introduction. Technical Report MS-CIS-04-21. Department of
Computer and Information Science, University of Pennsylvania.
16. Sha, F., and Pereira, F. 2003. Shallow Parsing with Conditional Random Fields. In Proceedings of HLT-NAACL, 213220. (20)
17. Sutton, C. 2006. "GRMM: Graphical Models in Mallet." http://mallet.cs.umass.edu/grmm/.
18. Manning C. D. and Schtze H. 1999. Foundations of Statistical Natural Language Processing, MIT Press, 191-196.
19. Eryiit G. and Adal E. 2004. An affix stripping morphological analyzer for Turkish. In Proceedings of the International
Conference on Artificial Intelligence and Applications, pages 299-304, Innsbruck.

Biographies
Hayri Volkan Agun
Birthdate: 1982, Birthplace: Erzurum.
MSc in Computer Engineering, Trakya University 2008.
BSc in Computer Engineering, Anadolu University 2005.
He has been contributing to the research projects at Cognitive Science Society of Trakya since 2006. Research interests include Natural Language Processing, Text Mining and Information Retrieval. Mr. Agun is a professional member of
ACM since 2010, and IEEE since 2006.
Ylmaz Klaslan
Birthdate: 1969, Birthplace: Simav.
PhD in Cognitive Science, Edinburgh University 1998.
MSc in Cognitive Science, Edinburgh University 1994.
BSc in Computer Engineering, Middle East Technical University 1992.
He is a lecturer in Computer Engineering and Science, at Trakya University. Dr. Klaslan is teaching a course on
semantics at Boazii University. Research interests include Computational Linguistics, Natural Language Processing and
Machine Learning.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

228

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/67

Classification of Alcoholic Subjects Using


Multi-Channel ERPs based on
Channel Optimization Algorithm
Mehmet OKYILMAZ1, Nahit EMANET2
1,2

Fatih University, Department of Computer Engineering, stanbul, Turkey


1
mcokyilmaz@fatih.edu.tr, 2emanetn@fatih.edu.tr

Abstract. Alcoholism is an addictive disorder with effects on individuals social, physical and psychiatric
lives. Additionally, it causes hard neurological damages on brain of the victims. In this paper, Global Field
Synchronization (GFS) of multi channel Event Related Potential (ERP) signals in Delta, Theta, Alpha, Beta
and Gamma frequency bands were used as discriminating feature vectors in the classification of alcoholic and
non-alcoholic control subjects. GFS is a feature extraction method which is used to acquire the functional
connectivity of the brain as a response to a given stimuli type. A channel optimization algorithm was applied
during GFS feature extraction stage to determine the most significant channel sources in order to improve
classification accuracy of the system. Probabilistic Neural Network (PNN), Support Vector Machine (SVM)
and Random Forest (RF) were used as classifiers. SVM is the best classifier with the classification accuracy
of %89.
Keywords: Alcoholism, Event Related Potentials, Probailsitic Neural Network, Support Vector Machine,
Random Forest

1 Introduction
Alcoholism is an addictive disorder which is defined as excessive and unconscious alcohol usage. Genetic and environmental factors trigger the development of alcoholism. Although some researches show that genes
inherited from the family provide a common risk factor for alcoholism; the environmental risk factors and risk
factors related with lifestyle play the supporting risk factor for its progression [1]. It has social, physical, psychiatric and neurological harms on individuals. Diagnosing an alcoholic subject is very important for his rehabilitation. In order to diagnose a subject, it is useful to know the strength of damage that the addiction causes in patients brain. For this reason the diagnosis is done by using electrical activity of the brain.
Electrical activity of the brain is recorded by using multiple electrodes placed at the surface of the scalp
is called electroencephalogram (EEG). The amplitude of EEG signal can vary between -100 V and +100 V and
its frequency ranges up to 40 Hz or more. Event related potentials (ERPs) that are specific parts of the ongoing
EEG records are the negative and positive voltage changes related to the brains response against to auditory or
visual stimulus [2].
ERP has been widely used tool in almost all areas of psychological research to make correlations between brain activity and cognitive deficits caused by various neurological disorders. Even though ERP consists of
lots of components which carry different information about the brain activity, P300 or P3 is the most commonly
used task-relevant component in the literature. The significant maximal positive peek between 300 and 900 ms is
characterized as P300 which is generated over parietal/central area of the brain. The P300 component of ERPs
provides features to investigate the neurological disorders including alcoholism [3]. Functional connectivity of
the brain regions as a response against to a given stimuli was investigated before by using PNN as a classifier [4].

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

229

2 ndInternational Symposium on Computing in Science & Engineering

Unfolding the relation between different brain regions by some distinct synchronization measurements helps us to
investigate brain functioning in alcoholism and other disorders.
In this paper, SVM and RF classifiers are added into proposed system that uses PNN as a classifier in
order to distinguish alcoholic subjects from the non-alcoholics by using multichannel ERPs by identifying the
regions of the brain that gives the most significant information for classification and efficiency of the three classifiers are compared.
2 Material and Methods

2.1 ERP Paradigm, Recording and Data Acquisition


The EEG data used in this work were collected in a large study that tried to find a link between genetic
predisposition and alcoholism at Neurodynamics Laboratory at the State University of New York Health Center
at Brooklyn [5]. 122 subjects were participated in the study as alcoholic and non-alcoholic subjects. The first
group is called alcoholic subjects which have high risk for developing alcoholism, other one with low risk were
called non-alcoholic subjects. All subjects are right-handed and do not have any problem about their vision ability.
EEG data was recorded in a sound-attenuated RF shielded room and the subjects were sat in a chair that
was located 1 meter away from the computer. A 61-channel electrode cap (ECI, Electrocap International) was
used during recording process. The Electrocap consists of 19 electrodes according to 10-20 International System
and 42 additional electrodes according to Standard Electrode Position Nomenclature, American Electroencephalographic Association 1990(Fig. 1 shows an example).
Some visual stimuli were given to subjects during EEG recording in order to obtain ERP from EEG records. Pictures of objects were chosen from the 1980 Snodgrass and Vanderwart picture set as visual stimuli [6].
There are three set of experiment was done to record ERPs. In the first experiment, a single stimulus (S1
condition) was given to the subjects to obtain ERP. In the following two experiments, a stimulus pair (S1 and S2)
was given to the subjects with a 1.6 second fixed interstimulus interval. There were two different conditions for
these stimulus pairs. First condition is called matching condition, S1 was identical to S2 and in second condition
is called no matching condition, S1 was different from S2. The matching and no matching conditions were randomized for these two experiments.

Fig. 1. Standard Electrode Positions

In the second experiment, the subjects were asked to press a mouse key in matching conditions. In the
third experiment, subjects were asked to press in no matching conditions.
Finally, ERPs were averaged as artifact-free trials with correct responses for three cases: S1, S2 match
and S2 nomatch.
70 subjects were randomly selected from EEG data set. Both alcoholic and non-alcoholic groups consist
of 35 subjects for each three experiment. Before applying feature extraction and classification, the ERP data were
arranged in order to be ready for processing.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

230

2 ndInternational Symposium on Computing in Science & Engineering

2.2 Global Field Synchronization for Feature Extraction


In this study, Global Field Synchronization calculation, explained in detail by T. Koenig [7], was used
for feature extraction from ERP data. GFS values from different channels in different frequency bands were used
to extract features vectors that show functional connectivity of ERP signals for different stimuli types. In order to
calculate GFS; each ERP signals was transformed into frequency domain by using Fast Fourier Transformation
(FFT). FFT is used to decompose the signals in time domain into components in frequencies domain. After applying FFT, sine and cosine values of each frequency that belongs to one channel of the ERP signal were found. A
two-dimensional array was constructed for each channel by using these sine and cosine values. Principal Component Analysis (PCA) was applied for this two-dimensional array to reveal the internal structure of the dataset
pattern for a better classification. Global Field Synchronization (GFS) value for a specific frequency band for
each channel is calculated by using the first two principal eigenvalues, E(f)1 and E(f)2 as shown in the following
equations (1) and (2) [8]:

GFS ( f )

E ( f )1 E ( f ) 2
E ( f )1 E ( f ) 2

0 GFS ( f ) 1

(1)

(2)

GFS value varies between 0 and 1. If the GFS value approaches to one, this emphasizes coherence among the
channels of ERP signals in terms of functional connectivity. Otherwise, there is not such coherence [9].
GFS values were calculated for each five frequency bands for each channel using ERP signals as shown in Table 1. Then, GFS values that come from each channel were averaged for each subject. Finally, five GFS values
from each frequency band for each subject were extracted as feature vector.
Table 6. Frequency bands that are used in GFS calculation

Frequency Band
Delta
Theta
Alpha
Beta
Gamma

Frequency Range
1-4 Hz
4.5-7.5 Hz
8-12 Hz
12.5-30 Hz
35-45 Hz

2.3 Probabilistic Neural Network


Probabilistic Neural Network was intended and applied by Donald Specht in 1990 [10]. PNN, a feedforward network without back propagation mechanisms, can be built with four layer model.
Input layer is only responsible to forward features of the input data to the pattern layer. The Euclidian
distances between input feature vector and training vectors are calculated in pattern layer as a vector. The elements of this vector indicate how close the input features vector is to a training input. In order to calculate distance vector for each classification, the whole training pattern set that is stored in the pattern layer is used. Radial
Basis Function (RBF) is then applied to distance vector as activation function in pattern layer as given in equation
(3) [11].

r radbas distance

(3)

Result is passed to the summation layer of the PNN. The summation layer sums the outputs of the pattern
layer and calculates the probabilities of input for each class as a vector. The outputs of the summation layer for a
testing data are Bayesian posterior probabilities that show the probabilities of each output belonging to each class.
The classification for PNN is done in decision layer as given in equation 4.

hi ci f i ( x) h j c j f j ( x)

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

231

(4)

2 ndInternational Symposium on Computing in Science & Engineering

where hi and hj are the probabilities of the input for class i and j, ci and cj are the misclassification cost
for two class and fi(x) and fj(x) are probability density functions of the classes [12]. The input is classified based
on the maximum probability value, and the decision layer produces a logical one to the corresponding class and
zero for all other classes.

2.4 Support Vector Machine


Support Vector Machine (SVM) was invented and applied by Vladimir Vapnik and Corinna Cortes [13].
SVM is very popular algorithm to perform classification of a given data into two categories by constructing a
hyperplane or a set of hyperplanes. SVM uses supervised learning methods.
Firstly, a training set is given to system with the information of their belonging classes. SVM training algorithm uses an optimization method to build a model that is used to classify new examples in the testing data. As
a result of training stage, the support vectors si, weights ai, and bias b parameters are calculated to form a classification function as shown in (5).

c ai k ( s i , x ) b

(5)

A kernel function k(si,x) is selected based on the application. In default, dot product is used for linear
classification. After constructing the classification function, the new examples are classified by applying the function. If c 0, the instance x is classified as a member of one group, otherwise it is classified into other group.

k (si , x) exp( si x )
2

(6)

SVM is used for non-linear classification by selecting different kernel functions. Gaussian Radial Basis
Function is commonly used non-linear classification kernel function for SVM.

2.5 Random Forest


Random Forest which is used for classification problems as machine learning algorithm is developed and
applied by Leo Breiman [14]. A random forest is called an ensemble of unpruned classification trees, which
gives a prediction based on majority voting. It has no sensitivity for noises in the data set and is not subject to
overfitting; for this reason, various number of practical problems it provides excellent performance. It works fast,
and generally exhibits a substantial performance improvement over many tree-based algorithms without need to
fine-tune parameters. Data samples which have missing attributes are not excluded by Random Forest by using its
effective method to estimate the missing attributes of the data samples.
Gini node impurity criterion is used to build classification trees for Random Forest recursively. Gini
node impurity criterion used a mechanism which determines splits in the predictor variable to do this recursive
operation. A split of a tree node is made on variable in a manner that reduces the uncertainty present in the data
and hence the probability of misclassification. If the Gini value is zero, it means that the ideal split of a tree is
built. The splitting process continues until a forest, consisting of multiple trees, is created. Classification continues until each tree in the forest casts a unit vote for the most popular class. Then, the classification which has
the most votes among all trees in the forest is chosen by the Random Forest. Pruning is not needed as each classification is produced by a final forest that consists of independently generated trees created through a random
subset of the data, avoiding over fitting. The generalization error rates are generated based on the strength of the
individual trees in the forest and the correlation between them. This error rate converges to a limit as the number
of trees in the forest becomes large.
There is no cross validation or a separate test set to get an unbiased estimate of the test set error makes
Random Forest advantageous. Test set accuracy is estimated internally in RF by running out-of-bag (OOB) samples. Approximately one-third of the cases are out-of-bag (out of the bootstrap sample) for every tree grown in
RF. The out-of- bag (OOB) samples can serve as a test set for the tree grown on the non-OOB data.
Random Forest (RF) algorithm can be summarized as follows:
1. A number n is specified. n must be much smaller than the total number of variables N (generally n ~
N1/2)
2. Each tree of maximum depth is grown without pruning on a bootstrap sample of the training set

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

232

2 ndInternational Symposium on Computing in Science & Engineering

3. At each node, n out of the N variables are selected randomly instead of choosing the best split
4. Gini node impurity criterion is used to determine the best split on these n variables.
Reducing n causes a reduction on the strength of the individual trees in the forest and the correlation between them. On the other hand increasing causes increase on both. An optimum value of n can be found by using
the OOB error rate. The value n is used the only adjustable parameter which specify the sensitivity of RF
The computational complexity of each tree in RF is O((Slog(S)N1/2), where S is the number of the training cases. Therefore, it can handle very large number of variables with moderate number of observations.
Random forest is also used to measure the effectiveness of each variable in the data set. This means that
significance of each feature is the given data set is measure and compared by RF [15].

2.6 Implementation Details


In implementation, a method similar to leave-one-out paradigm was applied. For 70 subjects the training
and testing phases is done in 70 rounds. For each round, one subject is selected as testing subjects and the remaining 69 subjects are used for training data. The classification systems are trained and tested again and again for
different subject at each round. The result shows whether the selected subject is classified as true or not. Finally,
all true classifications and false classifications are counted at the end of 70th round and the classification accuracy
is found.
The classification accuracy was nearly %50 when all 61 channels were used in this manner. In order to
improve the classification accuracy; an optimization algorithm was designed and applied. The aim of applying
this algorithm is to find the channels that play important role in classification of alcoholic subjects and to identify
the regions of brain that are degenerated by alcoholism [4]. The pseudo code of the algorithm is provided as (Fig.
2 shows an example);

Fig. 2. Channel Optimization Algorithm

Our channel optimization algorithm is a simple heuristic algorithm. Two channel sets are defined as L
and G. L represents local best channel set and G represents global best channel set. Initially, L and G contain all
61 channels. The algorithm first tries to classify subjects by using G channel set and find classification accuracy
as global best classification accuracy. Then a channel is omitted such that without it the global accuracy is maximized with the remaining channels. This process continues until omitting a channel does not improve the global
classification accuracy [4].
In order to formulate the algorithm, we can define accuracy improvement of L with respect to G for
omitting a single channel x G.

improve(G, L) acc(G) acc(G x)

(7)

G such that improve(G, L) > 0 is maximized.


The algorithm is stopped, when there is no improvement, i.e. improve(G, L) < 0.
The algorithm finds and omits a single channel x

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

233

2 ndInternational Symposium on Computing in Science & Engineering

3 Results
The proposed optimization algorithm is applied with PNN, SVM and RF separately to 70 subjects for
each three experiment cases; single stimulus (S1 Subject), S2 matching (S2 match) and S2 no matching (S2 nomatch) conditions. The test performance of the system and classifiers are determined by the computation of sensitivity, specificity and accuracy measurements based on classification results as shown in Table 2. In order to
compute these statistical parameters, true positive, false positive, true negative and false negative results are calculated.
Table 7. Experimental Results by Applying Channel Optimization Algorithm

Probabilistic
Neural
Network
Support
Vector
Machine
Random
Forest
Classifier

# of channels
Specificity
Sensitivity
Accuracy
# of channels
Specificity
Sensitivity
Accuracy
# of channels
Specificity
Sensitivity
Accuracy

S1 Subject
18
0,74
0,89
0,81
20
0.72
0.86
0,79
26
0.79
0.76
0.77

S2 Match
8
0,83
0,80
0,81
18
0.92
0.86
0,89
18
0.85
0.81
0.83

S2 Nomatch
13
0,69
0,80
0,74
19
0.74
0.66
0,70
11
0.76
0.75
0.76

Classification accuracies are improved from %50 to %90s by applying channel optimization algorithm.
While the classification accuracy is being improved, the number of channels that are used to record ERPs is reduced. The used channel number is reduced from 61 to nearly 15-20. So the main reason of this inversely correlated pattern between the classification accuracy and number of channels can be unimpaired brain regions. The
deficits of the alcoholism on brain can affect on some specific regions of the brain. Finding these regions and
recording ERPs by using these channels can improve the classification accuracy of the system as proved in this
paper. Moreover, the brain regions that have the most significant features for classification are found by the proposed system.
The resulting channel electrode places are shown by using Standard Electrode Positions (Fig. 1 shows an
example) for each classifier results and each data set. If the regions of the brain are examined in terms of the
results of PNN classifier; right frontal, right central, middle central and left parietal sites have valuable information for classification of S1 subjects; middle central and left central regions for S2 match subjects and finally
right frontal, middle central and middle parietal regions for classification of S2 nomatch (Fig. 3 shows an example).

Fig. 3. Channel electrode places for PNN classifier results respectively belongs to S1 subjects, S2 match and S2 nomatch data
sets

In the results of SVM classifier; right and middle frontal, middle central, right and left parietal sites have
valuable information for classification of S1 subjects; right central and left and right parietal regions for S2 match

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

234

2 ndInternational Symposium on Computing in Science & Engineering

subjects and finally right frontal, middle central right parietal regions for classification of S2 nomatch (Fig. 4
shows an example).

Fig. 4. Channel electrode places for SVM classifier results respectively belongs to S1 subjects, S2 match and S2 nomatch
data sets

In the results of RF classifier; right frontal, right, left and middle central, left parietal and occipital sites
have valuable information for classification of S1 subjects; middle central and left and right parietal regions for
S2 match subjects and finally right central, left and right parietal regions for classification of S2 nomatch (Fig. 5
shows an example).

Fig. 5. Channel electrode places for RF classifier results respectively belongs to S1 subjects, S2 match and S2 nomatch
data sets

In order to generalize the regions in terms of data sets: right frontal, right and middle central, right and
middle occipital regions have more significant information for classification of S1 subjects; left and middle central, left parietal for S2 match subjects; right and middle central, right parietal regions have more significant information for classification for S2 nomatch subjects.
Although the classification accuracies of the three classifiers are nearly similar, SVM is seem to be best
classifier with the classification accuracy of %89. After that, RF is the second classifier with the classification
accuracy of %83. PNN has %81 classification accuracy.
Additionally, it can be interpreted that S2 match data set and test environment is seem to be more efficient to obtain ERPs from the subjects in order to classify them into alcoholic.

References
1.

2.
3.

Micheal, D.K. (2008). Approach to the genetics of alcoholism: A review based on pathophysiology. Biochemical pharmacology 75: 160-177.
Micheal, G. H. C. and Micheal, D. R. (1995). Electrophysiology of Mind: Event-Related Brain Potentials
and Cognition. Oxford University Press, 1-23.
Porjesz, B and Begleiter, H. (1990) Event-related potentials in individuals at risk for alcoholism. Alcohol
7(5): 465-469.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

235

2 ndInternational Symposium on Computing in Science & Engineering

4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Cokyilmaz, M. and Emanet, N. (2010). Classification of Alcoholic Subjects using Multi Channel ERPs based
on Channel Optimization and Probabilistic Neural Network. In Proceedings of Ninth Applied Machine Intelligence and Informatics, Smolenice, Slovakia, 27-29 January.
L.Ingber http://kdd.ics.uci.edu/database/eeg/eeg-full.tar
Zhang, X. L.; Begkiter, H.; Porjesz, B.; Wang, W.; and Litke, A. (1995). Event Related Potentials during
Object Recognition Tasks. Brain Research Bulletin 38(6): 531-538
Koenig, T.; Lehmann, D.; Saito, N.; Kuginuki, T.; Kinoshita T.; and Koukkou, T. (2001). Decreased functional connectivity of EEG theta-frequency activity in rst episode, neuroleptic-naive patients with schizophrenia: preliminary results. Schizophrenia Research 50(1): 5560.
Koenig, T.; Prichep, T.; Dierks, T.; Hubl, D.; Wahlund, L. O.; John, E. R.; and Jelic, V. (2005). Decreased
EEG synchronization in Alzheimer's disease and mild cognitive impairment. Neurobiology Aging 26(2):
165171.
Kikuchi, M.; Koenig, T.; Wada, Y.; Higashima, M.; Koshino, Y.; Strik W.; and Dierks, T. (2007). Native
EEG and treatment effects in neuroleptic-nave schizophrenic patients: Time and frequency domain approach. Schizophrenia Research 97(1): 163-172.
Specht, D. F. (1990). Probabilistic neural network. Neural Networks 3(1): 109-118.
Wahab, N. I. A.; Mohamed, A.; and Hussain, A. (2008). Comparing least squares support vector machine
and probabilistic neural network in transient stability assessment of a large-scale power system In Power and
Energy Conference. Johor Bahru, 1-3 December.
Hammond, M. H.; Riedel, C. J.; Rose-Pehrsson, S. L.; and Williams, F. W. (2004). Training set optimization
methods for a probabilistic neural network Chemometrics and Intelligent Laboratory Systems 78(1): 73-78.
Cortes, C. and Vapnik, V. (1995). Support-Vector Networks, Machine Learning 20(3): 273-297.
Breiman, L. (2001). Random Forests, Machine Learning 45(1): 5-32.
Emanet, N. (2009). ECG Beat Classification by Using Discrete Wavelet Transform and Random Forest Algorithm. In International Conference on Soft Computing, Computing with Words and Perceptions in System
Analysis, Cyprus, 2-4 September

Biographies
Mehmet okylmaz Mehmet okylmaz received his B.Sc degree in 2008 at Computer Engineering Department, Fatih
University, Istanbul, Turkey. He is now studying his M.Sc at Computer Engineering Department, Fatih University, Istanbul,
Turkey. His main interests are pattern recognition, heuristic optimization. He is currently a Research Assistant at Computer
Engineering Department, Fatih University, Istanbul, Turkey.
Nahit Emanet Nahit Emanet received his B.Sc degree in 1994 at Computer Engineering Department, Boazii University, Istanbul, Turkey. He completed his M.Sc. study in 1997 at Computer Engineering Department, Boazii University,
Istanbul, Turkey. In 2004, he received his Ph.D. from the same university. His main interests are microprocessor architectures, embedded systems, VLSI design, pattern recognition, computer graphics and vision. He is currently an Assistant Professor at Computer Engineering Department, Fatih University, Istanbul, Turkey.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

236

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/68

E-learning Content Authoring Tools and


Introducing a Standard Content Constructor Engine
Hossein Keynejad 1, Maryam Khademi 2, Maryam Haghshenas 3, Hoda Kabir 4
1,2,4

Islamic Azad University /South Tehran Branch /Tehran /Iran


Islamic Azad University /Science & Research Branch /Tehran /Iran
1
keynejad@azad.ac.ir, 2 khademi@azad.ac.ir, 3 m.haghshenas@srbiau.ac.ir,4 hoda_kabir@yahoo.com
3

Abstract.This paper is the final consequence of studies and investigations on producing an appropriate
authoring tool in order to construct a standard interactive multimedia content in the process of Elearning.Although many tools have been developed to produce content only some of them are compatible to
standards, such as SCORM and IMS. Because of this fact we intend to introduce a content constructor engine
designed in our workgroup and scrutinize its capabilities. In addition to producing standard content, this
engine employs knowledge management in content as well.
Keywords: standard learning authoring tools, metadata ,asset ,SCO,IMS Global consortium, knowledge
management in content, reusable learning object

1 Introduction
E-learning content authoring tool is software designed to create E-learning curriculum. These authoring tools
develop pages comprised of text, audio, image, video and animation. By organizing the pages, produced content
will ease learners to track on the process of learning and appraise their progression themselves and this will
apparently lead to self study. With a proper scenario, mentors and educators could observe the progression of
their learners as well. So if we recognize the standards, we will be able to choose an appropriate authoring tool
and provide congenial content to employ in E-learning process [1], [4].

2 An overview on E-learning constructor tools


It should be considered that the main goal of using standards in E-learning is to provide standard data structures
and communication protocols for E-learning object and learning process. Conforming to the standards, we will
be able to supply high quality content.
Regarding to the enormous domain of E-learning process and its tools, the standards have been focused on
different branches. We are going to discuss on those related to content issue. In this case metadata, content

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

237

2 ndInternational Symposium on Computing in Science & Engineering

packaging, content and learning material consortium, appraising educate and interactive content, included in
IMS 1and SCORM2 standards, will be mentioned [2], [3].
In SCORM standard, E-learning content is created on the basis of reusable learning objects. The model which
presents content in this standard is composed of three main parts:
1- Assets including media (text, audio, image, video, animation and web pages) which are introduced as
valuable objects.
2- SCO3 that contains some assets and are introduced as the lowest level of component in content, in
order to provide reusability.
3- Content packaging that provides methods of packing contents in the form of connectable learning units
(course, chapter and modules).
This standard, for each of the three parts, puts metadata in XML 4 format so that they could be described. The
most important E-learning standard is the one related to descriptive metadata, so it could provide the following
abilities:

Searching facilities (assessment, access and the use of learning objects)


The possibility of sharing and exchanging learning objects among different E-learning systems.
The possibility of automating the process of providing learning content for each learner separately, due
to software factors.
To standardize the description of learning resources

The defined data model for metadata in SCORM standard is divided into 9 main sections and internal parts of
each section is depicted in detail (description of name, data type, maximum length and number of permitted
repetitions). After the declaration about components name and structure involved in data model, the method of
components implementation accompanied by XML standard is defined. The descriptions provided for each
component in metadata include:

A definition of component, its function and performance


Number of permitted repetitions (how often is a component allowed to be repeated inside its parents).
Pages
Component ( an instance of implemented component accompanied by higher level components)

In order to explain the content and its constructing process some suggestions are propounded in IMS standard as
well. We are going to describe limited number of them briefly:

IMS content packaging specification to create and share the object, content and learning elements with
the capability of being reusable
IMS question test specification to share test items and other appraisable devices
IMS learning design specification to define learning scenarios and interactions for the use of contents
and curriculums

It must be mentioned that these are only some of the categories for constructing E-learning contents in IMS [4],
[6], [8], [9], [10].

1IP

Multimedia Subsystem
Content Object Reference Model
3 Sharable Content Object
4 Extensible Markup Language
2Shareable

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

238

2 ndInternational Symposium on Computing in Science & Engineering

3 General format of E-learning content authoring tools


The most important requirements in learning and E-learning approach are tools used to design and codify the Elearning contents. Sometimes, these tools are placed in a learning content management system. Electronic
content producer, which is mostly a mentor, can denote and develop learning subjects and contents, tests and
assessments and the way of providing contents through these tools.
Therefore, the general architecture of an electronic content authoring tool helps the mentor to put his desired
content in a standard and appropriate format.

Fig.1.General architecture for an authoring tool in an electronic content


Keep in mind that all the electronic contents with different forms should be transformed to XML standard format
and then they will be available for LCMS5. We have developed an electronic content constructor engine which
conforms to IMS and SCORM standards. We are going to describe this engine in coming pages [4], [5], [7].

4 Some points on choosing a learning content authoring tool


For selecting learning content authoring tools, we should conform to the standards and furthermore some other
points must be considered. For example:

Can we specify the feature of the content produced by an authoring tool?


Which standards are supported by this authoring tool?
What are the file formats provided by this authoring tool?
Do we have the possibility of offering curriculums offline and online?
What feature do the electronic contents, contributed by the authoring tool in a framework, have? (to
select an appropriate template)
What are the players and browsers needed for presenting the electronic content?

Learning Content Management System

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

239

2 ndInternational Symposium on Computing in Science & Engineering

Could the produced content communicate with other environments?


Is it possible to employ prepared file formats (Power point, Excel, HTML, Word, PDF ) as input?

These are only some of the points about choosing a content authoring tool. So we are ought to make a list of our
requirements in the beginning, and then we can go for selecting an appropriate authoring tool [1], [4], [5].

5 Introduction to content construction engine (case study)


For preparing this software, we have been scrutinized about the end user requirements, dominant attributes to
compete with similar software and time, financial and technical restrictions and finally the fundamental features
were recognized.
Some of the influential features in this software are mentioned bellow:

To simulate books
Outmost efforts were made in order to make the similarity of this work with original book to build
confidence in end user. Due to respect the principles of interaction, we had to change some exercises in
this software and in this process we talked with some reliable experts to keep the exercise originality.
To add signs
This feature allows the user to mark the desired page with a text label, so that he becomes able to
access the same page whenever is required.
To add notes
The user is able to add notes in each page and in the next reference he could find the attached note
under a notation.
Quick access to book contents
Using a hierarchical menu, different parts are classified properly.
To zoom in pages
In order to obtain a better view of pages, the user can employ this feature.
To complement the book contents
In addition to keep similarity between the software content and book content, the efforts were made to
add more educational items as complementary, so that a suitable assessment could b provided.
To create an interactive environment
Tenets in this software are based on multimedia and interactive deportment. In order to increase the
motivation and interest of the user to keep studying and doing exercises, interactive practices are
created.
Reportage of the user activities
If we use this feature it helps us to have an accurate report of the user performance on content.
Creating username
Each user must create his username to observe the notes, allegories and reports related to him.
Searching abilities
This software allows user to search a word on the text. After the process of searching a list containing
desired word will be shown. By choosing one of them, the user can jump to the page directly.

6 Use case model for the content presented by this engine


In this part we will demonstrate the use case model which was designed to employ in our engine.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

240

2 ndInternational Symposium on Computing in Science & Engineering

User Registration
User

User Identification

Simulating Books

Search
<<include>>
Thematic List

<<include>>

Jump To Desired Page


<<extend>>
<<extend>>

User Performane Report

Navigate On Pages
List Of Results

Graphic List Of Pages


Printing Pages

<<extend>>

Book Presentation

<<extend>>

Managing Notes

Interactive Activities

<<extend>>

Selective T ests
<<include>>

<<extend>>

Managing Signs

Zoom In

<<extend>>
Zoom Out
Add Note

Show Reports

Delete Note
Course Test

Show One Or T wo Pages


Automatic Playback
Add Sign

Comprehensive Test
Delete Sign

Fig.2.Use case model used in the introduced engine

7 Technical features in content constructor engine


The main attributes which are related to technical outlook in software developing process, can be mention as
below:

Component based
The produced engine is distributed in a collection of standard components. So, modular components
could be easily added or deleted from this collection. By using Flash CS4 and Action Script 3.0
capabilities, we can develop our desired components and customize them congruous to our
requirements.
Usage of XML
In order to make communication between internal and external components, XML format is employed.
IMS and SCORM compliance
Produced content via this engine, supports SCORM standard completely and the text, audio, image,
video, animation and pages are known as SCO assets. Besides the format used in assessments and tests
are based on IMS standard, so that the assessments are relevant to educational content and could be
used in appraisal reports to provide reportage for each role congenial to a particular knowledge
management overview.
Knowledge management ability
In content coding scenario, the content is classified in order to help user to gain his required knowledge
depending on his role.
To present content in the form of online and offline
Content constructor engine is designed to use HTML as its main format and Cascading Style Sheet as a
pattern to present content. These patterns are examined by script languages as well and each page will
be presented after being rendered. Hence in the online presentation, when a page is opened it will be
loaded and shown at the same moment. This attribute will also make able the content to perform on a
low bandwidth.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

241

2 ndInternational Symposium on Computing in Science & Engineering

8 Conclusion
Although many tools have been developed to produce content but only some of them are compatible to
standards. Because of this fact, we intend to present the criteria and properties to choose best tools. In addition,
we introduced a content constructor engine which is designed and produced in our academic group. This engine
demonstrates standard contents and besides some new features is included. The most significant characteristic
used in this software is to display the produced content in form of both offline and online. When the considered
band width is not available for the user (learner or mentor), the offline phase is recommended in the process of
learning and for reaching higher performance a web service is employed to transfer users information. Some of
other attributes in the engine are: simulating variable books, adding notes, interactive environment, searching
abilities and reportage of user actions. It must be mentioned that the engine we made has capability to use
knowledge management in content, as well.

References
1.
2.

Hossein keynejad.(2008) .Coursecontentauthoringtoolsdesigned tobuildelectronicmedia (in Persian)


Rachel Ellaway.(2009).the Northern Ontario School of Medicine. E-learning Standards and
Specifications.
3. Norm Friesen, PhD / Canadian Journal of Learning and technology Volume 30(3) Fall,Editorial - A
Gentle Introduction to Technical E-learning Standards / autumn 2004.
4. William Horton&Katherine Horton.(2003).E-learning Tools and Technologies: A consumers guide for
trainers, teachers, educators, and instructional designers.
5. Dana Fine.Senior Instructional Designer, SyberWorks, Inc.(2010).Choosing the Right Content
Authoring Tool for Your E-learning Needs.Retrieved 2010 from the World Wide Web
:http://www.syberworks.com/articles/2010.
6. IEEE. (2005). The Computer Managed Instruction Standard. Retrieved July 13, 2005 from the World
Wide Web: http://ieeeltsc.org/wg11CMI/CMIdescription /2005.
7. ukkhem, N., & Vatanawood, W. (2005). Instructional design using component-based development and
learning object classification. Fifth IEEE International Conference on Advanced Learning Technologies
(ICALT'05), 492-494.
8. Duval, E. (2002). Learning Technology Standardization: Too Many? Too Few? In Proceedings of the
Standardisierung in E-learning, Frankfurt. Main, Germany, 2002.
9. Krull, G.E. (2004). An investigation of the development and adoption of educational metadata standards
for the widespread use of learning objects. Masters thesis, Rhodes University, South Africa.
10. Fallon, C., & Brown, S. (2002). E-learning standards: A guide to purchasing, developing and deploying
standards-conformant E-learning. St. Lucie Press.

Biographies
Hossein Keynejad Is born in Tehran on 1965 and has earned M.Sc. degree in applied mathematics from
Shahid Bahonar University, Kerman, Iran in 1992 and B.Sc. degree in applied mathematics from Shahid
Bahonar University, Kerman, Iran in 1985.
He has published Multimedia Environments book in Persian. He is interested in E-learning and multimedia
fields.
Mr. Keynejad is a faculty member in Islamic Azad University, south Tehran branch and Project manager on
producing contents in Soroush Mehr Company.
Maryam Khademi is born in Boroujerd on 1967 and she received B.Sc. in Pure Mathematics from
TarbiatMoaalem University, Tehran, Iran in 1989, M.Sc. in Pure Mathematics from Islamic Azad University
North Tehran Branch, Iran in 1991, M.Sc. in Applied Mathematics from Iran University of Science and
Technology, Tehran, Iran in 1993, and Ph.D. degree in applied mathematics from University of Tehran in 2004.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

242

2 ndInternational Symposium on Computing in Science & Engineering

She has very publication in different fields and her CV is located on link:
http://old.azad.ac.ir/faculty/khademi89.htm. She is interested in finite groups Theory, Graph Theory, Computer
Science and Artificial Intelligence.
Dr. Khademi is the faculty member of Islamic Azad University, Tehran south branch.
Maryam Haghshenas is born in Bijar on 1985 and has earned B.Sc. degree in Computer Hardware
engineering from Islamic Azad University, south Tehran branch on 2007 and is M.Sc. degree student in IT
management at Islamic Azad University, Science & Research branch.
She has published Information technology security & service management system in Information Society of
Iran journal on July 2010. She is interested in E-learning & Indexing on components of multimedia & authoring
tools and IT System management.
Ms. Haghshenas is a member of Young Researchers Club at Islamic Azad University, Tehran south branch
and also a member of the Information Technology Management Association at Islamic Azad University, Science
&Research Branch.
Hoda Kabir is born in London on 1985 and has earned a bachelors degree in Computer Software Engineering
from Islamic Azad University, south Tehran branch on 2010.
She is interested in producing E-learning content, artificial intelligent & Multimedia fields.
Ms. Kabir is a member of Young Researchers Club at Islamic Azad University, South Tehran branch.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

243

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/69

Investigating Optimum Resource Allocation in


University Course Timetabling using Tabu Search:
An Incremental Strategy
Mehtap KOSE ULUKOK1, Yasemin ERCAN2
1,2

Cyprus International University, Computer Engineering Department, Haspolat, KKTC


1

mkose@ciu.edu.tr, 2yercan@ciu.edu.tr

Abstract. In this study, the possible solutions of the Tabu Search algorithm is investigated for the solution
of the University Course Timetabling Problem (UCTP). The diffuculty of the UCTP is the coordination of
lectures, classrooms and teachers according to some constraints. The replacement of courses and lectures to
periods and classrooms is the main task that have to be performed for each academic semester. This
replacement requires new solution for each semester because of part-time lecturers, changes on workloads of
lecturers and the changes inthe number of students. The main aim of this study is to solve the UCTP with the
use of optimum number of classroom assignment by reducing the unused periods in classrooms timetable.
Tabu Search incremental strategy is studied within the Faculty of Engineering at Cyprus International
University (CIU).
Key words: timetabling problem, tabu search algorithm, metaheuristics

1 Introduction
The University Course Timetabling Problem (UCTP) has been studied by many researchers since 1965. It is a
NP-hard problem and it is a real-world application of combinatorial optimization problems. Timetabling
problems are mainly worked in high schools and universities. Usually, these problems are solved manually.
Depending on the search space of the problem these manual solutions often require a few weeks or more to
solve, because during the construction of timetabling always some changes are done. After some number of
modifications, the result is mostly not optimal. Over the past few years, researchers have been investigated new
algorithms or techniques to find general solution of timetabling problem. However, the UCTP solutions may
vary from university to university because of their own curriculum and thereby they require their indivual
solutions.
Timetabling problems are studied with several techniques for more than four decade. Some of the recent studies
include Constraint-Based Reasoning [1], Integer Programming [2], Tabu Search Algorithm [3], Memetic
Algorithms [4], Genetic Algorithms [5]-[7-9]. Other popular techniques including Graph Coloring Algorithms
[6] and Linear Algorithms [10]. Acceptable solutions were reported in use of all of these techniques. However,
most of the time these solutions require man touch.
A mathematical model of university timetables is introduced as a linear program [10]. The timetabling problem
is a type of multi-objective satisfaction problem. Mainly the constraints are classified into two as hard and soft
constraints. The violation of these constraints denotes the quality of the developed solution. Therefore, the
solution space of the problem is huge and finding the optimal solution is a complex task. Studies show that

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

244

2 ndInternational Symposium on Computing in Science & Engineering

Genetic Algorithms find optimal solutions [5],[7]-[9] but they are complicated with respect to time and memory.
Morever, recently a computer tool is developed to solve the UCTP with tabu search algorithm and efficient
solutions were reported [3]. Another computer tool is developed for the generalized solution of UCTP using
Genetic Algorithms at Yeditepe University called TEDI [7].
2 Tabu Search Algorithm for UCTP
Tabu search is one of the commonly used metaheuristic algorithm for solving combinatorial optimization
problems, such as traveling salesman problem (TSP), university course timetabling problem (UCTP), etc. It
provides optimal or near optimal solutions for the practical problems. Tabu search algorithm searches the
solution domain by exploiting the neighbors of the current solution using a tabu list. Some of the basic
ingredients of the tabu search are a tabu list, neigborhood and aspiraiton criteria.
A tabu list keeps the list of not allowed and visited neighbors during the search process. The main aim of tabu
list is to avoid reversal of moves and cycling. Moves are performed between adjacent solutions that can be
reached from the current solution. If a tabu move results in better solution than any previously performed move
so far, than this tabu move may be ignored. A condition that allows such a move is called an aspiration criteria.
The timetabling problem constraints are mainly considered as hard constraints in which every timetable must
satisfy all these constraints, and soft constraints which are not essential for a timetable solution but it makes the
solution better when they considered.
Almost in all of the past studies similar hard and soft consraints are listed [1]-[3]. Depending on the universitys
limitations these constraints may vary. In this study, the number of classroom assignment is aimed to minimize
to reduce the university resource usage cost.
In this study, a novel tabu search algorithm is proposed to solve the timetabling problem with incremental
strategy. The proposed algorithm starts with a randomly generated solution to the UCTP and this initial solution
is improved by using moves that are searched in timeslots of classrooms incrementally where a best movement is
choosen in a classroom time table by satisfying the hard and soft constraints.Possible moves of tabu search
algorithm is performed for all courses of the active department incrementally. If there is any hard and soft
constraints violation, this solution gets worst fitness values. All periods in a classroom timetable is searched first
to fullfill the classroom periods. If there is no suitable period available, then a new classroom period is started to
search.
2.1 Parameters and Constraints of UCTP
The course timetabling problem deals with finding the exact time slots of courses within a limited periods,
classrooms and teachers. The problem parameters are given in Table 1. Courses in each department usually
organized in number of semesters. Constraints regarding to the semesters of each courses and about teachers are
organized as hard constraints and soft constraints. Hard constraints are the ones that must be obeyed. Soft
constraints are those constraints that make the solution better but they are not fully essential. The list of used
hard constraints in this study are:

No classroom can be assigned to more than one course at the same timeslot.
No teacher can be assigned to more than one course at the same timeslot.
Same semester courses cannot be assigned to the same timeslot.

On the other hand used soft contraints are:

Two hours gap between teachers lectures.


Dont assign lecture within the teachers reserved timeslots.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

245

2 ndInternational Symposium on Computing in Science & Engineering


Table 1. CIU, Faculty of Engineering timetabling problem parameters

Parameters
Number of courses
Number of rooms
Number of teachers
Number of days
Number of periods

Value
108
16
40
5
9

The proposed tabu search algorithm is illustrated in Fig. 1. Algorithm starts with a randomly generated solution
and searches the solution space for better solution based on hard and soft constraints within a tabu list. Moves
are incrementally choosen from the assigned timeslots. Two types of moves are used in the proposed tabu search
algorithm; simple move and simple swap which are illustrated in Fig. 2 and Fig. 3, respectively.

Start

Gerenate a random initial solution

Find candidate list of solutions


Update
the tabu
list

Evaluate quality of solutions

Choose the best solution

Does thestoping
condition meet?

Y
Stop
Fig. 1.Tabu search algorithm: Incremental strategy

The simple move shifts the choosen course timeslot into another empty slot if there exits any in current room, if
not searches in other used rooms.
Periods
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00

Mon

Tue

Wed

Thu
MAT101
MAT101

MAT101
MAT101

Fig. 2. Simple move

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

246

Fri

2 ndInternational Symposium on Computing in Science & Engineering

However, the simple swap swaps two courses blok of timeslots where they are assigned. Moves of the proposed
tabu search algorithm are marked as tabu once they have been performed. This leads to protect correct timeslot
assignments and to avoid recycling. Courses are incrementally choosen from the list of courses those are
violating the hard constraints for moves both simple move and simple swap.
Periods
09:00
10:00
11:00
12:00
13:00
14:00
15:00
16:00
17:00

Mon

Tue
ENG101
ENG101

Wed

Thu

Fri

CPE112
CPE112

Fig. 3. Swap move

2.3 Results of Tabu Search: Incremental Strategy


The proposed algorithm starts to solve the timetabling problemdepartment by department in the Faculty of
Engineering. Mainly four departments are activelly offering courses to the faculty and these departments
courses are scheduled according to departments pre-defined order. This is aimed to reduce the time and memory
requirements of the tabu search algorithm and it is also aimed to minimize the search space of the problem
domain. The performance of the proposed algorithm is summarized in Table 2. The results show that the
proposed algorithm acheives good performance with respect to timeslots utilization and the used number of
classrooms according to the given parameters in Table 1.
Table 2. Analyze of man-made solution of CIU course timetabling with the produced tabu search solution for the Faculty of
Engineering.

Objective
Violation of hard constraints
Violation of soft constraints
Number of used rooms
Overall timeslots utilization

Man-made
solution
0
6
16
70,63%

Tabu Search
produced solution
0
8
12
80%

In order to compare solutions of UCTP similar parameters must be used. The number of courses that are tought
by instructors and the nunber of part-time instructors effect the hard constraints of the UCTP. However, when
the timeslots utilizations are considered with studies [1] and [3], the performance of these algorithms are given
as 80% and 95% respectively. Constraint-based reasoning strategy is investigated with 16 rooms for 136 courses
at the University of Yemen. There is no given information about the number of teachers in [1], therefore to
compare the performances of the proposed tabu search algorithm with [1] is difficult. In another tabu search
algorithm for the solution of UCTP is given in [3] having 57 courses, 6 rooms and 27 teachers. The workload of
the teachers in Statistics Department of Hacettepe University seems that 2 on the average. However, the
proposed tabu search algorithm applied with the workload of 3 different courses on the average for each teacher.
This may cause that the proposed tabu search algorithm has lower timeslot utilization than [3].
The developed software GUI screen shot is shown in Fig. 4. The implementation of tabu search incremental
strategy has been performed in C# programming language by using a laptop which has Intel Core 2 Duo 2.2 GHz
processor with 4 GB RAM.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

247

2 ndInternational Symposium on Computing in Science & Engineering

Fig. 4. An example screen shot of a found solution for UCTP

5 Conclusion
The proposed tabu search algorithm is investigated for the solution of timetabling problem in Faculty of
Engineering at Cyprus International University (CIU). Timatabling problem is solved department by department
and all forms the timetabling solution to a faculty. Thereby, the whole problem search space is reduced to
consecutive departments curriculum courses.
One of the aim of this study was to develop a computer automated software which solves UCTP for the CIU
with optimum classroom usage. A user friendly computer graphical user interface developed to solve other
faculties timetabling problems in CIU.
The result of the proposed algorithm is compared with the man made solution of CIU Faculty of Engineering
timetable solution and also with other studies in other universities. The solution of the proposed tabu search
algorithm for the UCTP shows encouraging results withrespect to optimum resourse allocation and timeslots
utilization according to teachers workload as 3 courses on the average for each semester.
References
1. Irene, H.S.F., Safaai-Deris, Hashim, S.Z. (2009). Investigating Constraint-Based Reasoning for University
Timetabling Problem. In Proceedings of the International MultiConference of Engineers and Computer
Scientists. Hong Kong, 18 20 March. IMECS 2009.
2. Bakr, M.A., and Aksop, C. (2008). A 0-1 Integer Programming Approach to a University Timetabling
Problem. Hacettepe Journal of Mathematics and Statistics. 37(1): 41-55.
3. Alada, .A., and Hocaolu, G. (2007). A Tabu Search Algorithm to Solve a Course Timetabling Problem.
Hacettepe Journal of Mathematics and Statistics. 36 (1):53-64.
4. zcan, E. and Alkan, A. (2007). A Memetic Algorithm for Solving a Timetabling Problem: An Incremental
Strategy. In Proceedings of the 3rd Multidisciplinary Int. Conf. On Scheduling: Theory and Application.
Paris, France. 28-31 August. P. Baptiste, G. Kendall, A. M. Kordon, F. Sourd (ed.)
5. Nuntasen, N. and Innet, S. (2007). A Novel Approach of Genetic Algorithm for Solving University
Timetabling Problems: a case study of Thai Universities. In Proceedings of the 7th WSEAS International
Conference on Applied Computer Science. Venice, Italy, 21-23 November.
6. lker, ., zcan, E., Korkmaz, E.E. (2006). Linear Linkage Encoding in Grouping Problems: Applications
on Graph Coloring and Timetabling. In Proceedings of the 6th International Conference on the Practice and
Theory of Automated Timetabling. Brno, Czech Republic, 30 August- 1 September. LNCS 3867, Springer.
7. zcan, E. And Alkan, A. (2002). Timetabling using a Steady State Genetic Algorithm. In Proceedings of
the 4th International Conference on the Practice and Theory of Automated Timetabling. Gent, Belgium, 2123 August. LNCS 2740, Springer.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

248

2 ndInternational Symposium on Computing in Science & Engineering

8. Burke, E., Elliman, D., Weare, R. (1994). A Genetic Based University Timetabling System. In Proceedings
of the 2nd East-West International Conference on Computer Technologies in Education.Crime, Ukraine,
September. EW-ED94.
9. Colorni, A., Dorigo, M., Maniezzo, V. (1990). Genetic Algorithms and Highly Constrained Problems: The
Time-Table. In Proceedings of the 1st International Workshop on Parallel Problem Solving from Nature.
Dortmund, Germany. LNCS 496, Springer.
10. Akkoyunlu, E.A. (1994). A Linear Algorithm for Computing the Optimum University Timetable.
Computational Journal. 16 (4):347-350.

Biographies
Mehtap KSE ULUKK- Born in Silivri in 1975. Graduated from Computer Engineering Department of
Eastern Mediterrenean University, Famagusta, T.R.N.C at 1998. Master and PhD programs were completed in
Computer Engineering Department from the same university in September 2000 and January 2009, respectively.
Artificial intelligence is the main research topic.
She has several publications about metaheuristic searches, expert systems and robot control.
Yasemin ERCAN- Born in Gaziantep in 1978. Graduated from Computer Studies in Information Technology in
Eastern Mediterrenean University, Famagusta, T.R.N.C at 2001. Master program was completed from
Information Systems Department of Faculty of Fine Arts in the same university in June 2003. She is currently
studiying in Management Information System Department of Cyprus International University for her PhD
degree. Internet programming and database systems are the main research topics.
She has some publications about expert systems, web programming with database systems and tabu search
algorithm.

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

249

2 ndInternational Symposium on Computing in Science & Engineering

Proceeding Number: 100/70

PSOMDM: Faster Parallel Self Organizing Map by


Using Division Method
Yunus Doan1, Derya Birant2, Alp Kut 3
1,2,3
1

Dokuz Eyll University, Department of Computer Engineering


yunus@cs.deu.edu.tr, 2derya@cs.deu.edu.tr, 3alp@cs.deu.edu.tr

Abstract. The Self Organizing Map (SOM) is a particular type of artificial neural network that is generally
used for unsupervised clustering of the input data. SOM algorithm is generally implemented as sequential in
which one thread carries out one instruction at once and this structure works fine in domains where the
dataset is small. In large-scale domains, it is necessary to deal with tens of thousands records and at this point,
the application of sequential SOM can become unfeasible in terms of computational time. This paper
proposes a novel SOM model, called PSOMDM that is parallel implementation using a special division
method. The PSOMDM is different from existing architectures in that it processes the entire data in parallel
by continuously dividing spaces into quarters. The comparison results show that novel approach improves the
accuracy and speed.
Keywords: self organizing map, neural networks, machine learning

1 Introduction
The Self Organizing Map (SOM) [1] is a neural network model that is capable of clustering high-dimensional
input data. It produces a two-dimensional feature map that can be useful in detecting and analyzing features in
the input space. SOM model has been successfully applied in a number of disciplines including pattern
recognition, image classification, and document clustering.
SOM algorithm requires the high execution times to train the map and this situation put a limit to its
application in many high-performance data analysis application domains. For this reason, it is necessary to
develop a parallel implementation of SOM by either partitioning the network among the processors (network
partitioning) or by partitioning the input data across threads or multi-core processors (data partitioning).
This paper proposes a novel approach for faster clustering by using of SOM, called PSOMDM (Parallel SOM
by using Division Method). PSOMDM is different from existing architectures in that it divides the map area
constantly and lower number of data is clustered on different neurons by parallel method. PSOMDM has many
advantages over conventional SOM based methods. The most remarkable advantage of PSOMDM is in saving
training time for clustering large and complicated data sets by using special division method. Furthermore, the
proposed division method provides higher accuracy by decreasing the number of unstable data points and
internal errors.
Experimental results with various test data setsand comparison results show that PSOMDM can be efficiently
used for clustering large datasets with SOM, somehow making technique move toward the more powerful

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

250

2 ndInternational Symposium on Computing in Science & Engineering

unsupervised technique. In the experimental studies, PSOMDM is implemented by dividing data processing into
a number of parallel threads and multi-core processors. The threads or multi-cores of parallel SOM model
process over the same neurons by partitioning data.

2 Related Works
The SOM performs clustering by means of unsupervised competitive learning. The neurons in the SOM are
usually arranged in a two dimensional lattice and each neuron gets information from the input layer and from the
other neurons in the map. The SOM has the complexity O(NC), where N is the input vector size and C is the
number of dataset presentation cycles. N contains n2w as the multiply of the map size n2 and the number of
weights w. C contains n2a as the multiply of the map size n2 and the number of attributes a. Usage of parallel
SOM supplies lower complexity than O(N2).
Several studies have been done related to parallel SOM by using different techniques and different
architectures. Garcia et al. proposed a speculative approach which fits better than traditional Map-Partitioning
strategies due to a better exploitation of the memory hierarchy [2]. Yu et al. proposed a multistage modular selforganizing map (SOM) model which can be used for parallel web text clustering [3]. Gorgonio and Costa
presents an approach for efficient cluster analysis in distributed databases using SOM and K-Means [4][5]. They
also proposed a SOM-based strategy for cluster analysis in distributed databases [6]. Another study of parallel
SOM is about mining massive datasets by an unsupervised parallel clustering on a GRID [7]. Liping et al.
analyzed a variety of software and hardware environment of designing artificial neutral networks on clusters [8].
Dagli et al. proposed a SOM model, called ParaSOM, which utilizes a feature called a cover region, in which
individual neurons cover whole regions of the input space, and not just a single vector [9].
Parallel SOM and its derivations were used in many different areas. For example, the study about dynamics of
soil organic matter and mineral nitrogen in soil was given as an application which used parallel SOM for
geological researches [10]. The study of M. Takatsuka and M. Buis presents the parallel implementation of
SOMs, particularly the batch map variant using Graphics Processing Units (GPUs) through the use of Open
Computing Language (OpenCL) [11]. Parallel SOM was also used for the computer security, the healthcare,
ecological modeling, the financial sector and other areas which need clustering.
Differently from the previous studies, this study proposes a new SOM model which is implemented in a
parallel way and using a different division method to gain greater computational efficiency. To the best of our
knowledge, this paper is the first on proposing a division the area into small areas for parallel processing and
different SOM architecture as defined in the next section.

3 PSOMDM Approach
SOM consists of two layers of artificial neurons: an input layer and an output layer. The input layer is fed into
feature vectors, so it is the same as the number of dimensions of the input feature vector. Output layer, also
called the output map, is usually arranged in a regular two dimensional structure such that there are
neighborhood relations among the neurons. Every neuron in input layer is fully connected to every output
neuron, and each connection has a weighting value attached to it.
The major goal of SOM is to determine the suitable weight values for the neurons according to dataset. The
count of these weight values is equal to the number of attributes in dataset and each weight value corresponds to
an attribute. At the beginning of the SOM algorithm, these weight values in all neurons are initialized randomly.
Secondly, the best matching unit as the winner neuron is found by calculating Euclidean distance from each
weight to the chosen sample vector which consists of the weights set in one of neurons. After finding the best
matching unit, all vectors of the SOM are updated by using Gaussian function. These processes are repeated until
a certain number of iterations. The loop accrues over the all neurons.
Usage of Parallel SOM supplies lower complexity than O(N2). According to the number of parallel threads or
multi-core processors, parallel SOM accelerates the process. However, the threads or cores of parallel SOM
process over the same neurons; therefore, the solutions which come from parallel SOM are at risk about lower
accuracy. This new approach of parallel SOM by using division method has higher accuracy and speed. Because
the random choosing the data in the training phase of SOM is abandoned and the data are chosen in the same

June 1 -4, Kusadasi, Aydin, Turkey http://iscse2011.gediz.edu.tr

251

2 ndInternational Symposium on Computing in Science & Engineering

order for each time. The accuracy problem is passed over at connecting the subparts of maps.
This new approach firstly divides the area by four and this standard SOM processes for all little areas by
parallel processing. Thus, datasets are divided for all processes and the complexity becomes lower.
PSOMDB consists of standard SOM (SSOM). This algorithm is used for 2x2 neurons stably in each phase.
PSOMDB starts training with SSOM with 2x2 neurons and usage of all dataset. After that, the recursive structure
of PSOMDB is activated and recursively, SSOM for 2x2 neurons is processed with usage of divided datasets.
The following Fig. 1 shows the process-flow of PSOMDB for 4x4 neurons. There are four parallel maps and
they are trained for 2x2 maps. At the end of the PSOMDB, a 4x4 map is obtained after combining operation in
the same order before splitting.

Fig. 1.The process-flow of PSOMDB for 4x4 neurons.

The complexity of SSOM is O(N2). However, this formula is obtained by the assumption of the multiply of
the map size and weight numbers equal to the multiply of the tuple number and attribute number in the dataset.
Therefore, if N2 is splitted to NxC as N is the total size of map and C is the total size of dataset, the changes of
SOM speed according to the different datasets and its effects appears in more detail. When this formula is
splitted sub-components, these following formulas in Eq.1 and Eq. 2 are obtained;
T x A = C.

(1)

M x W = N.

(2)

whereT is the tuple number in the dataset, A is the attribute number for a tuple in the dataset, M is the total
neuron number in the map and W is the total number of weight variables for a neuron in the map.
T x A x M x W = .

(3)

where is the total time for SSOM algorithm.


When PSOMDB is processed for 4x4 neurons (M = 16), SSOM algorithm is processed for 2x2 neurons (M =
4) and all dataset in the first phase. Secondly, the datasets are divided into four pieces for each neuron according
to the proximities to the weight values of neurons. All proximities calculations in the algorithm are done by
Euclidean distance formula in Eq. 4.

(4)
whereX and Y are tuples in the dataset or neurons in the map and d is the attribute number if X and Y are tuples
or d is the total number of weight variables if X and Y are neurons.
Four pieces of dataset are used for