Tools and Applications with Artificial Intelligence (Studies in Computational Intelligence, 166) 9783540880684, 9783540880691, 3540880682

In recent years, the use of Artificial Intelligence (AI) techniques has been greatly increased. The term “intelligence”

198 111 8MB

English Pages 223 [214]

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Tools and Applications with Artificial Intelligence (Studies in Computational Intelligence, 166)
 9783540880684, 9783540880691, 3540880682

Table of contents :
Title Page
Preface
Organization
Contents
Evaluation of Morphological Features for Breast Cells Classification Using Neural Networks
Introduction
Morphological Features
Methodology
Training and Testing Data
Optimum Neural Network Investigation
Results and Discussion
Conclusion
References
A BP-Neural Network Improvement to Hop-Counting for Localization in Wireless Sensor Networks
Introduction
Related Work
Problems
Hop-Counting Technique
Extending the Hop-Counting Technique
Neural Networks
NN-Based Hop Coordinates
Definition of Hop Coordinates
Constructing the Neural Network
Simulation
Simulation Process
Simulation Results
Costs
Summary and Conclusions
References
{\sc SUDOKUSAT}—A Tool for Analyzing Difficult Sudoku Puzzles
Sudoku
AI Escargot
Sudoku in AI
SAT-Based Sudoku Solving
GridAnalysis
{\sc SUDOKUSAT}
Results
Conclusions
References
Understanding and Forecasting Air Pollution with the Aid of Artificial Intelligence Methods in Athens, Greece
Introduction
Background
General Intro to Air Quality Analysis and Forecasting
The Greater Athens Area and Its AQ and Monitoring Stations
Data Presentation
Methodologies Applied
Covariance Calculation
Principal Component Analysis
Periodogram and Fourier Transform
Artificial Neural Networks
Results
Summary and Conclusions
References
Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm
Introduction
The JPDAF Algorithm for Multiple Target Tracking
The Particle Filter for Online State Estimation
Data Association
The JPDAF Algorithm
The JPDAF Algorithm for Multiple Robot Tracking
Simulation Results
Local Tracking for Non-maneuvering Movement
Local Tracking for Maneuvering Movement
Conclusion
References
An Artificial Market for Emission Permits
Introduction
Types of Auctions
A New Auction Type
An Artificial Market
Experimental Results
Conclusion
References
Application of Neural Networks for Investigating Day-of-the-Week Effect in Stock Market
Introduction
Data and Methodology
Application of Neural Networks Methods
Summary and Conclusions
References
WSRPS: A Weaning Success Rate Prediction System Based on Artificial Neural Network Algorithms
Introduction
Feature Selection
Methods
Data Sources
Artificial Neural Network
System Implementation
System Architecture and Flowchart
The BPD System Interface (Figure 4)
The WSRPS System Interface (Figure 7)
Results and Discussion
Outputs from the System
Performance Comparison from Three ANN Algorithms
Conclusions
References
Dealing with Large Datasets Using an Artificial Intelligence Clustering Tool
Introduction
Presentation of the Clustering Tool’s Algorithms
The Algorithm of Meyerson
The Fast Facility Location Algorithm
The k-Means Algorithm
The LocalSearch Algorithm
The Clustering Tool
Selection of the Algorithms
Input and Output File Options
Other Tool Options
Application on Synthetic Datasets
An Example of Using the Clustering Tool on a Synthetic Dataset
Conclusions and Future Work
References
An Application of Fuzzy Measure and Integral for Diagnosing Faults in Rotating Machines
Introduction
Faults in a Rotating Machine and Vibration Spectra
Faults in a Rotating Machine
Vibration Spectra
Positions and Directions for Spectra
Vibration Syndrome Matrix
Fuzzy Measure and Integral
Fuzzy Set of Spectra and Their Membership Functions
Fuzzy Measure for Spectra
Fuzzy Integral and the Possibility of Faults
Example of Diagnosis and Evaluation of the Method
Example of Diagnosis
Evaluation of the Method
Conclusion
References
A Multi-agent Architecture for Sensors and Actuators’ Fault Detection and Isolation in Case of Uncertain Parameter Systems
Introduction
Agents Description
Data Acquisition Agent
Detection Agents
Isolation Agents
User Interface Agent
Agents Structure
Communication
Simulation Example
Multi-agent System Implementation
Tests and Results
Conclusions and Future Work
References
A User-Friendly Evolutionary Tool for High-School Timetabling
Introduction
School Timetabling Problem Definition
Review of the Hosted Algorithm
The Timetabling Tool
An Example of Using the Timetabling Tool
Conclusions
References
HEPAR: An Intelligent System for Hepatitis Prognosis and Liver Transplantation Decision Support
Introduction
Problem Description
Liver Transplantation
Knowledge Modeling
Database Description
Database Descriptive Statistics
System Architecture and Design
Data Entry
Fuzzy Rules
Fuzzy Templates for Variable Modelling
Fuzzy Rule Description
Intermediate Rules
Prognosis Rules
Implementation Issues
FuzzyCLIPS 6.10d
Template Definition
Experimental Results
Related Work
Conclusions and Future Work
References
Improving Web Content Delivery in eGoverment Applications
Introduction
Motivation
Process and System Architecture
Technology Background
Case Study Implementation
Conclusions and Future Work
Appendix
References
Improving Text-Dependent Speaker Recognition Performance
Introduction
Speaker Verification Process
The Speaker Recognition System
The Speech Recognition Engine
The Speaker Verification Engine
Experimental Results
Experiment Setup
Recognition Performances
Conclusion
References
Author Index

Citation preview

Constantinos Koutsojannis and Spiros Sirmakessis (Eds.) Tools and Applications with Artificial Intelligence

Studies in Computational Intelligence, Volume 166 Editor-in-Chief Prof. Janusz Kacprzyk Systems Research Institute Polish Academy of Sciences ul. Newelska 6 01-447 Warsaw Poland E-mail: [email protected] Further volumes of this series can be found on our homepage: springer.com Vol. 144. Andreas Fink and Franz Rothlauf (Eds.) Advances in Computational Intelligence in Transport, Logistics, and Supply Chain Management, 2008 ISBN 978-3-540-69024-5 Vol. 145. Mikhail Ju. Moshkov, Marcin Piliszczuk and Beata Zielosko Partial Covers, Reducts and Decision Rules in Rough Sets, 2008 ISBN 978-3-540-69027-6 Vol. 146. Fatos Xhafa and Ajith Abraham (Eds.) Metaheuristics for Scheduling in Distributed Computing Environments, 2008 ISBN 978-3-540-69260-7 Vol. 147. Oliver Kramer Self-Adaptive Heuristics for Evolutionary Computation, 2008 ISBN 978-3-540-69280-5 Vol. 148. Philipp Limbourg Dependability Modelling under Uncertainty, 2008 ISBN 978-3-540-69286-7 Vol. 149. Roger Lee (Ed.) Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, 2008 ISBN 978-3-540-70559-8 Vol. 150. Roger Lee (Ed.) Software Engineering Research, Management and Applications, 2008 ISBN 978-3-540-70774-5 Vol. 151. Tomasz G. Smolinski, Mariofanna G. Milanova and Aboul-Ella Hassanien (Eds.) Computational Intelligence in Biomedicine and Bioinformatics, 2008 ISBN 978-3-540-70776-9

Vol. 155. Hamid R. Tizhoosh and M. Ventresca (Eds.) Oppositional Concepts in Computational Intelligence, 2008 ISBN 978-3-540-70826-1 Vol. 156. Dawn E. Holmes and Lakhmi C. Jain (Eds.) Innovations in Bayesian Networks, 2008 ISBN 978-3-540-85065-6 Vol. 157. Ying-ping Chen and Meng-Hiot Lim (Eds.) Linkage in Evolutionary Computation, 2008 ISBN 978-3-540-85067-0 Vol. 158. Marina Gavrilova (Ed.) Generalized Voronoi Diagram: A Geometry-Based Approach to Computational Intelligence, 2009 ISBN 978-3-540-85125-7 Vol. 159. Dimitri Plemenos and Georgios Miaoulis (Eds.) Artificial Intelligence Techniques for Computer Graphics, 2009 ISBN 978-3-540-85127-1 Vol. 160. P. Rajasekaran and Vasantha Kalyani David Pattern Recognition using Neural and Functional Networks, 2009 ISBN 978-3-540-85129-5 Vol. 161. Francisco Baptista Pereira and Jorge Tavares (Eds.) Bio-inspired Algorithms for the Vehicle Routing Problem, 2009 ISBN 978-3-540-85151-6 Vol. 162. Costin Badica, Giuseppe Mangioni, Vincenza Carchiolo and Dumitru Dan Burdescu (Eds.) Intelligent Distributed Computing, Systems and Applications, 2008 ISBN 978-3-540-85256-8 Vol. 163. Pawel Delimata, Mikhail Ju. Moshkov, Andrzej Skowron and Zbigniew Suraj Inhibitory Rules in Data Analysis, 2009 ISBN 978-3-540-85637-5

Vol. 152. Jaroslaw Stepaniuk Rough – Granular Computing in Knowledge Discovery and Data Mining, 2008 ISBN 978-3-540-70800-1

Vol. 164. Nadia Nedjah, Luiza de Macedo Mourelle, Janusz Kacprzyk, Felipe M.G. Fran¸ca and Alberto Ferreira de Souza (Eds.) Intelligent Text Categorization and Clustering, 2009 ISBN 978-3-540-85643-6

Vol. 153. Carlos Cotta and Jano van Hemert (Eds.) Recent Advances in Evolutionary Computation for Combinatorial Optimization, 2008 ISBN 978-3-540-70806-3

Vol. 165. Djamel A. Zighed, Shusaku Tsumoto, Zbigniew W. Ras and Hakim Hacid (Eds.) Mining Complex Data, 2009 ISBN 978-3-540-88066-0

Vol. 154. Oscar Castillo, Patricia Melin, Janusz Kacprzyk and Witold Pedrycz (Eds.) Soft Computing for Hybrid Intelligent Systems, 2008 ISBN 978-3-540-70811-7

Vol. 166. Constantinos Koutsojannis and Spiros Sirmakessis (Eds.) Tools and Applications with Artificial Intelligence, 2009 ISBN 978-3-540-88068-4

Constantinos Koutsojannis Spiros Sirmakessis (Eds.)

Tools and Applications with Artificial Intelligence

123

Prof. Spiros Sirmakessis Research Academic Computer Technology Institute "D. Maritsas" Building N. Kazantzaki str. Patras University Campus 26500 Patras Greece

Prof. Constantinos Koutsojannis Computer Engineering and Informatics Department University of Patras 26500 Patras Greece

ISBN 978-3-540-88068-4

e-ISBN 978-3-540-88069-1

DOI 10.1007/978-3-540-88069-1 Studies in Computational Intelligence

ISSN 1860949X

Library of Congress Control Number: 2008935499 c 2009 Springer-Verlag Berlin Heidelberg  This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Typeset & Cover Design: Scientific Publishing Services Pvt. Ltd., Chennai, India. Printed in acid-free paper 987654321 springer.com

Preface

In recent years, the use of Artificial Intelligence (AI) techniques has been greatly increased. The term “intelligence” seems to be a “must” in a large number of European and International project calls. AI Techniques have been used in almost any domain. Application-oriented systems usually incorporate some kind of “intelligence” by using techniques stemming from intelligent search, knowledge representation, machine learning, knowledge discovery, intelligent agents, computational intelligence etc. The Workshop on "Applications with Artificial Intelligence" seeks for quality papers on computer applications that incorporate some kind of AI technique. The objective of the workshop was to bring together scientists, engineers and practitioners, who work on designing or developing applications that use intelligent techniques or work on intelligent techniques and apply them to application domains (like medicine, biology, education etc), to present and discuss their research works and exchange ideas. Results of project-based works were very welcome. Topics of interest for the workshop as far as application domains were concerned included (but not limited to) the following: • • • • • • • • • • • • • •

Biology Computer Networks Computer Security E-commerce Education Engineering Finance Health Care & Medicine Logistics Multimedia Psychology Power Systems Sociology Web Applications

Topics of interest as far as intelligent techniques were concerned included (but are not limited to) the following: • Evolutionary Algorithms • Fuzzy Logic • Hybrid Techniques

VI

Preface

• • • • • • • • •

Heuristic Search Intelligent Agents Knowledge-Based Systems Knowledge Representation Knowledge Discovery Machine Learning Neural Networks Planning Semantic Web Techniques

We would like to express our appreciation to all authors of submitted papers, to the members of the program committee and all the people that have worked for this event. This workshop could not have been held without the outstanding efforts of Marios Katsis Finally, recognition and acknowledgement is due to all members of the Internet and Multimedia Research Unit at Research Academic Computer Technology Institute and the eBusiness Lab staff.

Constantinos Koutsojannis Spiros Sirmakessis

Organization

Program Committee Constantinos Koutsojannis (Co-chair) Spiros Sirmakessis (Co-chair)

Spiros Likothanasis Maria Rigkou Martin Rajman Michalis Xenos Thrasyvoulos Tsiatsos Georgios Miaoulis Nikiktas Karanikolas Dimitri Plemenos Pierre-François Bonnefoi Grigorios Beligiannis

Vassilios Tampakas

Department of Physiotherapy, Technological Educational Institution of Patras, Greece Department of Applied Informatics in Administration and Economy, Technological Educational Institution of Messolongi, Greece Computer Engineering and Informatics Department, University of Patras, Greece Computer Engineering and Informatics Department, University of Patras, Greece Global Computing Center, Ecole Polytechnique Federale de Lausanne, Switzerland Hellenic Open University, Greece Department of Informatics, Aristotle University of Thessaloniki, Greece Department of Informatics, TEI of Athens Greece Department of Informatics, TEI of Athens Greece XLIM laboratory, University of Limoges, France XLIM laboratory, University of Limoges, France Department of Business Administration in Food and Agricultural Enterprises, University of Ioannina, Greece Department of Accounting, TEI of Patras, Greece

Contents

Evaluation of Morphological Features for Breast Cells Classification Using Neural Networks Harsa Amylia Mat Sakim, Nuryanti Mohd Salleh, Mohd Rizal Arshad, Nor Hayati Othman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

A BP-Neural Network Improvement to Hop-Counting for Localization in Wireless Sensor Networks Yurong Xu, James Ford, Eric Becker, Fillia S. Makedon . . . . . . . . . . . . . . .

11

SudokuSat—A Tool for Analyzing Difficult Sudoku Puzzles Martin Henz, Hoang-Minh Truong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

Understanding and Forecasting Air Pollution with the Aid of Artificial Intelligence Methods in Athens, Greece Kostas D. Karatzas, George Papadourakis, Ioannis Kyriakidis . . . . . . . . . . .

37

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm Aliakbar Gorji, Mohammad Bagher Menhaj, Saeed Shiry . . . . . . . . . . . . . . .

51

An Artificial Market for Emission Permits Ioannis Mourtos, Spyros Xanthopoulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

Application of Neural Networks for Investigating Day-of-the-Week Effect in Stock Market Virgilijus Sakalauskas, Dalia Kriksciuniene . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

WSRPS: A Weaning Success Rate Prediction System Based on Artificial Neural Network Algorithms Austin H. Chen, Guan Ting Chen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

Dealing with Large Datasets Using an Artificial Intelligence Clustering Tool Charalampos N. Moschopoulos, Panagiotis Tsiatsis, Grigorios N. Beligiannis, Dimitrios Fotakis, Spiridon D. Likothanassis . . . 105

X

Contents

An Application of Fuzzy Measure and Integral for Diagnosing Faults in Rotating Machines Masahiro Tsunoyama, Hirokazu Jinno, Masayuki Ogawa, Tatsuo Sato . . . 121 A Multi-agent Architecture for Sensors and Actuators’ Fault Detection and Isolation in Case of Uncertain Parameter Systems Salma Bouslama Bouabdallah, Ramla Saddam, Moncef Tagina . . . . . . . . . . 135 A User-Friendly Evolutionary Tool for High-School Timetabling Charalampos N. Moschopoulos, Christos E. Alexakos, Christina Dosi, Grigorios N. Beligiannis, Spiridon D. Likothanassis . . . . . . . . . . . . . . . . . . . 149 HEPAR: An Intelligent System for Hepatitis Prognosis and Liver Transplantation Decision Support Constantinos Koutsojannis, Andrew Koupparis, Ioannis Hatzilygeroudis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Improving Web Content Delivery in eGoverment Applications Kostas Markellos, Marios Katsis, Spiros Sirmakessis . . . . . . . . . . . . . . . . . . 181 Improving Text-Dependent Speaker Recognition Performance Donato Impedovo, Mario Refice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Evaluation of Morphological Features for Breast Cells Classification Using Neural Networks Harsa Amylia Mat Sakim1, Nuryanti Mohd Salleh1, Mohd Rizal Arshad1, and Nor Hayati Othman2 1

School of Electrical and Electronic Engineering, Universiti Sains Malaysia, Engineering Campus, 14300 Nibong Tebal, Seberang Perai Selatan, Pulau Pinang, Malaysia [email protected] 2 School of Medical Sciences, Universiti Sains Malaysia, Health Campus, 16150 Kubang Kerian, Kelantan, Malaysia [email protected]

Abstract. Rapid technology advancement has contributed towards achievements in medical applications. Cancer detection in its earliest stage is definitely very important for effective treatments. Innovation in diagnostic features of tumours may play a central role in development of new treatment methods. Thus, the purpose of this study is to evaluate proposed morphological features to classify breast cancer cells. In this paper, the morphological features were evaluated using neural networks. The features were presented to several neural networks architecture to investigate the most suitable neural network type for classifying the features effectively. The performance of the networks was compared based on resulted mean squared error, accuracy, false positive, false negative, sensitivity and specificity. The optimum network for classification of breast cancer cells was found using Hybrid Multilayer Perceptron (HMLP) network. The HMLP network was then employed to investigate the diagnostic capability of the features individually and in combination. The features were found to have important diagnostic capabilities. Training the network with a larger number of dominant morphological features was found to significantly increase the diagnostic capabilities. A combination of the proposed features gave the highest accuracy of 96%. Keywords: Morphological features Breast cancer Fine needle aspirates Neural network Classification.

1 Introduction Breast cancer is the most commonly diagnosed cancer and it is the leading cause of cancer-related death among women. It is estimated that approximately one in 12 women will develop breast cancer in their lifetime. The majority of breast cancers (95%) are sporadic. Only a small proportion, particularly those diagnosed in young women, are due to a highly penetrant autosomal-dominant trait. There has been considerable progress in the identification and localization of the morphological features of tumors responsible for hereditary breast cancer. Early detection is the key to recognize the stage of the disease in order to implement a proper treatment [6]. An alternative diagnostic method to mammography is using fine needle aspiration (FNA) technique. FNA provide a way to examine a small amount of tissue from the C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 1–9. springerlink.com © Springer-Verlag Berlin Heidelberg 2009

2

H.A.M. Sakim et al.

tumor. Conventionally, FNA smear slides are viewed under the microscope to determine the malignancy. By carefully examining both the characteristics of individual cells and important contextual features for instance the size of cell clumps have been able to diagnose successfully using FNA [7]. Specific morphological patterns or features are investigated before diagnoses are given. However, many different features are thought to be correlated with malignancy and the process remains highly subjective, depending upon the skill and the experience of the pathologists. Pathologists commonly investigate the morphological features of the cells in order to identify features that are thought to have diagnostic abilities. The diagnosis process takes a long time and it is costly. New innovation in neural network methods and its application in medical field have enabled prediction of the cancer cells easier. The ability some of those methods have been reported more accurate as compared to conventional methods [3]. Consequently, breast cancer diagnosis systems based on artificial intelligence have been implemented widely as an alternative. In order to evaluate the morphological features diagnostic ability, therefore, this work was carried out.

2 Morphological Features The morphological features provide information about the size, shape and texture of a cell. The nuclear size is expressed by the radius and area of the cell. The nuclear shape is expressed by the compactness, roundness, smoothness, length of the major and minor axes, fractal dimension, symmetry and concavity. Both size and shape are expressed by the perimeter feature. On the other hand, nuclear texture is verified by finding the variance of the grey scale intensities in the component pixels [1]. In this paper, the inputs to the neural network would be the breast cancer cell morphological features. The breast cancer cells are those obtained from fine needle aspirations biopsy. In general, common features of malignant patterns are: 1. 2. 3. 4. 5. 6. 7. 8.

High cell yield. A single population of atypical epithelial cells. Irregular angulated clusters of atypical cells. Reduced cohesiveness of epithelial cells. Nuclear enlargement and irregularity of variable degree. Single cells with intact cytoplasm. Absence of single bare nuclei of benign type. Necrosis - important if present.

On the other hand, benign tissues will have overall low cell yield. Sheets of ductal cells with small uniform nuclei would appear with myoepithelial nuclei visible among epithelial cells in aggregates. There will also be single, bare, oval nuclei separated from epithelial aggregates [4]. However, only five morphological features were used in this evaluation. The features comprises of Cellularity of Cells, Cells in Cluster, Cells in Discrete, Xlength and Ylength. Cellularity or cell density is a measure of distribution of breast cells on a smear. A smear with poor cell yield generally indicates normal breast gland tissue. Cellularity has been divided into three categories, ranked between 1 (poor density) up

Evaluation of Morphological Features for Breast Cells Classification

3

to 3 (highly dense). Cells visualized on a smear could be in clusters (grouped) or in discrete (individually placed, separated from other cells). Irregularity in distribution generally indicates abnormality. An estimated count of cells in discrete and cells in clusters are included as two separate inputs to the neural network. Xlength refers to the shortest while Ylength refers to the longest cells visualized. Both measurements were made in micrometers (µm).

3 Methodology In this study, a preliminary investigation on the suitable network type has been carried out to evaluate the suitable network for classifying breast cancer cells. The morphological features data obtained from FNA smears were used as inputs to train the artificial neural networks. The best networks’ architecture was determined based on results on testing set in terms of: 1. Classification accuracy, false positive, false negative, sensitivity and specificity percentage. 2. Mean Squared Error (MSE) nearest or equal to 0. For ease of comparison, the values of MSE were quoted in the unit of decibel (dB). The optimum network identified is then used to utilize the morphological features effectively. During this stage, individual and various combinations of breast features were applied to the network to produce classification. Each of the features was then omitted respectively to evaluate the impact on network diagnostic performance. 3.1 Training and Testing Data Morphological features obtained from fine needle aspiration (FNA) of breast cells were used to train and test the neural networks. A total of 804 FNA samples of breast cells were analyzed and each data was considered as individual cases. There were 538 (67%) benign and 266 (33%) malignant cases. These cases were randomly selected and grouped into two data sets that were training set and testing set. A total of 404 data were used as training set while 400 data were used as testing set. The training set was used for estimation of the network parameters and trained the network to identify the morphological features effectively. The testing set was used for evaluation of the performance of the model. This data set assures the efficiency of the neural networks architecture in classifying between benign and malignant breast cancer cells. Listings of each of the training and testing data sets are given in Table 1 respectively. Table 1. Divisions of morphological features data sets

Total Cases = 804 Data Set Training Testing Benign 290 248 Malignant 114 152 Total 404 400

4

H.A.M. Sakim et al.

3.2 Optimum Neural Network Investigation To investigate the optimum neural network architecture for breast cancer cells diagnosis, morphological features data were preliminary applied to six types of neural network and their performance compared. The trained networks were Multilayer Perceptron (MLP), Multilayer Perceptron Sigmoid (MLPSig), Hybrid Multilayer Perceptron (HMLP), Radial Basis Function (RBF), Hybrid Radial Basis Function (HRBF) [2] and Self-Organizing Maps (SOM). The neural networks established consisted of three layers that were input layer, hidden layer and output layer. To compare the different types of network, only one hidden layer was employed for all network types. There was only one output node, which corresponds to classification of breast cancer cells. The network’s output was graded to range from 0 to 1 and determined due to cut-off point of 0.5. A probability of high output (≥0.5) was considered to indicate malignancy (cell which infected with cancerous), while a probability of low output (100 3 50-100 2 51 4 31-50 3 10-30 2 1. Proof: suppose there is a node B that belongs to N A and |hopB - hopA| > 1. Without loss of generality, assume that hopB - hopA > 1. Then, because node B is node A’s neighbor, node B must have received a hop-counting message from node A, based on the hop-counting algorithm Procedure1, and since current hopB >received hopA +1, we know hopB must have been updated to hopA +1. This contradicts the assumption that □ |hopB - hopA| > 1. For the hopA - hopB > 1 case, the proof is similar. So, based on Theorem 1, for a node A, there are only three types of nodes in N A : Nodes with a hop count equal to (hopA +1), which we designate as Nodes with a hop count equal to (hopA -1), which we designate as. Nodes with a hop count equal to (hopA), which we designate as

+1

NA

.

−1

NA

0

NA .

We use the number of nodes of each type, i.e. N A−1 , N A+1 , and, N A together with hopA as inputs for the neural network in node A. The previous presentation of the NN hop coordinates method assumes we can make use of floating point arithmetic; however, a standard WSN node usually only

18

Y. Xu et al.

Fig. 4. Neural Networks for NN-based Hop Coordinates. Inputs (leftmost column) drive an input layer, which in turn causes propagation of information through weighted links (W(1)), to a hidden layer; this layer then influences an output layer with additional weighted links (W(2)), ultimately driving a set of outputs (rightmost column of nodes).

has an 8 bit or 16 bit microprocessor without floating point support [1]. We thus need to use integer values to represent offset A and hop A (here A is any arbitrary node). In practice, we can conveniently use one byte each to represent

hop A and offset A

allowing values from 0 to 255 which we can interpret as described later in the paper. We designate these bytes as the high byte (HB) for the hop count and low byte (LB) for the offset. If an application needs more resolution for hop-coordinates we can use two bytes, or a double word, for each.

6 Simulation 6.1 Simulation Process There are three steps in our simulation. Step 1: Create training data set from NS-2 We implement the hop coordinates algorithm as a routing agent and the bootstrap node program as a protocol agent in NS-2 version 2.29 [4] with 802.15.4 MAC layer [6] and the CMU wireless extension [5]. The configurations for NS-2 are RF range = 15 meters, propagation = TwoRayGround, and antenna = Omni Antenna. We use uniform placement—n nodes are placed on a grid with 100% of r randomized placement error. Here r is the width of a small square inside the grid. We constructed a total of 60 placements with n = 100, 400, 900, 1600, and with r = 2, 4, 5, 8, 10, and 12 meters, respectively. The reason we use uniform placement with 100%r error is that usually such a placement includes both node holes and islands in one placement, as shown in Fig.5.

A BP-Neural Network Improvement to Hop-Counting for Localization in WSNs

19

120

100

80

60

40

20

0

0

20

40

60

80

100

120

Fig. 5. A typical placement for simulation Constructed with n= 400, r=4. Green ovals: holes, Blue ones: islands.

A 6-element tuple is used to represent a training data set for arbitrary node A: ( NA ,

−1

NA

,

+1

NA

, hopA, LB, HB). The elements represent, respectively, the number

of neighbors, number of neighbors with (hopA -1), number of neighbors with (hopA +1), hopA, and the LB and HB values described in Section 4.2. In our experiments, these HB and LB are computed as the result of dividing the physical distance from node A to the bootstrap node by the transmission range R. We trained with around 64 samples for each node as a training set. Step 2: Process to Compute Hop Coordinates with Neural Network After we finish training for the neural network in each node, we fix the internal layer in each node and use it to compute the NN-based hop-coordinates for the node by inputting a 4-tuple ( N A ,

−1

NA

,

+1

NA

, hopA) to compute (LB, HB).

Step 3: Compute Predicted Maps using Localization Algorithms As described in the related work summary above, the GDL and MDS-MAP series of localization algorithms outperform other localization algorithm, so in our simulation we use GDL and MDS-MAP series algorithms to evaluate our technique. By collecting the NN-based hop-coordinates from neighbors for a node, that node can compute shortest paths between all pairs of nodes in the neighbors using Dijkstra's algorithm. Then, we apply MDS-MAP [15], MDS-MAP(P) [16] and GDL [22] to the above data to compute the relative maps. Given four fixed anchor nodes, we transform these relative maps to absolute maps. Thus, by comparing with the physical position of the each node in the network, we can obtain and compare the accuracy measurements with and without NN-based hop-coordinates. 6.2 Simulation Results We obtained results of the accuracy of localization by MDS-MAP and GDL algorithms, with and without NN-based hop coordinates, on networks with n = 100,

20

Y. Xu et al.

400, 900, and 1600 nodes, and r = 2, 4, 6, 8, 10, and 12 meters, as shown in Fig. 6.a for r = 2 through Fig. 6.f for r = 12. From Fig.6. (a,b,c) we can see that when r=2, 4, 6, the accuracy in localization with NN-based hop coordinates is higher than MDS-MAP, but close to MDS-MAP(P) and GDL. Since MDS-MAP only utilizes connectivity information, NN-based hop-coordinates can help to improve the localization accuracy. In GDL and MDSMAP(P), in contrast, the fact that both incorporate techniques to improve accuracy, and that the network density is high, means that NN-based hop-coordinates provide little additional benefit. From Fig. 6 (d,e,f), we can see that when r > 6 meters, improvements of accuracy in coordinates are significant in MDS-MAP, MDS-MAP(P) and GDL. As a result of

90

80

80

70

70

60

60

50

Error(%)

100

90

Error(%)

100

50

40

40

MDS-MAP MDS-MAP(P) GDL w ith NN Hop-Coordinates GDL w ithout NN Hop-Coordinates

30 20 10

30

10

0

0

100

400

900

# of nodes

1600

100

90

80

80

70

70 Error(%)

100

90

60 50

MDS-MAP MDS-MAP(P) GDL w ith NN Hop-Coordinates GDL w ithout NN Hop-Coordinates

30 20 10

900

1600

Fig. 6b. Comparison of the accuracy of localization (r=4)

100

40

400

# of nodes

Fig. 6a. Comparison of the accuracy of localization of MDS-MAP, MDS-MAP(P) and GDL algorithms with or without the NN hop coordinates technique, on networks with n = 100, 400, 900, 1600 nodes, and r=2, 4, 6, 8, 10, or 12 meters, respectively. Here r=2. Notes: X-axis: # of nodes, Y-axis: the error of localization in percent.

Error(%)

MDS-MAP MDS-MAP(P) GDL w ith NN Hop-Coordinates GDL w ithout NN Hop-Coordinates

20

60 50 40

MDS-MAP MDS-MAP(P) GDL w ith NN Hop-Coordinates GDL w ithout NN Hop-Coordinates

30 20 10 0

0

100 100

400

# of nodes

900

1600

Fig. 6c. Comparison of the accuracy of localization (r=6)

400

900

1600

# of nodes

Fig. 6d. Comparison of the accuracy of localization (r=8)

A BP-Neural Network Improvement to Hop-Counting for Localization in WSNs

90

80

80

70

70

60

60

Error(%)

100

90

Error(%)

100

50 40

MDS-MAP MDS-MAP(P) GDL w ith NN Hop-Coordinates GDL w ithout NN Hop-Coordinates

30 20

50 40 30

MDS-MAP MDS-MAP(P) GDL w ith NN Hop-Coordinates GDL w ithout NN Hop-Coordinates

20

10

10

0 100

400 900 # of nodes

21

0

1600

100

Fig. 6e. Comparison of the accuracy of localization (r=10)

400

900

# of nodes

1600

Fig. 6f. Comparison of the accuracy of localization (r=12)

the NN training process, NN-based hop-coordinates provide a larger accuracy improvement then the techniques used in the MDS-MAP and GDL algorithms. Then, we compute the overall average accuracy based on Fig. 6, corresponding to r=2, 4, 6, 8, 10, 12 meters. The results are shown in Fig. 7. From it, we can see that in the MDS-MAP, MDS-MAP(P) and GDL algorithms, the localization accuracy with our technique is about 86% and 26% and 15% improved compared with the GDL algorithms using only hop-counting, when 2 ≤ r ≤ 12 . 100

Error(%)

80 60 40 20 0 0

2

4

6

8

10

12

15

r (meter) MDS-MAP MDS-MAP(P) GDL w ith NN Hop-Coordinates GDL w ithout NN Hop-Coordinates

Fig. 7. Comparison of overall average accuracy of localization with or without hop coordinates

6.3 Costs As a setup phase, our technique requires a significantly long training time, but afterwards the technique has a low computational cost: in essence, it requires the

22

Y. Xu et al.

multiplication of two small matrices. The approach described here requires approximately 350 bytes of memory to store the neural network parameters in each node.

7 Summary and Conclusions In this paper, we presented a new localization technique, Neural Network based HopCoordinate, which improves the accuracy of localization under same localization algorithms that use only connectivity information. In simulations, our technique on average improves the accuracy of locations generated by MDS-MAP(P) and GDL improving by 26%, 15%,, in comparison with the results without applying our technique; We also achieve good results in comparison to GDL in combination with another variation of hop coordinates based on using an average of the neighborhood hop count as the hop coordinates of each node [22]. Our technique works well in networks with varying numbers of nodes, especially when there are sparse nodes, which is typically the worst case for GDL otherwise. Through a simulation, we show how our technique can work with different algorithms, particularly MDS-MAP series algorithms and GDL, which require only connectivity. Our technique can also be applied to other localization algorithms, such as DV-hop, DV-distance, Hop-TERRAIN, which rely on hop-counting technique, without modification. In cost, this method has a low computational cost after its training process, and requires around 350 bytes memory in a microprocessor without a floating-point unit (FPU).

References [1] Akyildiz, I., et al.: A Survey on Sensor Networks. IEEE Communication 40(8), 102–114 (2002) [2] Culler, D., et al.: Towards a Sensor Network Architecture: Lowering the Waistline. In: Proc. of SenSys. 2005 (2005) [3] He, T., Huang, C., Blum, B., Stankovic, J., Abdelzaher, T.: Range-Free Localization Schemes in Large Scale Sensor Networks. In: Proc. of Mobile Computing and Networking (MobiCom 2003) (2003) [4] McCanne, S., Floyd, S.: NS-2 Network Simulator, http://www.isi.edu/ nsnam/ns/ [5] The CMU MONARCH Group: Wireless and Mobility Extensions to ns-2, http://www.monarch.cs.cmu.edu/cmu-ns.html [6] Jianliang, Z., et al.: 802.15.4 extension to NS-2, http://www-ee.ccny.cuny.edu/ zheng/pub [7] Priyantha, N., Balakrishnan, H., Demaine, E., Teller, S.: Anchor-free distributed localization in sensor networks. In: Proceedings of ACM SenSys 2003, pp. 340–341 (2003) [8] Zhou, G., He, T., Krishnamurthy, S., Stankovic, J.A.: Impact of radio irregularity on wireless sensor networks. In: MobiSys 2004: Proceedings of the 2nd international conference on Mobile systems, applications, and services, pp. 125–138 (2004) [9] Niculescu, D., Nath, B.: Ad-hoc positioning system. In: IEEE GlobeCom (2001)

A BP-Neural Network Improvement to Hop-Counting for Localization in WSNs

23

[10] Savarese, C., Rabaey, J., Langendoen, K.: Robust positioning algorithm for distributed ad-hoc wireless sensor networks. In: USENIX Technical Annual Conf., Monterey, CA (2002) [11] Stoleru, R., He, T., Stankovic, J., Luebke, D.: A high-accuracy, low-cost localization system for wireless sensor network. In: Proc. of SenSys 2005 (2005) [12] Ratnasamy, S., Karp, B., Yin, L., Yu, F., Estrin, D., Govindan, R., Shenker, S.: GHT: A Geographic Hash Table for Data-Centric Storage. In: ACM WSNA (2002) [13] Priyantha, N., Chakaborty, A., Balakrishnan, H.: The Cricket Location-support System. In: Proceedings of MobiCom (2000) [14] Savarese, C., Rabaey, J., Langendoen, K.: Robust Positioning Algorithms for Distributed Ad-Hoc Wireless Sensor Networks. In: Proc. of USENIX, Technical Conference (2002) [15] Shang, Y., Ruml, W., Zhang, Y., Fromherz, M.: Localization from Mere Connectivity. In: Proc. of Intl. Symp. on Mobile Ad Hoc Networking and Computing (MobiHoc) (2003) [16] Shang, Y., Ruml, W.: Improved MDS-Based Localization. In: InfoCom 2004 (2004) [17] Bruck, J., Gao, J., Jiang, A.: Localization and Routing in Sensor Networks by Local Angle Information. In: Proc. the 6th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc 2005) (2005) [18] Fonseca, R., Ratnasamy, S., Culler, D., Shenker, S., Stoica, I.: Beacon vector routing: Scalable point-to-point in wireless sensornets. In: Second Symposium on Network Systems Design and Implementation (NSDI) (2005) [19] Capkun, S., Hamdi, M., Hubaux, J.: GPS-free positioning in mobile ad-hoc networks. In: Proceedings of Hawaii International Conference on System Sciences (HICCSS 2001), pp. 3481–3490 (2001) [20] Maróti, M., Völgyesi, P., Dóra, S., Kusý, B., Nádas, A., Lédeczi, Á., Balogh, G., Molnár, K.: Radio interferometric geolocation. In: Proc. of SenSys 2005 (2005) [21] Xu, Y., Ford, J., Makedon, F.S.: A Variation on Hop-counting for Geographic Routing (EmNetS-III), Cambridge, MA (2006) [22] Xu, Y., Ford, J., Makedon, F.S.: A Distributed Localization Algorithm for Wireless Sensor Networks Using Only Hop-Counting. In: IC3N 2006, Arlington, VA (2006) [23] Maróti, M., Völgyesi, P., Dóra, S., Kusý, B., Nádas, A., Lédeczi, Á., Balogh, G., Molnár, K.: Radio interferometric geolocation. In: Proc. of SenSys 2005 (2005)

S UDOKU S AT—A Tool for Analyzing Difficult Sudoku Puzzles Martin Henz and Hoang-Minh Truong National University of Singapore School of Computing Computing 1, Law Link, Singapore 117590, Singapore

Abstract. Sudoku puzzles enjoy world-wide popularity, and a large community of puzzlers is hoping for ever more difficult puzzles. A crucial step for generating difficult Sudoku puzzles is the fast assessment of the difficulty of a puzzle. In a study in 2006, it has been shown that SAT solving provides a way to efficiently differentiate between Sudoku puzzles according to their difficulty, by analyzing which resolution technique solves a given puzzle. This paper shows that one of these techniques—unit resolution with failed literal propagation—does not solve a recently published Sudoku puzzle called AI Escargot, claimed to be the world’s most difficult. The technique is also unable to solve any of a list of difficult puzzles published after AI Escargot, whereas it solves all previously studied Sudoku puzzles. We show that the technique can serve as an efficient and reliable computational method for distinguishing the most difficult Sudoku puzzles. As a proofof-concept for an efficient difficulty checker, we present the tool S UDOKU S AT that categorizes Sudoku puzzles with respect to the resolution technique required for solving them.

1 Sudoku Sudoku puzzles have fascinated puzzle solvers since their invention in 1979. A Sudoku puzzle is a 9 × 9 grid of cells, which is composed of nine 3 × 3 non-overlapping boxes of cells. The objective is to fill the grid with digits from 1 to 9 so that each row, column and box contains any digit at most once. Some cells are already filled with digits; these cells are called hints. To be a proper Sudoku puzzle, the grid must admit a unique way to fill the remaining cells to meet the objective (Uniqueness Property). Figure 1 shows a Sudoku puzzle that can be solved within a few minutes by an experienced puzzler. Whereas precursors of Sudoku—based on magic squares and Latin squares—were known since the late 19th century, modern Sudoku puzzles were first published anonymously by Dell Magazines in 1979, and are widely attributed to Howard Garns. The puzzles became popular in Japan starting in the mid 1980s and world-wide in 2005, giving rise to a large international community of puzzlers who enjoy solving puzzles of various levels of difficulty. The Sudoku community spends much effort to generate new and ever more difficult puzzles. A milestone in this quest was reached by Arto Inkala in 2006. C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 25–35. c Springer-Verlag Berlin Heidelberg 2009 springerlink.com 

26

M. Henz and H.-M. Truong

7

6

1

8

2

3 8 7

9 9 5

1

9

4

3

2

1 6 9

3

5 4

2 7

Fig. 1. A Typical Sudoku Puzzle

2 AI Escargot In November 2006, Arto Inkala published a Sudoku puzzle that he called “AI Escargot”1 , shown in Figure 2, which he claimed to be “the most difficult Sudoku puzzle known so far”. In his recently published book (Ink07), Inkala notes: In addition to my own evaluation method, I gave AI Escargot to others for evaluation in October 2006. It was soon found to be the most difficult Sudoku puzzle known according to at least three established evaluation methods. In the case of two methods, in fact, AI was the first puzzle that they were unable to solve. These methods were RMS (Ravel Minimal Step) and Sudoku Explainer 1.1. The third and fourth method was Gfsr and Suexrat9 method. The fifth method I used to evaluate AI Escargot also found it to be the most difficult, but that method is my own. What happened next was what I had anticipated: AI Escargot motivated other makers of difficult Sudoku puzzles to continue the work. It continues to be the most difficult Sudoku puzzle, when the results of all evaluation methods are combined, but some puzzles can now be rated more difficult by a particular method. The quest for difficult Sudoku puzzles continued since publication of AI Escargot, and a web site lists the most difficult puzzles discovered since the publication of AI 1

The letters “A” and “I” represent Dr. Inkala’s initials.

S UDOKU S AT —A Tool for Analyzing Difficult Sudoku Puzzles

7

1 3

9 8

2 9

6

5

5

3

9 8

1 6

27

2 4

3

1 7

4 7

3 Fig. 2. AI Escargot

Escargot (rav07). A common approach for generating difficult Sudoku puzzles is generate-and-test: generate large numbers of promising candidate puzzles2 , and test each of these candidates for the Uniqueness Property and difficulty. In order to efficiently and effectively search for difficult puzzles, the rating has to be both fast and correspond to the human intuition of Sudoku difficulty. In the quote above, Inkala mentions five techniques of rating: Ravel Minimal Step (RMS). The minimal number of “difficult steps” needed to solve the puzzle. RMS is not able to rate AI Escargot. Even if appropriate “difficult steps” would be added to the rating scheme, a time-consuming search-based technique is required for RMS, since the choice of steps and their order greatly affects the number of steps needed. Sudoku Explainer. This Java software by Nicolas Juillerat uses a complex algorithm to assess the difficulty of a puzzle. Apparently, the more recent version Sudoku Explainer 1.2 is able to solve AI Escargot, but assessing its difficulty reportedly takes several minutes. Gfsr. At the time of submission, the authors were not able to find details on this evaluation method. Suexrat9. Suexrat9 returns the average number of depth-first search steps, where only simple reasoning steps are carried out at each node. This method is slowed down by the need for multiple runs of a depth-first solver, and the result does not correspond 2

Enumerating possible Sudoku grids is interesting task in itself; for details, see (FJ05).

28

M. Henz and H.-M. Truong

well to the experience of human solvers, who typically apply techniques radidally different from depth-first search. Inkala’s method. At the time of submission, the authors were not able to obtain details on this method. It is not clear whether any of these techniques are able to serve as an effective testing step in generate-and-test. In this paper, we propose to use a SAT-based technique called failed literal propagation (FLP) as effective test. In order to argue the case, we briefly discuss the computational techniques that have been applied to Sudoku puzzles in the next section. Section 4 zooms into SAT-based solving techniques. Section 5 discusses how a SAT-based solver can be augmented with a Sudoku-specific reasoning method to optimize the test for the Uniqueness Property. Section 6 presents S UDOKU S AT, a SATbased tool for analyzing the difficulty of Sudoku puzzles. We have used S UDOKU S AT for assessing the difficulty of AI Escargot and other difficult puzzles, and Section 7 establishes the first known Sudoku puzzles that cannot be solved with FLP, which gives rise to that hope—expressed in Section 8—that SAT-solving may prove to be a valuable tool in the quest for the most difficult Sudoku puzzles.

3 Sudoku in AI The problem of finding solutions of n2 × n2 Sudoku puzzles is NP-hard (Yat03). All known 9 × 9 puzzles can be quickly solved using a variety of techniques, ranging from general search algorithms such as Dancing Links (Knu00), over constraint programming techniques (Sim05; Hol06) and SAT-based techniques (see next section), to a host of Sudoku-specific algorithms such as Sudoku Explainer (Jui06) and Sudoku Assistant/Solver (Han07). Researchers in Artificial Intelligence have used constraint programming and SAT solving to assess the difficulty of Sudoku puzzles. Simonis shows that finite-domain constraint programming (CP) can be employed to assess the difficulty of Sudoku puzzles (Sim05). CP models use finite domain variables for each cell representing the digit placed in the cell, as well as finite domain variables that indicate in which cell of a given row/column/box a particular digit is placed. Both kinds of variables are connected with all-different constraints. Channeling constraints connect variables of different kinds. Simonis presents several constraints that exploit the interaction between rows, columns and boxes. Of particular value for solving Sudoku puzzles is a technique called shaving (TL00), which speculatively assigns a value to a variable. When propagation detects an inconsistency as a result of the assignment, the value is removed from the variable domain. Simonis proceeds to compare the published difficulty of a range of puzzles with the kinds of propagation techniques required to solve them without search. Since he did not have access to the difficult instances published after 2006, the effectiveness of CP to assess the difficulty of Sudoku puzzles remains a subject of future work. Weber presented the first SAT-based tool for solving Sudoku (Web05), by translating a puzzle using the theorem prover Isabelle/HOL into clause form, solving the resulting SAT problem using the SAT solver zChaff (MMZ+ 01), and reporting that the encoding and solving is done “within milliseconds”. Lynce and Ouaknine apply various SATbased resolution techniques to Sudoku (LO06). They confirm that the SAT-equivalent of

S UDOKU S AT —A Tool for Analyzing Difficult Sudoku Puzzles

29

shaving called failed literal propagation provides a very efficient and effective method for solving the puzzles. Similar to Simonis, Lynce and Ouaknine did not have access to the difficult puzzles published after 2006, and thus, the significance of the different resolution techniques for assessing Sudoku difficulty remains unclear. Comparing constraint programming and SAT solving on Sudoku, we conclude that SAT solving provides simpler and equally powerful solving techniques, and therefore focus on SAT solving for this work.

4 SAT-Based Sudoku Solving Satisfiability is the problem of determining if the variables in a given Boolean formula can be assigned to truth values such that the formula evaluates to TRUE. In SAT problems, the formula is a conjunction of disjunctions of literals, where a literal is either a variable or the negation of a variable. The disjunctions are called clauses, and the formula a clause set. If the clause set is satisfiable, complete SAT solvers provide an assignment of the variables which satisfies it. When we encode a given Sudoku puzzle as a SAT problem, and give it to a complete SAT solver, the solver returns the solution to the puzzle, encoded in a variable assignment. We use the following extended encoding of Sudoku, given by Lynce and Ouaknine (LO06). With each cell of the grid, this encoding associates 9 variables, one for each possible digit. The variable sxyz is assigned to TRUE if and only if the cell in row x and column y contains the digit z. The following conjunctions of clauses combined make up the extended encoding (for a detailed explanation, see (LO06)): 9 9 9 sxyz – 9y=1 8z=1 9 x=1 9 – (¬sxyz ∨ ¬siyz ) y=1 z=1 x=1 i=x+1 9 9 8 9 – (¬sxyz ∨ ¬sxiz ) 2z=1 2y=13i=y+1 3 3 x=1 9 – z=1 i=0 j=0 x=1 y=1 k=y+1 (¬s(3i+x)(3j+y)z ∨ ¬s(3i+x)(3j+k)z ) 3 9 2 2 3 3 3 – z=1 i=0 j=0 x=1 y=1 k=x+1 l=1 (¬s(3i+x)(3j+y)z ∨ ¬s(3i+k)(3j+l)z ) 9 9 8 9 (¬sxyz ∨ ¬sxyi ) – 9y=1 9z=1 i=z+1 x=1 9 s – xyz z=1 x=1 y=1 9 9 9 – s xyz x=1 2z=1 2y=13 3 9 – z=1 i=0 j=0 x=1 y=1 s(3i+x)(3j+y)z Complete solving techniques for SAT problems are based on simplification and search. A basic simplification technique is the unit clause rule (DP60). The rule eliminates a unit clause of the form ωi = (lj ), where lj is a literal, by removing all clauses in which lj appears, and removing ¬lj from all clauses containing it. Unit resolution applies the unit clause rule exhaustively until the clause set contains no unit clause. The most common complete solving technique for SAT problems is the Davis-PutnamLogemann-Loveland (DPLL) algorithm (DLL62), which combines tree search, where each branching assigns a selected literal to a truth value, with unit resolution. Solving Sudoku puzzles is done by humans using complex kinds of reasoning such as the

30

M. Henz and H.-M. Truong

“Swordfish” pattern (Han07), as opposed to tree search. Thus, in order to use SAT solving to assess the difficulty of a puzzle, Lynce and Ouaknine examine—in addition to unit resolution—the following three propagation-based techniques. . Failed literal propagation (FLP). The so-called failed literal rule is applied to a clause set f and a literal l, by creating a new clause set f  = f ∧ (l). If unit resolution applied to f  yields a contradiction (an empty clause), f is simplified by adding ¬l to it and performing unit resolution. Failed literal propagation repeatedly applies this failed literal rule to all literals, until no more simplification is achieved. Binary failed literal propagation (BFLP). This technique extends failed literal propagation by considering pairs of literals l1 and l2 . If unit resolution after adding the clauses (l1 ) and (l2 ) to the clause set leads to a contradiction, the clause (¬l1 ∨¬l2 ) can be added to the clause set. Hyper-binary resolution (HBR). This technique infers from clause subsets of the form (¬l1 ∨ xi ) ∧ (¬l2 ∨ xi )∧ · · · ∧ (¬lk ∨ xi ) ∧ (l1 ∨ l2 ∨ · · · ∨ lk ∨ xj ) the clause (xi ∨ xj ). Similar to the previous two techniques, unit resolution is peformed after each application of the rule, and the rule is applied exhaustively.

5 Grid Analysis During the search for Sudoku puzzles using generate-and-test, millions of puzzles need to be assessed, whether they admit a unique solution. The only known technique for this problem is to find the set of all solutions, and check whether that set is a singleton. The DPLL algorithm family is an efficient technique for finding all solutions of Sudoku puzzles. We are proposing to combine DPLL with the following Sudoku-specific propagation rules, which are given by a technique called Grid Analysis (GA), employed by human puzzlers and Sudoku software such as Sudoku Assistant/Solver. – When a candidate digit is possible in a certain set of cells that form the intersection of a set of n rows and n columns, but are not possible elsewhere in that same set of rows, then they are also not possible elsewhere in that same set of columns. – Analogously, when a candidate digit is possible in a certain set of cells that form the intersection of a set of n rows and n columns, but are not possible elsewhere in that same set of columns, then they are also not possible elsewhere in that same set of rows. At a particular node in the DPLL search tree, the first rule can be implemented by iterating through all possible digits k and numbers n, where 1 ≤ 2 ≤ 8. For each value of k and n, we check whether there are n rows, in which there arel less than n candidate cells for k, whether all candidate cells belong to n columns, and whether each of these columns contains at least one candidate cell. If these conditions are met, we delete k from all cells in the n columns that do not belong to any of the n rows, by assigning the corresponding variable sijk to TRUE. The second rule can be implemented similarly. The technique can be further improved by switching the roles of value and row/column index, as explained in (Sim05).

S UDOKU S AT —A Tool for Analyzing Difficult Sudoku Puzzles

31

6 S UDOKU S AT In order to experiment with FLP, BFLP, HBR and GA for solving Sudoku puzzles, we implemented a SAT solver, in which DPLL, FLP, BFLP and HBR can be used as alternative solving techniques. For each technique, the user can choose to add GA. In the case of FLP, BFLP and HBR, GA is performed after propagation. Whenever GA obtains a simplification, propagation is repeated, leading to a fixpoint with respect to a combination of FLP/BFLP/HBR and GA. Similarly, during DPLL, GA is combined

Fig. 3. Interface of S UDOKU S AT

Fig. 4. Display of solved puzzle and statistics on the search tree size, runtime and remaining propositional variables

32

M. Henz and H.-M. Truong

with unit resolution to achieve a combined fixpoint. Figure 3 shows the user interface of S UDOKU S AT after entering the hints of a problem and setting the solver options. Figure 4 shows the user interface of S UDOKU S AT after solving the puzzle, displaying statistics on the size of the search tree (in case DPLL was chosen), the overall runtime, and the percentage of remaining variables (in case FLP, BFLP or HBR was chosen). Note that Holst reports on a tool for solving Sudoku puzzles, based on constraint logic programming (Hol06).

7 Results The experiments reported by Lynce and Ouaknine (LO06) use a set of 24,260 very difficult Sudoku puzzles collected by Gordon Royle (Roy07). These puzzles are minimal in the sense that they have the smallest known number of hints, while still admitting a unique solution. The puzzles contain 17 hints, as there are no known Sudoku puzzles with only 16 hints. A common assumption at the time of publication of previous studies on using AI techniques for Sudoku (LO06; Web05; Sim05; Hol06) was that the most difficult Sudoku puzzles would be minimal. Lynce and Ouaknine show that unit resolution alone can only solve about half of their studied puzzles, whereas the remaining three techniques solve them all. Inkala argues that the number of hints is not indicative of the difficulty of the puzzle (Ink07), and presents AI Escargot, a puzzle with 23 hints, which was acknowledged as the most difficult Sudoku puzzle in November 2006 (AFP06). The 20 most difficult Sudoku puzzles known at the time of this writing all have 21 hints (rav07). We have applied the three techniques given in Section 4 to these 20 instances and AI Escargot and obtained the following results: – Not surprisingly, UR fails to solve any of the puzzles. – None of the puzzles can be solved using FLP. – All puzzles are solved using BFLP, HBR, and Grid Analysis. In our view, the most significant of these results is the second. Lynce and Ouaknine (LO06) report that FLP solves all puzzles listed by Royle (Roy07), a fact that we verified with S UDOKU S AT. However, FLP is not able to solve any of new difficult puzzles. The runtime for attempting to solve them varies between 0.28 and 1.59 seconds, with an average of 0.79, using a PC with a Pentium 4 processor running at 3GHz using Windows Vista. Figure 5 shows the detailed runtimes for the 20 most difficult puzzles. For AI Escargot, we obtained the runtime results given in Table 6. Note that the most efficient method for solving AI Escargot appears to be DPLL, combined with the Grid Analysis technique presented in Section 5. The runtime results indicate that our implementation of FLP in S UDOKU S AT provides an efficient and reliable test for identifying the most difficult Sudoku puzzles, and that DPLL together with Grid Analysis is a promising technique for quickly checking that a candidate puzzle has a unique solution.

S UDOKU S AT —A Tool for Analyzing Difficult Sudoku Puzzles 000001020300040500000600007002000001080090030400000800500002000090030400006700000 003000009400000020080600100200004000090800007005030000000900800000005030070010006 100300000020090400005007000800000100040000020007060003000400800000020090006005007 100007000020030500004900000008006001090000020700000300000001008030050060000400700 003400080000009200000060001007010000060002000500800040010000900800000030004500007 000001020300040500000600007002000006050030080400000900900002000080050400001700000 003900000040070001600002000800000002070050030009000400200001008000040050000600900 100007000020080000004300500005400001080000020900000300000005007000020060003100900 002900000030070000500004100008000002090000030600500400000003008000060070100200500 000001020300040500000600007001000006040080090500000300800002000050090400006700000 900004000050080070001200000002600009030000040700000500000009002080050030000700600 003400000050009200700060000200000700090000010008005004000300008010002900000070060 000001020300040500000600001001000007050030040800000900400002000090050800006700000 400009000030010020006700000001000004050200070800000600000004008070030010000500900 100050080000009003000200400004000900030000007800600050002800060500010000070004000 100050000006009000080200004040030008007000060900000100030800002000004050000010700 003200000040090000600008010200000003010006040007000500000001002090040060000500700 020400000006080100700003000000060300000200005090007040300000800001000090040500002 002600000030080000500009100006000002080000030700001400000004005010020080000700900 500000009020100070008000300040702000000050000000006010003000800060004020900000005

33

1.062 0.843 0.578 0.937 0.766 0.313 1.594 1.39 0.344 0.391 1.218 0.281 0.422 0.625 1.078 0.656 0.796 0.594 1.188 0.813

Fig. 5. The 20 most difficult Sudoku puzzles (rav07) and the runtimes in seconds required for (unsuccessfully) attempting to solve them using FLP. The puzzles are given by concatenating the rows of cells containing their hints, where a cell with no hint is represented by 0. Technique DPLL DPLL + GA BFLP BFLP + GA HBR

Runtime (s) 0.13 0.076 5.200 4.672 48.000

Size of search tree 50 nodes 20 nodes 1 node (no search needed) 1 node (no search needed) 1 node (no search needed)

Fig. 6. Runtimes for solving AI Escargot using S UDOKU S AT using successful techniques (Pentium 4, 3GHz, Windows Vista). Neither FLP nor FLP + GA are able to solve AI Escargot, and in both cases, 76% of the propositional variables remain.

8 Conclusions We have argued in this paper that SAT solvers provide effective measures of the difficulty of Sudoku puzzles by demonstrating that the recently discovered puzzle AI Escargot—claimed to be the most difficult Sudoku puzzle in the world—is the first known Sudoku puzzle that cannot be solved by unit resolution combined with failed literal propagation (FLP). We also show that 20 puzzles discovered after AI Escargot cannot be solved using FLP, whereas the technique is able to solve all previously studied Sudoku puzzles. These results lead us to suggest the following method for generating difficult puzzles:

34

M. Henz and H.-M. Truong

1. Generate a candidate puzzle p using known enumeration techniques (e.g. (FJ05)). 2. Test if p has a solution and satisfies the Uniqueness Property. For this step, the runtime results obtained for AI Escargot suggest a combination of DPLL with grid analysis. If the test fails, go to 1. 3. Test if FLP solves p. If not, save p as a difficult puzzle. 4. Go to 1. As a prototype implementation of Steps 2 and 3, we presented S UDOKU S AT, a Sudoku solver that allows a puzzle designer to assess the difficulty of candidate Sudoku puzzles by applying different resolution techniques in the solving process. We hope that this tool, or an adaptation of it, allows Sudoku enthusiasts to generate further difficult Sudoku instances for the benefit of Sudoku puzzlers around the world.

References [AFP06] AFP. Mathematician claims to have penned hardest Sudoku. USA Today (November 2006) [DLL62] Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the Association for Computing Machinery 5(7), 394–397 (1962) [DP60] Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the Association for Computing Machinery 7, 201–215 (1960) [FJ05] Felgenhauer, B., Jarvis, F.: Enumerating possible Sudoku grids (2005), http://www.afjarvis.staff.shef.ac.uk/sudoku/sudoku.pdf [Han07] Hanson, B.: Sudoku Assistant/Solver. Online software written in JavaScript (2007), http://www.stolaf.edu/people/hansonr/sudoku/ [Hol06] Holst, C.K.: Sudoku—an excercise in constraint programming in Visual Prolog 7. In: 1st Visual Prolog Applications and Language Conference, VIP-ALC 2006, Faro, Portugal (April 2006) [Ink07] Inkala, A.: AI Escargot—The Most Difficult Sudoku Puzzle, Lulu, Finland (2007) ISBN 978-1-84753-451-4 [Jui06] Juillerat, N.: Sudoku Explainer. Version 1.2 (December 2006), http:// diuf.unifr.ch/people/juillera/Sudoku/Sudoku.html [Knu00] Knuth, D.E.: Dancing links. In: Davies, J., Roscoe, B., Woodcock, J. (eds.) Millenial Perspectives in Computer Science, pp. 187–214. Palgrave, Houndmills (2000) [LO06] Lynce, I., Ouaknine, J.: Sudoku as a SAT problem. In: Berstein, S.Z. (ed.) Proceedings of the 9th International Symposium on Artificial Intelligence and Mathematics, AIMATH 2006, Fort Lauderdale, Florida, USA ( January 2006) [MMZ+ 01] Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the 38th Design Automation Conference, Las Vegas, USA (June 2001) [rav07] ravel. The hardest sudokus. Sudoku Players’ Forums (January 25, 2007), http:// www.sudoku.com/forums/viewtopic.php?t=4212&start=587 [Roy07] Royle, G.: Minimum sudoku (2007), http:// people.csse.uwa.edu.au/gordon/sudokumin.php [Sim05] Simonis, H.: Sudoku as a constraint problem. In: Proceedings of the CP Workshop on Modeling and Reformulating Constraint Satisfaction Problems, Sitges, Spain, pp. 13–27 (October 2005)

S UDOKU S AT —A Tool for Analyzing Difficult Sudoku Puzzles

35

[TL00] Torres, P., Lopez, P.: Overview and possible extensions of shaving techniques for job-shop problems. In: 2nd International Workshop on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, CP-AI-OR 2000, IC-PARC, UK, pp. 181–186 (March 2000) [Web05] Weber, T.: A SAT-based Sudoku solver. In: Geoff Sutclife and Andrei Voronkov, editors, 12th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, LPAR 2005, pp. 11–15, Montego Bay, Jamaica (December 2005) (short paper Proceedings) [Yat03] Yato, T.: Complexity and completeness of finding another solution and its application to puzzles. Master’s thesis, Univ. of Tokyo, Dept. of Information Science, Faculty of Science, Hongo 7-3-1, Bunkyo-ku, Tokyo 113, JAPAN (January 2003), http://www-imai.is.s.u-tokyo.ac.jp/˜yato/data2/ MasterThesis.ps

Understanding and Forecasting Air Pollution with the Aid of Artificial Intelligence Methods in Athens, Greece Kostas D. Karatzas, George Papadourakis, and Ioannis Kyriakidis Dept. of Mechanical Engineering, Aristotle University, GR-54124 Thessaloniki, Greece [email protected] Dept. of Applied Informatics & Multimedia, T.E.I. of Crete, Stavromenos GR-71004 Heraklion, Crete, Greece [email protected] Dept. of Applied Informatics & Multimedia, T.E.I. of Crete, Stavromenos GR-71004 Heraklion, Crete, Greece [email protected]

Abstract. The understanding and management of air quality problems is a suitable problem concerning the application of artificial intelligence (AI) methods towards knowledge discovery for the purposes of modelling and forecasting. As air quality has a direct impact on the quality of life and on the general environment, the ability to extract knowledge concerning relationships between parameters that influence environmental policy making and pollution abatement measures becoming more and more important. In the present paper an arsenal of AI methods consisting of Neural Networks and Principal Component Analysis is being supported by a set of mathematical tools including statistical analysis, fast Fourier transformations and periodograms, for the investigation and forecasting of photochemical pollutants time series in Athens, Greece. Results verify the ability of the methods to analyze and model this knowledge domain and to forecast the levels of key parameters that provide direct input to the environmental decision making process.

1 Introduction The worldwide concern about air pollution problems has created the need for air quality forecast for the purposes of minimizing the adverse effects that bad atmospheric quality poses upon humans and their environment. As air pollution is a continuous environmental problem, it reinforces the need for more accurate and at the same time, more easily applied models and for better understanding of the cause effect relationships. Methods for AQ forecasting are required in particular for predicting the worst air quality situation. The present paper focuses on forecasting of hourly pollution episodes associated to benzene. Benzene (C6H6) is a volatile organic compound (VOC) consisting of a stable chemical ring structure that constitutes the base of the aromatic hydrocarbon family (thus with a characteristic smell). Benzene is characterized as a health hazard: according to the WHO, its unit risk factor is 4.10-6, meaning that in a population of one million persons, 4 additional cases of cancer can be expected following a continuous inhalation of 1 µg/m3 during its lifetime or one additional cancer in a population of 250 000 people. C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 37–50. © Springer-Verlag Berlin Heidelberg 2009 springerlink.com

38

K.D. Karatzas, G. Papadourakis, and I. Kyriakidis

Human activities and mostly traffic are the main benzene emissions sources. As these emissions occur within populated areas of high density, it is essential to develop forecasting models that will allow prediction of air quality levels related to hourly benzene concentration, been useful in everyday environmental management for city authorities [1]. Artificial Neural Networks (ANNs) are computational data structures that try to mimic the biological processes of the human brain and nervous system. ANNs were advanced in the late 1980s, popularizing non-linear regression techniques like Multilayer Perceptons (MLP) [2] and self-organising maps (SOM) [3]. It is shown that ANNs can be trained successfully to approximate virtually any smooth, measurable function [4]. ANNs are highly adaptive to non-parametric data distributions and, make no prior hypotheses about the relationships between the variables. ANNs are also less sensitive to error term assumptions and they can tolerate noise, chaotic components and heavy tails better than most of the others methods. Other advantages include greater fault tolerance, robustness, and adaptability especially compared to expert systems, due to the large number of interconnected processing elements that can be trained to learn new patterns [5]. These features provide ANNs the potential to model complex non-linear phenomenon like air pollution [6-10].

2 Background 2.1 General Intro to Air Quality Analysis and Forecasting Earlier research work has already dealt with using knowledge discovery techniques mainly for air quality associated incident forecasting, on the basis of incident definitions (i.e. episodes, pollution threshold value exceedances etc) that are associated with air pollution levels. One should make a distinction between (a) the usage of deterministic (usually three-dimensional) air pollution models that are used for the assessment of air pollution levels and for the forecasting of air quality on a grid basis concerning an area of interest, and (b) the usage of mathematical methods that deal directly with time series “generated” by monitoring stations. For the latter, several models have been built for predicting incidents that may occur in the near future. For instance, conventional statistical regression models [11], [12], [13], and time-series analysis have been applied to predict ozone levels [14]. Neural networks have been used for short-term ozone prediction [15], also in combination with adaptive nonlinear state space-based prediction [16]. In addition, methods like case-based reasoning [17] and classification and regression trees [18], [19], have been employed for predicting air pollutant concentrations [20]. 2.2 The Greater Athens Area and Its AQ and Monitoring Stations The city of Athens today is located in a basin of approximately 450 km2 (Figure 1). This basin is surrounded at three sides by fairly high mountains (Mt. Parnis, Mt. Pendeli, Mt. Hymettus), while to the SW it is open to the sea. Industrial activities take place both in the Athens basin and in the neighbouring Mesogia plain. The Athens basin is characterized by a high concentration of population (about 40% of the Greek population), accumulation of industry (about 50% of the Greek industrial activities)

Understanding and Forecasting Air Pollution

39

and high motorization (about 50% of the registered Greek cars). Anthropogenic emissions in conjunction with unfavourable topographical and meteorological conditions are responsible for the high air pollution levels in the area [20]. The visual results of atmospheric pollution “nephos”, a brown cloud over the city, made their appearance in the 70’s. Alarmingly elevated pollutant concentrations already threaten public health and at the same time cause irreparable damage to invaluable ancient monuments. Already by mid 80’s it became apparent to the Athenian authorities that road traffic is the main contributor to the anthropogenic emissions in Athens: Practically all carbon monoxide (CO) emissions, 3/4 of the nitrogen oxides (NOx) emissions and nearly 2/3 of the volatile organic compounds (VOCs) emissions were found to be associated with road traffic. It was realized that the largest part of these emissions was associated with private use passenger cars. Therefore, decisive interventions to the market and use of cars were recognized as essential for improving air quality in Athens [20]. Benzene and CO are similar in connection with their emissions. It is expected that in Athens traffic (basic cause of CO) is the basic cause of benzene, as suggested also by [21]. Benzene concentrations were found to be alarmingly high in Athens [22], a fact that renders this pollutant as appropriate for modelling and forecasting.

Fig. 1. Topography of the Greater Athens Area and location of the Air Quality monitoring stations. Patisia station is indicated with red.

2.3 Data Presentation In this paper we use a 2-year long data set of hourly air pollutant concentrations and meteorological information coming from the Patisia monitoring station, one of air quality the stations operating the Greater Athens Area.. Parameters addressed include Benzene (C6H6, µg/m3) carbon monoxide (CO, mg/m3), sulfur dioxide (SO2, µg/m3) relative humidity (RH, %), air temperature (Ta, Co) and wind speed (WS, m/s). In

40

K.D. Karatzas, G. Papadourakis, and I. Kyriakidis

addition the sine and cosine transformation functions are applied for the wind direction (WD=1+sin(θ+π/4)), as they were found to lead to better results papers [6]. The data set used had missing values that were automatically flagged with the value -9999. The criterion applied for excluding a day from the time series, was the 30% of the total values missing. To calculate the missing values of the remaining days, the Lagrange interpolating polynomial (of 6th degree) was applied.

3 Methodologies Applied 3.1 Covariance Calculation In probability theory and statistics, covariance is the measure of how much two random variables varies together, as distinct from variance, which measures how much a single variable varies. The covariance between two real-valued random variables X and Y is defined as [23]:

CovXY =

∑ ( X − X )(Y − Y ) N

Covariance calculation results are presented in Table 1. From Table 1 it’s clear that the highest covariation to benzene is SO2 and CO, indicating that these pollutants are simultaneously present in the atmosphere, and thus providing a hint for common emission sources and association with the life cycle of the city operation. In addition, there is minor covariation from RH and WS. Table 1. Results of covariance of hourly Benzene concentrations to the other characteristics for the time period 2004-2005 (Patisia station)

Covariance of Benzene to:

2004

2004 (%)

2005

2005 (%)

SO2

40.5245

60

61.532

79,7

CO

7.3824

11

7.1475

9,3

RH

13.7737

20

4.1642

5,4

Ta

-2.9822

4

-0.6281

0,8

WS

-3.5233

5

-3.7368

4,8

WD

-0.0040

0

-0.0097

0,0

3.2 Principal Component Analysis Principal component analysis (PCA) is a computational intelligence method originating from multivariate statistical analysis that allows for the identification of the major drives within a certain multidimensional data set and thus may be applied for data

Understanding and Forecasting Air Pollution

41

compression, identifying patterns in data, and expressing the data in such a way as to highlight their similarities and differences. Since patterns in data can be hard to find in high dimensional data, where the luxury of graphical representation is not available, PCA is a powerful tool for such an analysis. The other main advantage of PCA is that once these patterns have been identified the data can be compressed, using dimensionality reduction, without significant loss of information [24]. Table 2 shows the PCA analysis results that represents the relative importance of each feature studied in comparison to hourly benzene concentrations. Kaiser rules of keeping all eigenvalues greater than one [25] indicates that WD feature should be eliminated. The remaining features account for 99.95% of the variation of the data set. In addition to the PCA analysis, before eliminating a feature with small eigenvalue, it’s covariance with the dependent variable must be checked. If a feature with a small eigenvalue has a high covariance with the dependent variance it should not be eliminated. Furthermore, in order to obtain substantial PCA analysis, as a rule of thumb, the results should contain at least three high eigenvalue features [26]. According to Table 1, the covariance between benzene concentrations and wind direction (WD) is found to be close to zero. This fact reinforces the elimination of the WD feature. Table 2. The eigenvalues that created from PCA analysis

Parameters

Eigenvalues (%)

Eigenvalues

SO2

68.518

672.62

CO

28.096

275.81

RH

2.8455

27.933

Ta

0.34162

3.3536

WS

0.14718

1.4448

WD

0.050801

0.49869

3.3 Periodogram and Fourier Transform The discrete Fourier transform of a stationary discrete time series x(n) is a set of N- discrete harmonics X(k) where

X (k ) =

N −1

∑ x ( n)e

− j 2πkn / N

n =0

and it represents the frequency response of x(n). X(k) is complex. The magnitude of X(k) squared, a real value, is called strength and a diagram of all the strength harmonics is called periodogram. When x(n) is real then the periodogram is symmetric and only half of the harmonics are needed. Here x(n) is the hourly benzene concentration time series for year 2004 and 2005.

42

K.D. Karatzas, G. Papadourakis, and I. Kyriakidis

Initially, a test is performed in order to check if x(n) is stationary. In order for x(n) to be stationary is should possess no time dependent trend. Figure 2 illustrates the benzene hourly concentrations time series, the regression line and its moving average. It is clear that these data is non-stationary because the moving average is changing around the horizontal axis and the regression line is:

y = a + bx = 7,6809 − 7,4315 ⋅10

−5

⋅ x ≈ 7,6809

In order to transform the data from non-stationary to stationary the moving average must be subtracted from the time series. Figure 3 shows the transformed stationary time series of benzene, regression line and moving average. It is obvious that the moving average is taking values close to zero and the regression line is:

y = a + bx = 0 ,0109 − 2 ,3791 ⋅ 10

−6

⋅x ≈0

In order to compute the periodogram of the benzene hourly concentrations time series, the Fast Fourier Transformation (FFT) [27] is utilized. The periodogram of benzene is illustrated in Figure 4. The highest values of strength in the periodogram, determine the periodicity of the time series. Table 3 presents the most significant strength values and their corresponding periodicity. The periodicity of Table 4 confirms the original hypothesis that the basic source of benzene is traffic. This is indicated from the periodicity of traffic per week (7-days: highest traffic on working days and less on weekends). Furthermore, the periodicity of 8-hours is very important because it indicates the 8-hour working shift of the working population, since on that period extra traffic occurs. The 24-hour periodicity indicates that there is higher traffic during day time than night time. Overall, benzene

Fig. 2. Non-stationary benzene hourly concentration time series, regression line and moving average

Understanding and Forecasting Air Pollution

43

Fig. 3. Stationary benzene hourly concentration time series, regression line and moving average

Fig. 4. Periodogram of benzene hourly concentration time series (Patisia station) Table 3. The most significant strength values and their corresponding periodicity

C/N 1 2 3 4

Strength 2,36x107 1,92x107 1,35x107 8,30x106

Cycles /Hour 0,0059844 0,125 0,041667 0,16667

Periodicity 7 days 8 hours 24 hours 6 hours

44

K.D. Karatzas, G. Papadourakis, and I. Kyriakidis

hourly concentrations seem to follow the life cycle of the city operation, as the latter is being dictated by transportation. Taking this into account, it is evident that population exposure is expected to be non negligible. 3.4 Artificial Neural Networks In order to model and forecast benzene hourly concentrations, ANNs were applied. For this purpose, the type of the neural network to be utilized was the multilayer perceptron using the backpropagation training algorithm, due to its successful performance in similar air quality related applications. This algorithm was implemented by using the Matlab Neural Network Toolbox. Several (a total of 12) network configurations were implemented and tested during the training phase in order to avoid local minima [28]. Data to be imported to the ANN were firstly normalized, by applying the hyperbolic tangent sigmoid transfer function, which was also applied on the hidden layers. On the output layer the linear transfer function was used. This is a common structure for function approximation (or regression) problems [29], but has also shown good results in similar studies [6]. For the training phase the Levenberg-Marquardt backpropagation algorithm [30] is implemented to the 50% of the data. For the validation phase 25% of the data is used and for testing the remaining 25%. Two distinct methods were used to separate the data. In the first one the data were separated successively as shown in Figure 5. Every four hourly values, two are used for training, one for validation and one for testing. In the second method, the first 50% of the data is used for training, the next 25% for validation and finally the last 25% for testing as shown in Figure 6.

Tr.

Tst

Tr.

Val.



Tr.

Tst

Tr.

Val.

Fig. 5. First separation Method (successively)

Training (50%)

Validation (25%)

Testing (25%)

Fig. 6. Second separation Method

4 Results Table 4 presents the performance results of the different network configurations for data separation using method 1. Configurations 10 and 12 have the best results. Thus, network configuration 10 is chosen since it has one hidden layer, so it’s more simple and faster at the training phase.

Understanding and Forecasting Air Pollution Table 4. Performance results table of different network configuration (Method 1) Patisia Station

Hidden Layers (

)

Output Layer (

) 2

One

Two

Three

n

R

R

Config. 1

5

-

-

61

0,777

0,60

Config. 2

5

5

-

59

0,789

0,62

Config. 3

5

5

5

97

0,788

0,62

Config. 4

10

-

-

66

0,785

0,62

Config. 5

10

10

-

52

0,793

0,63

Config. 6

10

10

10

33

0,786

0,62

Config. 7

15

-

-

51

0,79

0,62

Config. 8

15

15

-

25

0,789

0,62

Config. 9

15

15

15

19

0,791

0,63

Config. 10

20

-

-

66

0,794

0,63

Config. 11

20

20

-

16

0,79

0,62

Config. 12

20

20

20

14

0,794

0,63

Table 5. Performance results table of different network configurations (Method 2) Patisia station

Hidden Layers (

)

Output Layer (

)

One

Two

Three

n

R

R2

Config. 1

5

-

-

25

0,764

0,58

Config. 2

5

5

-

45

0,775

0,60

Config. 3

5

5

5

24

0,777

0,60

Config. 4

10

-

-

16

0,776

0,60

Config. 5

10

10

-

27

0,78

0,61

Config. 6

10

10

10

27

0,78

0,61

Config. 7

15

-

-

43

0,785

0,62

Config. 8

15

15

-

21

0,777

0,60

Config. 9

15

15

15

19

0,778

0,61

Config. 10

20

-

-

63

0,785

0,62

Config. 11

20

20

-

14

0,78

0,61

Config. 12

20

20

20

16

0,779

0,61

45

46

K.D. Karatzas, G. Papadourakis, and I. Kyriakidis

Table 5 presents the performance results of the different network configurations for data separation using method 2. Configurations 7 and 10 with one hidden layer have the best results. The configuration 7 is chosen since it has the best performance with less neurons. Table 6. Statistical indicators of neural network with benzene maximum allowed value set to 5µg/m3

Patisia Station

Benzene maximum value 5 µg/m3 Model 1

Model 2

Observed mean

7,184

7,184

Predicted mean

6,802

6,930

Observed standard deviation

5,003

5,003

Predicted standard deviation

2,507

2,520

Normalised mean difference (NMD)

0,053

0,035

Root mean square error (RMSE)

3,449

3,412

RMSE systematic

0,030

0,030

RMSE unsystematic

0,038

0,038

Correlation coefficient

0,78

0,785

Index of agreement (IA)

0,772

0,777

Mean absolute error (MAE)

2,176

2,163

Mean percentage error (MPE)

0,510

0,523

Mean bias error (MBE)

0,382

0,255

Number of observed alarms

8164

8164

Number of predicted alarms

9178

9425

Number of hours with correct alarm (A) Correct Alarm Rate(%)

7559

7635

82,4%

81%

1619

1790

17,6%

19%

605

523

0,773

0,767

Number of hours with false alarm (C) False Alarm Rate(%) B Critical success index (CSI)

Understanding and Forecasting Air Pollution

47

Table 7. Statistical indicators of neural network with benzene maximum allowed value set to 10µg/m3

Patisia Station

Benzene maximum value 10 µg/m3 Model 1

Model 2

Observed mean

7,184

7,184

Predicted mean

6,802

6,930

Observed standard deviation

5,003

5,003

Predicted standard deviation

2,507

2,520

Normalised mean difference(NMD)

0,053

0,035

Root mean square error (RMSE)

3,449

3,412

RMSE systematic

0,030

0,030

RMSE unsystematic

0,038

0,038

Correlation coefficient

0,780

0,785

Index of agreement (IA)

0,772

0,777

Mean absolute error (MAE)

2,176

2,163

Mean percentage error (MPE)

0,510

0,523

Mean bias error (MBE)

0,382

0,255

Number of observed alarms

3103

3103

Number of predicted alarms

1972

2125

Number of hours with correct alarm (A) Correct Alarm Rate(%)

1682

1794

85,3%

84,4%

290

331

14,7%

15,6%

B

1421

1309

Critical success index (CSI)

0,496

0,522

Number of hours with false alarm (C) False Alarm Rate(%)

For the evaluation of the forecasting performance of the ANNs models, a set of statistical indicators are used to provide a numerical description of the goodness of fit, as proposed by Willmot (1982, 1985) [1]. Table 6 presents the results of forecasting performance with maximum allowed benzene concentration levels of 5 µg/m3 and at Table 7 with the relevant criterion set to 10 µg/m3. It should be noted that these values were selected on the basis of the EU limit values currently posed by EU [31] for the

48

K.D. Karatzas, G. Papadourakis, and I. Kyriakidis

mean annual concentration (brief 2000/69, Table 8), due to absence of a relevant criterion for the hourly concentration level. Observed and predicted standard deviations quantify the amount of the variance the model is capturing compared to the observed data. Two often mentioned measurements of residual error include the mean absolute error (MAE) and the root mean squared error (RMSE) which summarise the difference between the observed and modelled concentrations. The latter can be decomposed in the systematic RMSE, which is due to the model performance and the predictors included, and unsystematic RMSE that is due to residuals, factors that cannot be controlled. A good model is considered to have an unsystematic RMSE much larger than its systematic RMSE. It is observed that our two models have little difference. False alarm rate is the percent of times that an alert day was forecasted but did not actually occur. A reliable model requires not only having a large percentage of successful forecasts but also a percentage of false positives as small as possible (Jorquera et al., 1998) [1]. The critical success index (CSI or Threat score) verifies how well the high pollution events were predicted and it is unaffected by the number of correct forecasts. Table 8. Limits of benzene according to brief 2000/69 EU

Benzene limits Year mean value

Suggested concentration limit values (ȝg/m3) 2005

2006

2006

2008

2009

Maximum allowed value (ȝg/m3)

10

9

8

7

6

5

Overall both models perform satisfactory, with a correct alarm rate more than 80%, among the highest reported in related literature [6-10]. “B” values (the number of observed limit overstepping that hasn’t been predicted) are slightly higher in Model 2.

5 Summary and Conclusions The primary goal of this study was the development of an efficient air quality forecasting model concerning benzene hourly concentration values. For this purpose, air pollutant concentrations and meteorological information have been used. As a first step, periodogram and covariance analysis supports the hypothesis that the basic source of benzene is traffic. Thus, related abatement measures should combine technological interventions to the vehicle system, with traffics volume and speed management and restrictions. Following that analysis, a set of ANNs models were constructed and tested, via incorporating two different data separation (data model) strategies. According to the performance of the models, Model 1 (with twenty neurons in one hidden layer) has the best results (79,4% forecast ability). However, Model 2 has slightly better percentages of correct and false alarms than Model 1.

Understanding and Forecasting Air Pollution

49

In summary, Model 1has a better forecast ability. On the contrary, Model 2 allows a more reliable prediction of European Union limits excess. That is due to the fact that this model has a large percentage of successful forecasts but also a percentage of false forecasted events.

Acknowledgements The authors acknowledge the Ministry of Environment, Physical Planning and Public Works., Dept. of Air Quality, Athens, Greece, for providing with the air quality and meteorological information.

References [1] Slini, T., Karatzas, K., Papadopoulos, A.: Regression analysis and urban air quality forecasting: An application for the city of Athens. Global Nest: the Int. J. 4, 153–162 (2002) [2] Gallant, S.I.: Perceptron-based learning algorithms. IEEE Transactions on Neural Networks 1(2), 179–191 (1990) [3] Kohonen, T.: Self-Organizing Maps, Series in Information Sciences, 2nd edn.1997, vol. 30. Springer, Heidelberg (1995) [4] Hornik, K., Stinchcombe, M., White, H.: Multilayer feedforward networks are universal approximators. Neural Networks 2, 359–366 (1989) [5] Lippman, R.P.: An introduction to computing with neural nets. IEEE ASSP Magazine (1987) [6] Slini, T., Karatzas, K., Mousiopoulos, N.: Correlation of air pollution and meteorological data using neural networks. Int. J. Environment and Pollution 20(1-6), 218–229 (2004) [7] Chelani, A.B., Gajghate, D.G., Hasan, M.Z.: Prediction of ambient PM10 and toxic, metals using artificial neural networks. J. of Air and Waste Management Ass. 52, 805–810 (2002) [8] Comrie, A.C.: Comparing neural networks and regression models for ozone forecasting. J. of Air and Waste Management Ass. 47, 653–663 (1997) [9] Kolhmainen, M., Martikainen, H., Ruuskanen, J.: Neural networks and periodic components used in air quality forecasting. In: Atmospheric Environment, vol. 35, pp. 815–825 (2001) [10] Perez, P., Trier, A.: Prediction of NO and NO2 concentrations near a street with heavy traffic in Santiago, Chile. Atmospheric Environment 35(21), 1783–1789 (2001) [11] Bordignon, S., Gaetan, C., Lisi, F.: Nonlinear models for groundlevel ozone forecasting. Statistical Methods and Applications 11, 227–246 (2002) [12] Huang, L.S., Smith, R.L.: Meteorologically-dependent trends in urban ozone, National Institute of Statistical Sciences, Technical Report 72 (1997) [13] Kim, H.Y., Guldmann, J.M.: Modeling air quality in urban areas: A cell-based statistical approach. Geographical Analysis, 33 (2001) [14] Chen, L.-J., Islam, S., Biswas, P.: Nonlinear dynamics of hourly ozone concentrations: Nonparametric short term prediction. Atmospheric Environment 32, 1839–1848 (1998) [15] Shiva Nagendra, S.M., Khare, M.: Artificial neural network approach for modelling nitrogen dioxide dispersion from vehicular exhaust emissions. Ecological Modelling 190, 99–115 (2006)

50

K.D. Karatzas, G. Papadourakis, and I. Kyriakidis

[16] Zolghadri, A., Monsion, M., Henry, D., Marchionini, C., Petrique, O.: Development of an operational model-based warning system for tropospheric ozone concentrations in Bordeaux, France. Environmental Modelling & Software 19, 369–382 (2004) [17] Kalapanidas, E., Avouris, N.: Short-term air quality prediction using a case-based classifier. Environmental Modelling & Software 16, 263–272 (2001) [18] Barrero, M.A., Grimalt, J.O., Canto´n, L.: Prediction of daily ozone concentration maxima in the urban atmosphere. Chemometrics and Intelligent Laboratory Systems 80, 67–76 (2006) [19] Briggsa, D.J., de Hoogh, C., Gulliver, J., Wills, J., Elliott, P., Kingham, S., Smallboned, K.: A regression-based method for mapping traffic-related air pollution: application and testing in four contrasting urban environments. The Science of the Total Environment 253, 151–167 (2000) [20] Athanasiadis, I.N., Karatzas, K.D., Mitkas, P.A.: Classification techniques for air quality forecasting. In: 17th European Conference on Artificial Intelligence (2006) [21] Kassomenos, P., Karakitsios, S., Papaloukas, C.: Estimation of daily traffic emissions in a South-European urban agglomeration during a workday. Evaluation of several “what if” scenarios. Science of The Total Environment 370, 480–490 (2006) [22] Ch. Chatzis, E., Alexopoulos, A.: Indoor and outdoor personal exposure to benzene in Athens, Greece. Science of The Total Environment 349, 72–80 (2005) [23] Roussos P.L.,Giannis T.: Applied statistics in the social sciences (Second revised publication), Ellhnika Grammata, Athens (2006) [24] Smith, L.I.: A tutorial on Principal Components Analysis (February 26, 2002) [25] Lance, C., Butts, M., Michels, L.: The sources of four commonly reported cutoff criteria: What did they really say? Organizational Research Methods 9, 202–220 (2006) [26] Garson, G.D.: Professor of Public Administration Editor, Social Science Computer Review College of Humanities and Social Sciences, http://www2.chass.ncsu. edu/garson/pa765/factor.htm [27] Wikipedia, The Free Encyclopedia, “Fourier transform”, http://en.wikipedia. org/wiki/Fourier_transform [28] StatSoft, Inc. © Copyright, 1984-2003, “Neural Networks”, http://www. statsoft.com/textbook/stneunet.html [29] Matlab Help. Keywords: Neural Network Toolbox [30] Saini, L.M., Soni, M.K.: Artificial neural network based peak load forecasting using Levenberg-Marquardt and quasi-Newton methods. Generation, Transmission and Distribution, IEE Proceedings 149(5), 578–584 (2002) [31] European Environment Agency and World Health Organisation, Air and Health - Local authorities, health and environment (1999), http://reports.eea.europa.eu/ 2599XXX/en/page008.html

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm Aliakbar Gorji, Mohammad Bagher Menhaj, and Saeed Shiry Amirkabir University of Technology, 424 Hafez Ave., 15914 Tehran, Iran [email protected], [email protected], [email protected]

Abstract. Mobile robot localization is taken into account as one of the most important topics in robotics. In this paper, the localization problem is extended to the cases in which estimating the position of multi robots is considered. To do so, the Joint Probabilistic Data Association Filter approach is applied for tracking the position of multiple robots. To characterize the motion of each robot, we First develop a simple near constant velocity model and then a variable velocity based model is devised. The latter improves the performance of tracking when the robots change their velocity and conduct maneuvering movements. This in turn gives an advantage to explore the movement of the manoeuvring objects which is common in many robotics problems such as soccer or rescue robots. To highlight the merit of the proposed algorithm, we performed some case studies. Simulation results approve the efficiency of the algorithm in tracking multiple mobile robots with maneuvering movements.

1 Introduction The problem of estimating the position of a mobile robot in physical environment is an important problem in mobile robotics. Indeed, because of the intrinsic error embedded in the dead-reckoning of a mobile robot, the data gathered form the odometry are not trustable and, therefore, some operations should be conducted on the crude data to reach more accurate knowledge about the position of a mobile robot. Nowadays, various algorithms are proposed to modify the accuracy of localization algorithms as briefly discussed below. In the field of mobile robot localization, Kalman filter approach [1] plays a significant role. Kalman approach combines the odometry data and the measurements collected by the sensors of a mobile robot to provide an accurate estimation of the robot’s position. Although the Kalman approach has provided a general strategy to solve localization problems, and it is still in use in many localization problems such as mobile robot tracking [2] and Simultaneous Localization and Mapping [3], it suf- fers from some weaknesses. The most significant problem of the Kalman method is its weakness to the state estimation of many real systems in the presence of severe nonlinearities. Actually, in general nonlinear systems, the posterior probability density function of the states given the measurements cannot be presented by a Gaussian C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 51–68. © Springer-Verlag Berlin Heidelberg 2009 springerlink.com

52

A. Gorji, M.B. Menhaj, and S. Shiry

density function and, therefore, Kalman method results in unsatisfactory responses. Moreover, Kalman filter is very sensitive to the initial conditions of the states. Accordingly, Kalman methods do not provide accurate results in many common global localization problems. More recently, particle filters have been introduced to estimate non-Gaussian, nonlinear dynamic processes [4]. The key idea of particle filters is to represent the state by sets of samples (or particles). The major advantage of this technique is that it can represent multi-modal state densities, a property which has been shown to in- crease the robustness of the underlying state estimation process. Moreover, particle filters are less sensitive to the initial values of the states than the Kalman method is. This problem is very considerable in applications in which the initial values of the states can not be properly chosen such as global localization problems. The afore-mentioned power of particle filters in the state estimation of nonlinear systems has caused them to be applied with great success to different state estimation problems including visual tracking [5], mobile robot localization [6], control and scheduling [7], target tracking [8] and dynamic probabilistic networks [9]. Multiple robot tracking is another attractive issue in the field of mobile robotics. This problem can be introduced as the tracking of mobile robots’ position by another one the so called reference robot. Although this problem appears similar to the common localization algorithms, the traditional approaches cannot be used because the reference robot in order to predict the position of other robots does not have access to the odometery data of these robots used in localization algorithms. Moreover, using the particle filter to estimate the position of all robots, also known as combined state space, is not tractable because the complexity of this approach grows exponentially as the number of objects being tracked increases. To remedy the problem of the lack of odometery data, various motion models have been proposed in which no knowledge about external inputs, such as odometery, is necessary. The near constant velocity model is the simplest one. This model has been greatly used in many tracking applications such as aircraft tracking [10], people tracking [11] and some other target tracking applications [12]. Besides this model, some other structures have been proposed usable in some special applications. Near constant acceleration model is a modified version of the previous model which can be applied to the tracking of maneuvering objects [13]. Also, interactive multiple model (IMM) filters represent another tool to track the movement of highly maneu- vering objects where the former proposed approaches are not reliable [14]. Recently, many strategies have been proposed in the literature to address the difficulties associated with multi-target tracking. The key idea of the literature is to estimate each object’s position separately. To do so, the measurements should be assigned to each target. Therefore, data association has been introduced to relate each target to its associated measurements. By combining data association concept with filtering and state estimation algorithms, the multiple target tracking issue can be dealt easier than applying state estimation procedure to the combined state space model. Among the various methods, Joint Probabilistic Data Association Filter (JPDAF) algorithm is taken into account as one of the most attractive approaches. The traditional JPDAF [15] uses Extended Kalman Filtering (EKF) joint with the data association to estimate the states of multiple objects. However, the performance of the algorithm degrades as the non-linearities become more severe. To enhance the performance of

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

53

the JPDAF against the severe nonlinearity of dynamical and sensor models, recently, strategies have been proposed to combine the JPDAF with particle techniques known as Monte Carlo JPDAF, to accommodate general non-linear and non-Gaussian models [16]. The newer versions of the above mentioned algorithm use an approach named as soft gating to reduce the computational cost which is one of the most serious problems in online tracking algorithms [16]. Besides the Monte Carlo JPDAF algorithm, some other methods have been proposed in the literature. In [16], a comprehensive survey has been presented about the most well-known algorithms applicable in the field of multiple target tracking. The Monte Carlo JPDAF algorithm has been used in many applications. In [11], the algorithm presented as sample based JPDAF has been applied for multiple people tracking problem. In [17], the JPDAF has been used for multi-target detection and tracking using laser scanner. But, the problem of tracking multiple robots by a reference robot has not been discussed in the literature. This issue is very important in many multiple robot problems such as the robot soccer. In this paper, the Monte Carlo JPDAF algorithm is considered for the multiple robot tracking problem. The rest of the paper is organized as follows. Section 2 describes the Monte Carlo JPDAF algorithm for multiple target tracking. The JPDAF for multiple robot tracking is the topic of section 3. In this section, we will show how the motion of robots in a real environment can be described. To do so, near constant velocity and acceleration model are introduced to describe the movement of mobile robots. Then, it will be shown how a reference robot can track the motion of the other robots. In section 4, various simulation results are presented to support the performance of the algorithm. In this section, the maneuvering movement of the mobile robot is also considered. The results show the suitable performance of the JPDAF algorithm in tracking the motion of mobile robots in the simulated environment. Finally, section 5 concludes the paper.

2 The JPDAF Algorithm for Multiple Target Tracking In this section, the JPDAF algorithm considered as the most successful and widly applied strategy for multi-target tracking under data association uncertainty is presented. The Monte Carlo version of the JPDAF algorithm uses common particle filter approach to estimate the posterior density function of the states given measurements   P(xt |y1:t ) Now, consider the problem of tracking of N objects. xtk denotes the state of these objects at time t where k=1,2,..,N is the the target number. Furthermore, the movement of each target can be considered by a general nonlinear state space model as follows: xt+1 = f (xt ) + vt yt = g(xt ) + wt

(1)

where the signals vt and wt are the white noise with the covariance matrixes Q and R, respectively. Furthermore, in the above equation, f and g are the general nonlinear functions representing the dynamic behavior of the target and the sensor model. The JPDAF algorithm recursively updates the marginal filtering distribution for each target P(xtk |y1:t ), k=1,2,..,N instead of computing the joint filtering distribution

54

A. Gorji, M.B. Menhaj, and S. Shiry

P(Xt |y1:t ), Xt = x1 , ..., xN . To compute the above distribution function, the following points should be considered:





It is very important to know how to assign each target state to a measurement. Indeed, in each iteration the sensor provides a set of measurements. The source of these measurements can be the targets or the disturbances also known as clutters. Therefore, a special procedure is needed to assign each target to its associated measurement. This procedure is designated as Data Association considered as the key stage of the JPDAF algorithm described later. Because the JPDAF algorithm recursively updates the estimated states, a recursive solution should be applied to update the states in each sample time. Traditionally, Kalman filtering has been a strong tool for recursively estimating the states of the targets in multi-target tracking scenario. Recently, particle filters joint with the data association strategy have provided better estimations specially when the sensor model is nonlinear.

With regard to the above points, the following sections describe how particle filters paralleled with the data association concept can deal with the multi-target tracking problem. 2.1 The Particle Filter for Online State Estimation Consider the problem of online state estimation as computing the posterior probability density function P(xtk |y1:t ) . To provide a recursive formulation for computing the above density function the following stages are presented: •

Prediction stage: The prediction step is proceeded independently for each target as: P(xtk |y1:t−1 ) =





k xt−1

k k k P(xtk |xt−1 )P(xt−1 |y1:t−1 )dxt−1

(2)

Update stage: The update step can be described as follows: P(xtk |y1:t ) ∝ P(yt |xtk )P(xtk |y1:t−1 )

(3)

The particle filter estimates the probability distribution density function P(xtk |y1:t−1 ) by sampling from a specific distribution function as follows: N

P(xtk |y1:t−1 ) = ∑ w˜ ti δ (xt − xti )

(4)

i=1

weight Where i=1,2,...,N is the sample number, w˜ t is the normalized importance p and δ is the delta dirac function. In the above equation, the state xti is sampled from k , y ). the proposal density function q(xtk |xt−1 By substituting the above equation in 1:t equation (2) and the fact that the states are drawn from the proposal function q, the recursive equation for the prediction step can be written as follows: i αti = αt−1

k,i P(xtk |xt−1 ) k,i q(xtk |xt−1 , y1:t )

(5)

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

55

k,i k Where xt−1 is the it h sample of xt−1 . Now, by using equation (3) the update stage can be expressed as the recursive adjustment of importance weights as follows:

wti = αti P(yt |xtk )

(6)

By repeating the above procedure at each time step the sequential importance sampling (SIS) for online state estimation is presented as follows: The SIS Algorithm 1. For i=1: N initialize the states x0i , prediction weights α0i and importance weights wi0 . 2. At each time step t proceed the following stages: 3. Sample the states from the proposal density function as follows: i xti ∼ (xt |xt−1 , y1:t )

(7)

4. Update prediction weights as equation (5). 5. Update importance weights as equation (6). 6. Normalize the importance weights as follows: w˜ ti =

wti N wi Σi=1 t

(8)

7. Set t=t+1 and go to step 3. In the above, for simplicity, the index, k, has been eliminated. The main failure of the SIS algorithm is the degeneracy problem. That is, after a few iterations one of the normalized importance ratios tends to 1, while the remaining ratios tend to zero. This problem causes the variance of the importance weights to increase stochastically over time [18]. To avoid the degeneracy of the SIS algorithm, a selection (resampling) stage may be used to eliminate samples with low importance weights and multiply samples with high importance weights. There are many approaches to implement the resampling stage [18]. Among them, the residual resampling provides a straightforward strategy to solve the degeneracy problem in the SIS algorithm. Using the residual resampling joint with the SIS algorithm can be presented as the SIR algorithm given below: The SIR Algorithm 1. For i=1: N initialize the states x0i , prediction weights α0i and importance weights wi0 . 2. At each time step t perform the following stages: 3. Do the SIS algorithm to sample states xti and compute normalized importance weights w˜ ti .

56

A. Gorji, M.B. Menhaj, and S. Shiry

4. Check the resampling criterion: • If Ne f f > t hresh follow the SIS algorithm. Else • Implement the residual resampling stage to multiply/suppress xti with high/low importance weights. 1 i • Set the new normalized importance weights as w˜ t = N . 5. Set t=t+1 and go to step 3. In the above algorithm, Ne f can be written as:

f

is a criterion checking the degeneracy problem which

Ne f f =

1 ∑Ni=1 (w˜ ti )2

(9)

In [18], a comprehensive discussion has been made on how to implement the residual resampling stage. Besides the STR algorithm, some other approaches have been proposed in the literature to enhance the quality of the STR algorithm such as Markov Chain Monte Carlo particle filters, Hybrid STR and auxiliary particle filters [19]. Although these methods are more accurate than the common STR algorithm, some other problems such as the computational cost are the most significant reasons that, in many real time applications such as online tracking, the traditional STR algorithm is applied to recursive state estimation. 2.2 Data Association In the last section, the STR algorithm was presented for online state estimation. However, the major problem of the proposed algorithm is how one can compute the likelihood function P(yt |xtk ) . To do so, an association should be made between the measurements and the targets. Briefly, the association can be defined as target to measurement and measurement to target association: Definition 1: We will denote a target to measurement association (T→M) by λ˜ = {˜r, mc , mT } where r˜ = r˜1 , .., r˜K and r˜k is defined as follows:  0 If the kth target is undetected r˜k = j If the kth target generates the jth measurement Where j=1,2,...,m and m is the number of measurements at each time step and k=1,2,..,K which K is the number of targets. Definition 2: In a similar fashion, the measurement to target association (M→T) is defined as λ = {r, mc , mT } where r = r1 , r2 , ..., rm and r j is defined as follows: ⎧ 0 If the jth measurement is not associated ⎪ ⎪ ⎨ to any target rj = k If the jth measurement is associated ⎪ ⎪ ⎩ to the kth target

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

57

In both above equations, mT is the number of measurements due to the targets and mc is the number of clutters. It is very easy to show that both definitions are equivalent but the dimension of the target to measurement association is less than the measurement to target association. Therefore, in this paper, the target to measurement association is used. Now, the likelihood function for each target can be written as: m

P(yt |xtk ) = β 0 + ∑ β i P(yti |xtk )

(10)

i=1

In the above equation, β i is defined as the probability that the it h measurement is assigned to the kt h target. Therefore, β i is written as:

β i = P(˜rk = i|y1:t )

(11)

Before presenting the computation of the above equation, the following definition is explained: Definition 3: We define the set ∧˜ as all possible assignments which can be made between the measurements and targets. For example, consider a 3-target tracking problem. Assume that the following associations are recognized between the targets and measurements: r1 = 1, 2, r2 = 3, r3 = 0. Now, the set ∧˜ can be shown in Table 1. Table 1. Simulation parameters Target 1

Target 2

Target 3

0 0 1 1 2 2

0 3 0 3 0 3

0 0 0 0 0 0

In Table 1, 0 means that the target has not been detected. By using the above definition, equation (11) can be rewritten as: P(˜rk = i|y1:t ) = Σλ˜ t ∈∧˜ t ,˜rk = j P(λ˜ t |y1:t ) (12) The right side of the above equation is written as follows: P(λ˜ t |y1:t ) =

P(yt |y1:t−1 , λ˜ t )P(y1:t−1 , λ˜ t ) = P(yt |y1:t−1 , λ˜ t )P(λ˜ t ) P(y1:t )

(13)

In the above equation, we have used the fact that the association vector λ˜ t is not dependent on the history of measurements. Each of the density functions in the right side of the above equation can be presented as follows:

58



A. Gorji, M.B. Menhaj, and S. Shiry

P(λ˜ t ) The above density function can be written as: P(λ˜ t ) = P(˜rt , mc , mT ) = P(˜rt |mc , mT )P(mc )P(mT )

(14)

The computation of each density function in the right side of the above equation is straightforward and can be found in [16]. • P(yt |y1:t−1 , λ˜ t ) Because the targets are considered independent, the above density function can be written as follows: j P(yt |y1:t−1 , λ˜ t ) = (Vmax )−mc Π j∈Γ Prt (ytj |y1:t−1 )

(15)

Where Vmax is the maximum volume which is in the line of sight of the sensors, Γ is the j

set of all valid measurement to target associations and Prt (yt |y1:t−1 ) is the predictive j j likelihood for the (rt )th target. Now, consider rt = k . The predictive likelihood for the kt h target can be formulated as follows:

Pk (ytj |y1:t−1 ) =



P(ytj |xtk )P(xtk |y1:t−1 )dxtk

(16)

Both density functions in the right side of the above equation are estimated using the samples drawn from the proposal density function. However, the main problem is how one can determine the association between the measurements (yt ) and the targets. To do so, the soft gating method is proposed as the following algorithm: Soft Gating 1. 2. 3. 4.

Consider xti,k , i=1,2,..,N, as the samples drawn from the proposal density function For j=1:m do the following steps for the jt h measurement: For k=1:K do the following steps: Compute µ kj as follows: N

µ kj = ∑ α˜ ti,k g(xti,k )

(17)

i=1

Where g is the sensor model and α˜ tk is the normalized weight as presented in the STR algorithm. 5. Compute σ kj as follows: N  T σ kj = R + ∑ α˜ ti,k g(xti,k ) − µ kj )(g(xti,k ) − µ kj

(18)

i=1

6. Compute the distance to the jt h target as follows: 1 d 2j = (ytj − µ kj )T (σ kj )−1 (ytj − µ kj ) 2 7. If d 2j < ε, assign the jt h measurement to the kt h target.

(19)

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

59

It is easy to show that the predictive likelihood presented in equation (16) can be approximated as follows: Pk (ytj |y1:t−1 )  N(µ k , σ k )

(20)

where N( µ k ,σ k) is a normal distribution with mean µ k and the covariance matrix σ k. By computing the predictive likelihood, the likelihood density function is easily estimated. In the next subsection, the JPDAF algorithm is presented for multi-target tracking. 2.3 The JPDAF Algorithm The mathematical foundations of the JPDAF algorithm were discussed in the last sections. Now, we are ready to propose the full JPDAF algorithm for the problem of multiple target tracking. To do so, each target is characterized by the dynamical model introduced by equation (1). The JPDAF algorithm is presented below: The JPDAF Algorithm 1. Initialization: initialize the states for each target as x0i,k , where i=1,2,..,N and 2. 3. 4. 5.

i,k i,k k=1,2,...,K, the predictive importance weights α0 and importance weights w0 . i stages. At each time step t, proceed through the following For i=1:N do the following steps. For k=1:K conduct the following procedures for each target. Sample the new states from the proposal density function as follows. i,k xti,k ∼ q(xt |xt−1 , y1:t )

(21)

6. Update the predictive importance weights as follows. i,k αti,k = αt−1

i,k P(xti,k |xt−1 ) i,k q(xti,k |xt−1 , y1:t )

(22)

Then, normalize the predictive importance weights. 7. Use the sampled states and new observations, yt , to constitute the association vector for each target as Rk = { j|0 ≤ j ≤ m, y j → k} where (→ k) refers to the association between the kt h target and the jt h measurement. To do so, use the soft gating procedure described in the last subsection. 8. Constitute all of possible association for the targets and make the set, Γ˜ , as described by definition 3. 9. Use equation (13) and compute β l for each measurement where l=1,2,..,m and m is the number of measurements. i,k 10. By using equation (10) compute the likelihood ratio for each target as P(yt |xt ) . 11. Compute the importance weights for each target as follows. wti,k = αti,k P(yt |xti,k )

(23)

60

A. Gorji, M.B. Menhaj, and S. Shiry

Then, normalize the importance weights as follows: w˜ ti,k =

wti,k N wi,k Σi=1 t

(24)

12. Proceed the resampling stage. To do so, implement the similar procedure described in the STR algorithm. Afterwards, for each target the resampled states can be pre sented as follows: 1 m(i),k {w˜ ti,k , xti,k } → { , xt } N

(25)

13. Set the time as t=t+1 and go to step 3. The above algorithm can be used for multiple target tracking issue. In the next section, we show how the JPDAF algorithm can be used for multiple robot tracking. In addition, some well-known motion models are presented to track the motion of a mobile robot.

3 The JPDAF Algorithm for Multiple Robot Tracking In the last section, the JPDAF algorithm was completely discussed. Now, we want to use the JPDAF algorithm to the problem of multiple robot tracking. To do so, consider a simple 2-wheel differential mobile robot whose dynamical model is represented as follows:

∆ sr + ∆ sl ∆ sr − ∆ sl cos(θt + ) 2 2b ∆ sr + ∆ sl ∆ sr − ∆ sl (26) yt+1 = yt + sin(θt + ) 2 2b ∆ sr − ∆ sl θt+1 = θt + b where [xt, yt ] is the position of the robot, θt is the angle of robot’s head, ∆ sr and ∆ sl are the distances traveled by each wheel, and b refers to the distance between two wheels of the robot. The above equation describes a simple model presenting the motion of a differential mobile robot. For a single mobile robot localization the most straightforward way is to use this model and the data collected from the sensors set on the left and right wheels measuring ∆ sr and ∆ sl at each time step. But, the above method does not satisfy the suitable results because the data gathered from the sensors are dotted with the additive noise and, therefore, the estimated trajectory does not match the actual trajectory. To solve this problem, measurements obtained from the sensors are used to modify the estimated states. Therefore, Kalman and particle filters have been greatly applied to the problem of mobile robot localization [2, 6]. Now, suppose the case in which the position of other robots should be identified by a reference robot. In this situation, the dynamical model discussed previously is not applicable because the reference robot does not have access the internal sensors of the other xt+1 = xt +

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

61

robots such as the sensors measuring the movement of each wheel. Therefore, a motion model should be defined for the movement of each mobile robot. The simplest method is near constant velocity model presented as follows: Xt+1 = AXt + But Xt = [xt , x˙t , yt , y˙t ]T

where the system matrixes are defined as: ⎞ ⎛ 1 Ts 0 0 ⎜0 1 0 0 ⎟ ⎟ A=⎜ ⎝ 0 0 1 Ts ⎠ 0 0 0 1 ⎞ ⎛ 2 Ts 0 ⎟ ⎜ 2 ⎜T 0 ⎟ B = ⎜ s T2 ⎟ ⎝ 0 s ⎠ 2 0 Ts

(27)

(28)

where Ts refers to the sample time. In the above equations, ut is a white noise with zero mean and an arbitrary covariance matrix. Because the model is considered as a near constant velocity, the covariance of the additive noise can not be so large. Indeed, this model is suitable for the movement of the targets with a constant velocity which is common in many applications such as aircraft path tracking [5] and people tracking [11]. The movement of a mobile robot can be modeled by the above model in many conditions. However, in some special cases the robots’ movement can not be characterized by a simple near constant velocity model. For example, in a robot soccer problem, the robots conduct a maneuvering movement to reach a special target ordinary to the ball. In these cases, the robot changes its orientation by varying the input forces imposed to the right and left wheels. Therefore, the motion trajectory of the robot is so complex that the elementary constant velocity does not result in satisfactory responses. To overcome the mentioned problem the variable velocity model is proposed. The key idea behind this model is using the robot’s acceleration as another state variable which should be estimated as well as the velocity and position of the robot. Therefore, the new state vector is defined as, Xt = [xt , x˙t , atx , yt , y˙t , aty ] , where atx and aty aare the robot’s acceleration along with the x and y axis, respectively. Now, the near constant acceleration model can be written as what mentioned in equation (27), except for the system matrixes are defined as follows [13]: ⎞ ⎞ ⎛ ⎛ a1 0 b1 0 1 0 Ts 0 ⎟ ⎜ 0 b1 ⎟ ⎜ 0 1 0 Ts 0 a1 ⎟ ⎟ ⎜ ⎜ ⎟ ⎟ ⎜ ⎜0 0 1 0 a2 0 ⎟ B = ⎜ b2 0 ⎟ A=⎜ (29) ⎟ ⎟ ⎜ ⎜0 0 0 1 0 a2 ⎟ ⎜ 0 b2 ⎟ ⎜ ⎠ ⎝ b3 0 ⎠ ⎝ 0 0 0 0 exp(−Ts ) 0 00 0 0 0 exp(−Ts ) 0 b3

62

A. Gorji, M.B. Menhaj, and S. Shiry

where the parameters of the above equation are defined as follows:  1 b3 = 1 − exp(−cTs ) c 1 a2 = b3 , b2 = (Ts − a2 ), a1 = b2 (30) c 1 T2 b1 = ( s − a1 ) c 2 In the above equation, c is a constant value. The above model can be used to track the motion trajectory of a maneuvering object, such as the movement of a mobile robot. Moreover, combining the results of the proposed models can enhance the performance of tracking. This idea can be presented as follows: X˜t = α X˜a t + (1 − α )X˜v t

(31)

where X˜a t and X˜v t are the estimation of the near constant acceleration and near constant velocity model, respectively, and α is a number between 0 and 1. Besides the above approaches, some other methods have been proposed to deal with tracking of maneuvering objects such as TMM filters [14]. But, these methods are applied to track the movement of the objects with sudden maneuvering targets which is common in aircrafts. However, in mobile robots scenario, the robot’s motion is not so erratic for the above method to be necessary. Therefore, the near constant velocity model, near constant acceleration model or a combination of the proposed models can be considered as the most suitable structures which can be used to represent the dynamical model of a mobile robot. Afterwards, the JPDAF algorithm can be easily applied to the multiple robot tracking problem.

4 Simulation Results To evaluate the efficiency of the JPDAF algorithm, a 3-robot tracking scenario is considered. Fig.1 shows the initial position of the reference and target robots. To prepare the scenario and implement the simulations, the parameters are presented for the mobile robots structure and simulation environment as Table 2. Now, the following experiments are conducted to evaluate the performance of the JPDAF algorithm in various situations. Table 2. Simulation Parameters Parameters

Description

vl vr b ns Rmax Qs ts tmax

the robot’s left wheel speed the robot’s right wheel speed the distance between the robot’s wheels number of sensors placed on each robot the maximum range of simulation environment the covariance matrix of the sensors’ additive noise Sample time for simulation running Simulation maximum running time

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

63

Fig. 1. Initial Position of Reference and Target Robots and Simulation Environment, nonmaneuvering case

4.1 Local Tracking for Non-maneuvering Movement For each mobile robot, the speed of each wheel is determined as shown in Table 3. Π The initial position of the reference robot is set as [5, 5, 2 ] . Also, the position of the target robots are considered as [8, 2, π ] , [1, 3, Π3 ] and [1, 9, Π4 ] , respectively. To run the simulation, sample time, ts , and simulation maximum running time, tmax , are set as 1s and 200s, respectively. Fig. 2 shows the trajectories generated for each mobile robot. To probe the physical environment, 24 sensors are placed on the reference robot. The sensors provide the distance from the static objects, walls or obstacles, and the dynamic targets. Because the position of each sensor to the robot’s head is fixed, the sensors’ data can be represented as a pair of [r, φ ] where φ is the angle between the sensor and the reference coordination. Also, the covariance of the sensors’ noise is supposed to be:   .2 0 (32) 0 5 × 10E − 4 Now, the JPDAF framework is used to track the trajectory of each robot. In this simulation, the clutters are assumed to be the data collected from the obstacles such as Table 3. Simulation Parameters Robot Number

Left Wheel Speed

Right wheel Speed

1 2 3

.2( Rad S ) .3( Rad S ) .1( Rad S )

.2( Rad S ) .3( Rad S ) .1( Rad S )

64

A. Gorji, M.B. Menhaj, and S. Shiry

walls. To apply the near constant velocity model as described in equation (27), the initial value of the velocity is chosen uniformly between 1 and -1 as follows: x˙t = U (−1, 1)

(33)

y˙t = U (−1, 1)

(34)

where U (.) is the uniform distribution function. Fig. 3 presents the simulation results using the JPDAF algorithm with 500 particles for each robot’s tracking. Simulations justify the ability of the JPDAF algorithm in modifying the intrinsic error embedded in the data collected from the measurement sensor. 4.2 Local Tracking for Maneuvering Movement Now, consider a maneuvering movement for each robot. Therefore, a variable velocity model is considered for each robot’s movement. Fig. 4 shows the generated trajectory for each mobile robot. Now, we apply the JPDAF algorithm for tracking each robot’s position. To do so, three approaches are implemented. Near constant velocity model, near constant acceleration model and combined model described in the last section are used to estimate the states of the mobile robots. Fig. 5-7 shows the results for each robot separately. To compare the efficiency of each strategy, the obtained error is presented for each approach in Tables 4, 5 where the following criterion is used for estimating the error: t

ez =

max (zt − z˜t )2 ∑t=1 , zt = {xt , yt } tmax

(35)

The results show the combined method outperforms relative to the two other approaches.

Fig. 2. The generated trajectory for target robots

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

Fig. 3. The estimated trajectory using the JPDAF algorithm

Fig. 4. The generated trajectory for manoeuvering target robots Table 4. The error for estimating xt Robot Number

Constant Acceleration

Constant Velocity

Combined

1 2 3

.0045 .0112 .0046

.0046 .0082 .0067

.0032 .005 .0032

65

66

A. Gorji, M.B. Menhaj, and S. Shiry Table 5. The error for estimating yt Robot Number

Constant Acceleration

Constant Velocity

Combined

1 2 3

.0082 .0096 .0073

.009 .0052 .0077

.0045 .005 .0042

Fig. 5. The estimated trajectory for robot 1

Fig. 6. The estimated trajectory for robot 2

Multiple Target Tracking for Mobile Robots Using the JPDAF Algorithm

67

Fig. 7. The estimated trajectory for robot 3

5 Conclusion In this paper, the multi robot tracking task using the JPDAF algorithm has been fully investigated. After introducing the mathematical basis of the JPDAF algorithm, we showed how to implement this algorithm on multiple robots. To do so, three different models were represented. The near constant velocity model and near constant acceleration model were first described and, then, these two models were combined so that the accuracy of multi robot tracking is enhanced. Afterwards, simulation studies were carried out in two different stages. First, tracking the non-maneuvering motion of the robots was explored. Later, the JPDAF algorithm was tested on tracking the motion of the robots with maneuvering movements. The simulation results showed that the combined approach provided better performance than the other presented strategies. Although the simulations were explored in the case in which the reference robot was assumed to be stationary, this algorithm can be easily extended to multi robot tracking as well as mobile reference robots. Tndeed, robot’s self localization can be used to obtain the mobile robot’s position. Afterwards, the JPDAF algorithm is easily applied to the target robots according to the current estimated position of the reference robot.

References [1] Kalman, R.E., Bucy, R.S.: New Results in Linear Filtering and Prediction, Trans. American Society of Mechanical Engineers. Journal of Basic Engineering 83D, 95–108 (1961) [2] Siegwart, R., Nourbakhsh, T.R.: Tntoduction to Autonomous Mobile Robots. MIT Press, Cambridge (2004) [3] Howard, A.: Multi-robot Simultaneous Localization and Mapping using Particle Filters, Robotics: Science and Systems T, pp. 201–208 (2005)

68

A. Gorji, M.B. Menhaj, and S. Shiry

[4] Gordon, N.J., Salmond, D.J., Smith, A.F.M.: A Novel Approach to Nonlinear/nonGaussian Bayesian State Estimation. IEE Proceedings F 140(2), 107–113 (1993) [5] Tsard, M., Blake, A.: Contour Tracking by Stochastic Propagation of Conditional Density. In: Proc. of the European Conference of Computer Vision (1996) [6] Fox, D., Thrun, S., Dellaert, F., Burgard, W.: Particle Filters for Mobile Robot Localization, Sequential Monte Carlo Methods in Practice. Springer, New York (2000) [7] Hue, C., Cadre, J.P.L., Perez, P.: Sequential Monte Carlo Methods for Multiple Target Tracking and Data Fusion. IEEE Transactions on Signal Processing 50(2) (February 2002) [8] Ristic, B., Arulampalam, S., Gordon, N.: Beyond the Kalman Filter, Artech House (2004) [9] Kanazawa, K., Koller, D., Russell, S.J.: Stochastic Simulation Algorithms for Dynamic Prob- abilistic Networks. In: Proc. of the 11th Annual Conference on Uncertainty in AT (UAT), Montreal, Canada (1995) [10] Gustafsson, F., Gunnarsson, F., Bergman, N., Forssell, U., Jansson, J., Karlsson, R., Nordlund, P.J.: Particle Filters for Positioning, Navigation, and Tracking. IEEE Transactions on Signal Processing 50(2) (February 2002) [11] Schulz, D., Burgard, W., Fox, D., Cremers, A.B.: People Tracking with a Mobile Robot Using Sample-based Joint Probabilistic Data Association Filters. International Journal of Robotics Research (TJRR), 22(2) (2003) [12] Arulampalam, M.S., Maskell, S., Gordon, N., Clapp, T.: A Tutorial on Particle Filters for Online Nonlinear/Non-Gaussian Bayesian Tracking. IEEE Transactions on Signal Processing 50(2) (February 2002) [13] Tkoma, N., Tchimura, N., Higuchi, T., Maeda, H.: Particle Filter Based Method for Maneuvering Target Tracking. In: IEEE Tnternational Workshop on Tntelligent Signal Processing, Budapest, Hungary, May 24-25, pp. 3–8 (2001) [14] Pitre, R.R., Jilkov, V.P., Li, X.R.: A comparative study of multiple-model algorithms for maneuvering target tracking. In: Proc. 2005 SPTE Conf. Signal Processing, Sensor Fusion, and Target Recognition XTV, Orlando, FL (March 2005) [15] Fortmann, T.E., Bar-Shalom, Y., Scheffe, M.: Sonar Tracking of Multiple Targets Using Joint Probabilistic Data Association. IEEE Journal of Oceanic Engineering 8, 173–184 (1983) [16] Vermaak, J., Godsill, S.J., Perez, P.: Monte Carlo Filtering for Multi-Target Tracking and Data Association. IEEE Transactions on Aerospace and Electronic Systems 41(1), 309– 332 (2005) [17] Frank, O., Nieto, J., Guivant, J., Scheding, S.: Multiple Target Tracking Using Sequential Monte Carlo Methods and Statistical Data Association. In: Proceedings of the 2003 TEEE/TRSJ, Tnternational Conference on Tntelligent Robots and Systems, Las Vegas, Nevada (October 2003) [18] de Freitas, J.F.G.: Bayesian Methods for Neural Networks, PhD thesis, Trinity College, University of Cambridge (1999) [19] Moral, P.D., Doucet, A., Jasra, A.: Sequential Monte Carlo Samplers. J. R. Statist. Soc. B 68, Part 3, 411–436 (2006)

An Artificial Market for Emission Permits Ioannis Mourtos and Spyros Xanthopoulos Department of Economics, University of Patras, 26504 Rio, Greece [email protected] Department of Management Science and Technology, Athens University of Economics and Business, 104 34 Athens, Greece [email protected]

Abstract. This paper presents an artificial, i.e. computer-based, market that models various auctions for emissions permits. A brief analysis of the existing auctions for emission permits provides the motivation for introducing a new type of auction that generalizes known mechanisms. This auction type and its implications are mainly analyzed through the artificial market presented here. The market uses a genetic algorithm that simulates the evolving behavior of bidders. Experimental analysis conforms to game-theoretical results and suggests that the proposed auction is efficient in terms of forcing players to reveal their true valuations.

1 Introduction Although market-based mechanisms have long ago been proposed as a environmental policy tool, they have recently attracted strong interest because of their inclusion in the flexible mechanisms of the Kyoto Protocol. In brief, these flexible mechanisms include the following (Caplan, 2003): (i)

Emission quotas for each Annex I country, calculated with respect to base-year emissions (where 1990 is the commonly used base-year), which should not be exceeded within the first commitment period of the protocol (i.e. 2008-2012). (ii) Trading of emission permits by countries or by individual companies, where tradable permits are defined as a percentage of each country's emission quotas. (iii) Further trading of emission credits, generated either by domestic sinks, or by the Joint Implementation (JI) and Clean Development (CDM) mechanisms allowed by the Kyoto protocol. It is worthwhile to notice that even countries (like the US) that have not ratified the Protocol have long initiated certain emissions markets, the most characteristic example being the auction for SO2 allowances operated by the Environmental Protection Agency (EPA) of the US (Cason & Plott 1996, Svendsen & Christensen 1999). An analogous scheme has been employed by the corresponding EPA of China (Changhua & Friedman 1998). There exist numerous other systems for trading and transferring GHG emissions (Hasselknippe, 2003) at various stages of preparation or operation. These markets allow the trading of either permits or credits or both and use standard auction types in order to allocate those permits among potential buyers. An auction that takes into account the particularities of those markets introduced in Mourtos et al. C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 69–76. © Springer-Verlag Berlin Heidelberg 2009 springerlink.com

70

I. Mourtos and S. Xanthopoulos

(2005). That auction is called the pay-convex auction and aims at revealing the true valuations of bidders, i.e. the marginal cost of reducing CO2 emissions, also called marginal abatement costs (MAC). In this work, we present an artificial market, i.e. a computer-based market that simulates the behavior of players in various auctions types, assuming that each auction is performed for a single unit and in multiple rounds. Artificial markets have recently attracted strong attention as a tool for modeling risk attitudes and evolving behavior in capital markets (see for example Noe et al. 2003) and also for assessing the comparative performance of trading mechanisms. Hence, our work contributes in this direction, while also providing experimental evidence in support of the payconvex auction. The remainder of this paper is organized as follows. Standard auction types and existing auctions for emission allowances are discussed in Section 2, while a new type of auction is presented in Section 3. The artificial market for evaluating the various auction types is presented in Section 4, while experimental results are discussed in Section 5.

2 Types of Auctions We examine sealed bid auctions, namely first and second price auctions, with independent and identically distributed private values (for related definitions, see Milgrom, 2004). In the first price sealed-bid auction, each bidder submits one bid in ignorance of all other bids. If a single unit is being auctioned, the highest bidder wins and pays the amount she has bid. When there is more than one unit for sale, sealed bids are sorted from high to low, and items are awarded at highest bid price until the supply is exhausted. Hence, each bidder acquires her unit at a (possibly) different price, thus this generalization of the first price auction is called a discriminatory (or pay-the-bid) auction. In the second price sealed-bid auction, the item is awarded to the highest bid at a price equal to the second-highest bid. It is well known that the single dominant strategy for each bidder is to reveal her true valuation. When auctioning multiple units, all winning bidders pay for the items at the same price, i.e. the highest losing price. Therefore, this generalization of the second-price auction for the case of multiple units is called a uniform auction. There exist a number of known arguments (Krishna, 2002), which favor the selection of first-price rather than second-price auctions, at least in the case of carbon permits. First, it is known that revenue is the same for both auctions (by the RevenueEquivalence Theorem). Further, the distribution of prices in a second-price auction is a mean-preserving spread of those in a first-price one, therefore first-price auctions could provide more concise price signals. Finally, revenue is larger in the first price auction, if players are risk-averse. In fact, specifying the price to be paid by the winning bidder, i.e. the pricing rule, is an important issue on itself, since it evidently affects the bidders' behavior. In the case of pay-the-bid pricing, the bidder attempts to estimate the lowest winning bid bmin and then set her bid at slightly higher value. Bids in excess of bmin are clearly lost

An Artificial Market for Emission Permits

71

utility. With uniform pricing though, predicting the clearing price is less important, since every winner pays the clearing price regardless of her actual bid. Further, at a discriminatory auction, all transacting bids affect the different transaction prices, while uniform pricing implies that only the bids and asks near the clearing price affect the transaction price. Two auctions for emissions permits (SO2), already in operation, are the auction of Environmental Protection Agency (EPA) in the US (Cason & Plott 1996, Svendsen & Christensen 1999) and the auction held by the corresponding Chinese governmental agency (Changhua & Friedman 1998). Both auctions define variants of the first-price auction, their difference lying in the matching rule employed to allocate bids to asks. In the US EPA auction, the bids are arranged in descending order, whereas the asks are arranged in ascending order. The lowest ask is matched with the highest bid and the trade occurs at the bid price. It follows that auction leads to lower asking prices receiving higher trading priority and thus being matched to higher received prices. The seller strategies inherent in the EPA auction have been analyzed in Cason & Plott (1996), where it is shown that sellers' asks are biased downwards by the specific matching rule i.e. that of the lowest minimum price being matched to the highest remaining bid. At the auction employed by the Chinese EPA, the matching rule assigns the highest bid to the highest ask, the second highest bid to the second highest ask (as long as the bid value exceeds the asking price) and so on, until no remaining bid exceeds any of the remaining asks. Although this appears as a rather slight modification of the EPA auction in the US, its implications with respect to trading volume and players' attitudes are substantial. Without entering a technical discussion, we should note that this auction maximizes trading volume for any given set of bids and asks. Hence, both auctions are discriminative towards the buyers and attempt to transfer the utility surplus to the sellers. Essentially, the buyers are challenged to reveal their marginal abatement costs and acquire emission allowances at zero profit. However, the US auction suffers from possible underestimation of sellers' values, the opposite being the disadvantage of the Chinese auction. Uniform-pricing could resolve these issues but without maintaining the same trading volume (Milgrom, 2004). Finally, none of these auctions takes into account sellers' prices concerning the price of the transaction. This is the point where this paper's contribution could be utilized.

3 A New Auction Type Observe that, while buyers face a pay-the-bid pricing rule, sellers face an inverse rule, which could be called pay-the-ask, in the sense that sellers “bid” at a price but the transaction is cleared at the price of the buyers. Let us then assume that this pricing rule is, instead, applied to the buyers. In more detail, higher bids still win but the price of the transaction is the reservation price of the seller, as long as this is smaller than the winning bid. Evidently, buyers can offer high bids, thus challenged to reveal their abatement costs, without risking a high transaction price. In particular, such a rule could be useful for a government (or any non-profit authority) auctioning permits and aiming at minimizing the financial impact for the buyers. Further, if the government

72

I. Mourtos and S. Xanthopoulos

applies the same reservation price to all units being auctioned, this reservation price could serve the clearing price of a uniform auction (or that of a carbon tax). Such an approach suffers from an obvious weakness: buyers could bid at arbitrarily high values, since these values would not affect the actual price to be paid. This disadvantage could be counteracted if buyers' bids are also taken into account and this is exactly achieved by the pricing rule adopted by the pay-convex auction. That rule sets the price of the transaction equal to a convex combination of buyer's bid and the seller's ask. Hence, the pay-convex auction can be summarized in the following steps. Step I Step II Step III Step IV

Announce the numbers of buyers N and the value of a constant e, 0 1 , respectively. Proof When If

γ = 1 , apparently, the measure is additive.

γ < 1 , then

( w( S aα, β ) + L + W ( S bα, β )) γ −1 − 1 > 0 since

w( S aα, β ) + L + W ( S bα, β ) ≤ 1 and γ − 1 < 0 .

Thus the measure is superadditive.

(11)

128

M. Tsunoyama et al.

If

γ > 1 , the following equation holds:

( w( S aα, β ) + K + w( S bα, β )) γ − ( w( S aα, β ) + L + W ( S bα, β )) = ( w( S aα, β ) + L + W ( S bα, β )) •

(12)

(( w( S aα, β ) + L + W ( S bα, β )) γ −1 − 1) < 0, w( S aα, β ) + L + W ( S bα, β ) ≤ 1 and γ > 1 . Thus the measure is subadditive.

since

Q.E.D 3.3 Fuzzy Integral and the Possibility of Faults Several fuzzy integrals have been proposed such as Sugeno's and Choque's[9]. In our method, the fuzzy integral based on Choque integral is used. At first fuzzy integral for every group is made according to the following definition. Definition 2. Fuzzy integral for a group based on the Choque integral.

α

is given by the following equation that is

h(α ) = (c) ∫ µ dg nα

=

∑ (µ (S α β ) − µ (S α

j −1, β

j,

j =1

where

)) ⋅ g ( Aαj , β )

(13)

α ∈ {υ , e, a, d }

X βα = {S1α,β , S 2α, β ,⋅ ⋅ ⋅⋅, S nα∂ , βα }

Aiα, β = {S aα, β ,⋅ ⋅ ⋅S αj , β ,⋅ ⋅ ⋅S bα, β } ⊂ X βα

µ : X βα → [0,1] g :2

X βα

→ [0,1]

0 ≤ µ ( S aα, β ) ≤ ⋅ ⋅ ⋅ ≤ µ ( S αj , β ) ≤ ⋅ ⋅ ⋅ ≤ µ ( S bα, β ) ≤ 1

Aaα, β ⊃ ⋅ ⋅ ⋅ ⊃ Aαj , β ⊃ ⋅ ⋅ ⋅ ⊃ Abα, β Then the possibility of a fault is determined by the fuzzy integral defined by the following definition using the above result of fuzzy integral for every group and the weights of groups: Definition 6. Possibility of fault, fk , is given by the following fuzzy integral using the results of fuzzy integral for every group and the fuzzy measures for groups.

An Application of Fuzzy Measure and Integral for Diagnosing Faults

P( f k ) = (c) ∫ h dg

129

(14)

= ∑ (h(l ) − h(l − 1) ⋅ g ( Al )) l∈X X = {υ , e, a, d } Al ⊂ X 0 ≤ h(l − 1) ≤ h(l ) ≤ 1 Al −1 ⊃ Al

g ( Al ) = ( ∑ w(α )) γ α ∈Al

In the definition, w(α ) is the weight of group

α

and satisfies the following property.

Property 3. The following equation holds for the weight of groups.

∑ w(α ) = 1

(15)

α ∈{v ,e , a , d }

0 ≤ w(α ) ≤ 1.0, w(α ) ∈ R The procedure for obtaining the possibility of fault is shown as follows; Procedure 1 (1) Calculate the ratios for spectra. (2) Determine the fuzzy degree for spectra in each group. (3) Form the fuzzy integral for every group. (4) Calculate the possibility of fault by making fuzzy integral for a fault.

4 Example of Diagnosis and Evaluation of the Method 4.1 Example of Diagnosis The following example shows the diagnosing process for a fault. In the example, the fault “RotorContact (static)” is diagnosed. (1)Calculate the ratios for spectra First, calculate the ratio of spectra from the amplitude of input spectra in each group. The ratios for spectra in each group and their weights are shown in Table 3 (2) Determine the fuzzy degree for spectra in each group Then determine the fuzzy degree for spectra using the above ratios and the membership functions. The fuzzy degrees are shown in Table 4.

130

M. Tsunoyama et al. Table 3. Input spectra with their ratios and weights

Spectrum

r ( S iα, β )

w( S iα, β )

S1v,CCH

0.09

0.1

S 2v,CCH

0.566

0.27

S

v 3, CCH

0.222

0.27

S

v 4 ,CCH

0.222

0.26

S 5v,CCH

0.163

0.1

S1e,CCH

0.533

0.33

S 2e,CCH

0.267

0.33

S 3e,CCH

0.26

0.34

Acceleration

S1a,CCH

0.727

1

Direction

RCCH / CH

1

1

Velocity

Envelope

Table 4. Fuzzy degrees for spectra

Spectrum

µ ( S iα, β )

S1v,CCH

0.977

S

v 2 ,CCH

0.704

S

v 3, CCH

0.681

S 4v,CCH

0.385

S 5v,CCH

1.0

S1e,CCH

0.556

S 2e,CCH

0.556

S 3e,CCH

1.0

Acceleration

S1a,CCH

1.0

Direction

RCCH / CH

0.989

Velocity

Envelope

(3) Form the fuzzy integral for every group Next, form the fuzzy integral for every group. In this example be 1.0 to trace the procedure easily.

γ

is assumed to

An Application of Fuzzy Measure and Integral for Diagnosing Faults

131

h(υ ) = µ ( S 4υ, CCH ) × g ({S1υ,CCH , S 2υ, CCH , S3υ, CCH , S 4υ, CCH , S5υ, CCH }) + ( µ ( S3υ, CCH ) − µ ( S 4υ, CCH )) × g ({S1υ, CCH , S 2υ,CCH , S3υ,CCH , S5υ,CCH }) + ( µ ( S 2υ, CCH ) − µ ( S3υ, CCH )) × g ({S1υ, CCH , S 2υ,CCH , S5υ,CCH }) + ( µ ( S1υ, CCH ) − µ ( S 2υ,CCH )) × g ({S1υ,CCH , S5υ,CCH }) + ( µ ( S5υ, CCH ) − µ ( S1υ,CCH )) × g ({S5υ, CCH }) = 0.385 + 0.219 + 0.11 + 0.55 + 0.002 = 0.672

h (e) = µ ( S 2e,CCH ) × g ({S 1e,CCH , S 2e,CCH , }) + ( µ ( S 1e,CCH ) − µ ( S 2e,CCH )) × g ({S 1e,CCH , S 3e,CCH }) + ( µ ( S 3e,CCH ) − µ ( S 1e,CCH )) × g ({S 3e,CCH }) = 0.556 + 0 + 0..151 = 0.707

h( a ) = µ ( S1a,CCH ) × g ({S1a,CCH }) = 1.0 h( d ) = µ ( R1d ) × g ({R1d }) = 0.989 × 1.0 = 0.989 (4) Calculate the possibility of a fault by making fuzzy integral Finally, determine the possibility of a fault. In this example, the value of the weights for the groups are assumed to be w(υ ) = 0.6 , w(e) = 0.15 ,

w(a ) = 0.05 , and w(d ) = 0.2 . P(RotorContact(static)) =

h(υ ) × g ({υ , e, a, d }) + ( h(e) − h(υ )) × g ({e, a, d })

+ (h(d ) − h(e)) × g ({a, d }) + (h( a ) − h( d )) × g ({a}) = 0.672 * 1.0 + (0.707 − 0.672) × 0.4 + (0.989 − 0.707) × 0.25 + (1.0 − 0.989) × 0.05 = 0.758 The possibility of the fault, RotorContact (static), is obtained as 0.758 by this procedure. 4.2 Evaluation of the Method In the evaluation, we used test data and field data. The test data was generated by skilled engineers to evaluate the method, and field data are measured amplitude of spectra from rotating machines in a plant. The evaluation was made by comparing the possibility of faults obtained by this method with the correct fault diagnosed by skilled engineers. (1) Results of diagnosis of test data The following table shows the result of the evaluation for test data.

132

M. Tsunoyama et al. Table 5. Result of evaluation for test data

Data

Target fault

Test data1

Unbalance

Test data2

Misalignment

Test data3

Unbalance and Misalignment

Result of diagnosis Fault name Unbalance Wear of basis Misalignment Wear of basis Wear of basis Misalignment Unbalance

Possibility[%] 100.0 78.3 99.0 88.3 80.4 78.8 54.1

In the above table, "Target fault" column shows the correct fault for test data determined by skilled engineers. The "Result of diagnosis” are top two or three faults having high possibilities obtained by this method. The above table indicates that the target faults for Test data 1 and 2 have the highest possibility but the target faults for Test data 3 have the second and third possibilities. Moreover, the fault, Wear of basis, always has high possibilities. From this result, we can see that the membership functions and the weights for spectra/groups must be adjusted to get proper fuzzy degrees and fuzzy measures. We can also see from Test data 3, that the exponent γ for fuzzy measure should be improved for multiple faults occurring in a machine. (2)Results of diagnosis of field data The following table shows the result of the evaluation for field data. Table 6. Result of evaluation for field data

Data Field data1 Field data2 Field data3 Field data4

Correct fault Wear of basis Misalignment Wear of basis Misalignment

Result of diagnosis Fault name Possibility[%] Wear of basis 71.8 Misalignment 71.5 Wear of basis 92.4 Misalignment 91.6 Wear of basis 90.3

From the Table, we can see that the correct faults for all data have the highest possibilities, but wear of basis also has high possibility in Field data 4.

5 Conclusion This paper shows a method for diagnosing faults in rotating machines using fuzzy measures and integrals, and proposes a fuzzy measure that can be determined with little computation time. The knowledge of skilled engineers is represented by the

An Application of Fuzzy Measure and Integral for Diagnosing Faults

133

syndrome matrix. The matrix includes the ratio of the amplitude of spectra generated by faults and the weights of spectra which indicate how much the spectra affect the diagnosis by skilled engineers. The membership functions for fuzzy set of spectra are composed using three values, Min, Mid, and Max in the matrix. and the fuzzy measure is determined using weights of spectra and the weight of groups. The results of the evaluation show that almost all single faults have the highest possibilities, but multiple faults do not. In future work, we are going to adjust the membership functions and weights for spectra and groups. Also, we are going to improve the exponent γ for fuzzy measure to obtain high possibilities for multiple faults.

References [1] Bloch, H.P.: Practical Machinery Management for Process Plants: Improving Machinery Reliability, 3rd edn., vol. 1. Gulf Publishing Company (1998) [2] Chen, P., Feng, F., Toyoda, T.: Sequential Method for Plant Machinery by Statistical Tests and Possibility Theory. REAJ 24(4), 322–331 (2002) [3] Durkin, J.: Expert Systems Design and Development. Prentice Hall, Englewood Cliffs (1994) [4] Marinai, L., Singh, R.: A Fuzzy Logic Approach to Gas Path Diagnostics in Aeroengines. In: Computational Intelligence in Fault Diagnosis. Springer, Heidelberg (2006) [5] Okuno, T., Tsunoyama, M., Ogawa, M., Sato, T.: A Fuzzy Expert System for Facility Diagnosis of Rotating Machines. In: Proc. of the 2nd IASTED International Conference Neural Networks and Computational Intelligence, pp. 297–301 (2004) [6] Goldman, S.: Vibration Spectrum Analysis. Industrial Press Inc. (1999) [7] Zadeh, L.A.: Fuzzy sets and applications. Wiley-Interscience publication, Chichester (1987) [8] Wang, Z., Klir, G.J.: Fuzzy Measure Theory. Plenum Pub. (1992) [9] Grabis, M.ch., Murofushi, T., Sugeno, M.: Fuzzy Measures and Integrals. Physica-Verlag (2000) [10] Yager, R.R.: Some relationships between possibility, truth and certainty. Fuzzy Sets and Systems 11, 151–156 (1983)

A Multi-agent Architecture for Sensors and Actuators’ Fault Detection and Isolation in Case of Uncertain Parameter Systems Salma Bouslama Bouabdallah1, Ramla Saddam2, and Moncef Tagina2 1

National Engineering School of Tunis Campus universitaire, BP 37, 1002 Tunis, Tunisia 2 National School of Computer Sciences Campus Universitaire, 2010 Manouba, Tunisia

Abstract. In this work, a multi-agent system for fault detection and isolation is proposed in case of faults affecting sensors and actuators of bond graph modelled uncertain parameter systems. The diagnostic system is composed of different agents cooperating and communicating through messages exchange, each agent is specialized in a specific task of the diagnosis process. Detection and isolation routines are based on residuals processing. Residuals are obtained from bond graph model. To illustrate our approach, a hydraulic system in case of 5% of uncertainties is simulated under Matlab/Simulink environment. The diagnostic system is implemented in JADE environment and has shown good detection and isolation results.

1 Introduction Due to the increasing size and complexity of modern processes, their safety and their efficiency become very important. The aim of our work is to keep process in a good level of safety. Presently, fault detection and isolation is an increasingly active research domain. A process is in a defective state if causal relations between its known variables changed [3]. A widespread solution for fault detection and isolation is to use analytical model-based redundancy [9]. The choice of a modelling formalism is an important step for fault detection and isolation because the quality of redundancy relations depends on the quality of the model. In the frame of our work we chose Bond graph modelling. In fact the Bond graph is a powerful tool used for modelling dynamical systems. Thanks to its provided information, bond graph can be used directly to generate analytical redundancy relations between known variables [15]. In [14], formal specifications of a hybrid Bond graph modelling paradigm and a methodology for monitoring, prediction and diagnosis of abrupt faults in complex dynamic systems are developed. Furthermore, the progress of control theory has allowed increasing product quality, and reducing production cost. This progress makes possible designing more complex processes which in turn need further advanced methods for monitoring and supervision. C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 135–147. springerlink.com © Springer-Verlag Berlin Heidelberg 2009

136

S.B. Bouabdallah, R. Saddam, and M. Tagina

Multi-agent systems are best suited for applications that are modular, decentralized, changeable, ill-structured and complex [17]. Besides a multi-agent architecture is flexible, it can be adapted to many applications and can be distributed on many machines [11]. In a multi-agent system, there are several types of interaction between agents: Interaction can be cooperation (agents work together for a special goal), coordination and negotiation (Different parts search for a common accord) [2]. A multi-agent architecture in which different agents cooperate and communicate improves diagnosing complex processes. In fact, multi-agent approach reduces complicated tasks which are decomposed into sub-problems. Besides, due to the fact that different types of systems as well as different types of faults require different types of algorithms to obtain the best results, it is reasonable to expect that a significant improvement of FDI system performance can only be achieved when FDI problems are solved in a framework of integrated use of different FDI technologies [16]. Multi-agent systems are appropriated for representing problems which can be resolved with different methods. So, they are feeble due to redundancy [2]. Recent research on agent-based approaches for diagnostic purposes can currently be seen in Europe, Japon and the United States [17]. Multi-agent architectures have been used in many diagnosis projects. The project “MAGIC” is based on a multi-level-multi-agents architecture which integrates all levels necessary for a comprehensive diagnosis into a diagnostic system [16]. Besides, the magic framework offers a number of diagnostic algorithms which can run in parallel to detect a certain component fault at a given sub-system which helps to obtain the best results. Another multi-agent system for monitoring and diagnosis was also developed within the framework of the EU Esprit Program: “DIAMOND: DIstributed Architecture for MONitoring and Diagnosis” in which the basic technologies that were applied are CORBA, FIPA_ACL, JAVA and XML. In DIAMOND, the interaction of the software agents forms a modular multi-agent architecture with a heterogeneous and hierarchical distribution [18]. In [8], artificial agents are implemented for supervision in the area of physical hydraulic, each modelling a specific cognitive style, based on qualitative reasoning, categorization and case-based reasoning. For sharing design information in a distributed engineering team, [12] proposes a solution in which specialists and the programs they use, are modelled as agents who share a common communication language and ontology. In this work, elements of the state, input and output vectors are described in terms of bond graph. We have proposed in [4] a conception of a multi-agent architecture for fault detection and isolation composed of a blackboard and a set of agents, communication between agents is established through the blackboard which is divided into different abstraction levels and via messages exchange. This paper proposes a multi-agent system for fault detection and isolation of bond graph modelled uncertain parameter systems in case of faults affecting sensors and actuators. In this work the proposed multi-agent system is based on messages exchange between agents. In section 2, different agents as well as their structure are presented. Communication between agents is described in section 3. Simulation example is exhibited in

A Multi-agent Architecture for Sensors and Actuators’

137

section 4. Multi-agent system implementation is described in section 5 and results are presented in section 6. And finally conclusions and future work are in section 7.

2 Agents Description The proposed multi-agent system for fault detection and isolation is composed of a set of autonomous agents which constitute software components responsible for specific tasks. The interaction of the software agents forms a modular multi- agent architecture with a heterogeneous and hierarchical distribution. Agents cooperate to ensure the diagnosis process. These agents belong to one of the following: 1°) Acquisition agents: Their task consists in accessing data from variables to be supervised (known variables). 2°) Detection agents: Their task consists in detecting faults by residual processing. 3°) Isolation agents: They can isolate a detected fault at level of a known variable using different methods. 4°) User interface agent: its main task consists in offering to user a comprehensible interface. 2.1 Data Acquisition Agent The interface between the Diagnosis system and variables to be supervised is performed by Data Acquisition agents. An acquisition agent is associated with each known variable; the acquisition agent can so access the measurements of the corresponding known variable. 2.2 Detection Agents We have proved in [5] that Binary logic allows performing good detection and isolation results if the threshold is correctly chosen and if the values of parametric uncertainty are known. However, when uncertainty is faulty estimated, detection with binary logic is not suitable whereas the fuzzy proposed approach allows performing good fault detection and isolation results. So we propose to implement both binary logic detection agents and fuzzy logic detection agents to obtain the best detection results. The detection agents take measures of variables to be supervised from data acquisition agents. Each binary logic detection agent is associated with a residual, it contains a routine for calculating the residual and a detection procedure based on residual processing. The detection procedure is based on binary logic consisting on a test of residuals amplitude using a threshold to decide whether residual is in normal state or in faulty one. However, fuzzy logic detection agent calculates and processes all residuals by a fuzzy routine to decide whether system is in normal functioning mode or in faulty mode. Detection agent result is called fault-index, it is equal to 0 in fault-free context and equal to 1 in the occurrence of a fault.

138

S.B. Bouabdallah, R. Saddam, and M. Tagina

2.3 Isolation Agents A set of different isolation agents are proposed. Each agent is specialized in an isolation method. The proposed isolation methods use respectively binary logic, fuzzy logic, Probabilistic Neural Network (PNN) and Multi-layer Perceptron (MLP). Binary logic-based isolation agent uses signatures to isolate the fault. In fact, it compares fault signatures to the coherence binary vector obtained by combining binary logic detection agents’ results (fault-indexes). Fuzzy logic- based agent establishes a fuzzy processing of all residuals in order to isolate the fault. However, PNN-based and MLP-based isolation agents calculate and process residuals which constitute inputs of PNN and MLP. PNN has one output, it is trained to present 1 in normal functioning mode, 2 in case of a fault affecting the first known variable… However MLP is trained to present, at each output, 0 if the associated known variable is in normal state and 1 if it is faulty. Isolation results are communicated to user interface agent to be displayed for the user. The description of the detection and isolation methods in detail is out of the objective of this paper. 2.4 User Interface Agent User interface agent offers to the user a convivial interface in which diagnosis process can be initialized, user can select one or more diagnosis methods and results are displayed. 2.5 Agents Structure Agents’ structure is inspired from MAGIC in which diagnostic agents are composed of the following parts: 1°) The Brain or diagnostic specific layer: responsible for symptom creation using diagnostic algorithms based on system models. 2°) Communication layer: responsible for all basic communication and administration tasks 3°) Generic diagnostic layer: responsible for basic diagnostic features, such as acquiring data or models from a data base. In the proposed Detection agents, the brain is responsible for residual calculation and processing using a specified detection method like binary logic or fuzzy logic. The generic diagnostic layer is responsible for acquiring known variables values (see figure 1). This architecture is extended to isolation agents, user interface agents and acquisition agents including two main parts: 1°) The communication interface including the communication layer and generic diagnostic layer. 2°) The Brain which contains all agent specific tasks like data acquisition for acquisition agents, isolation procedures for isolation agents…

A Multi-agent Architecture for Sensors and Actuators’

139

Diagnostic specific layer

Brain Residual

Residual

Calculation

processing routine

Generic diagnosis layer Communication layer Communication interface

Fig. 1. Detection agent structure

3 Communication Detection agents, isolation agent, acquisition agents and user interface agent are interacting and co-operating with each other in order to perform the common task of diagnosing the system. They communicate via messages exchange in the following way: - User interface agent is linked to the user, if user initializes diagnostic process, user interface agent informs acquisition agents to start data acquisition and detection or isolation agents concerned with selected diagnosis methods to start detection or isolation procedures. Besides, diagnosis results obtained at level of detection or isolation agents are communicated to the user interface agent to be displayed for the user. - Acquisition results obtained at level of Acquisition agents are communicated to detection agents or isolation agents to start diagnostic procedure. - In case of binary logic, detection agents communicate between them and communicate with isolation agent. In fact, if fault-index at level of a detection agent is equal to 1, it informs the isolation agent and sends its fault index to it. Besides, it informs other detection agents, so they communicate their fault indexes to the isolation agent in order to isolate the fault. So isolation procedure starts. (see figure 2). - In case of fuzzy logic method, there is one detection agent which communicates with the isolation agent. In fact, if its fault-index is equal to 1, it informs and

140

S.B. Bouabdallah, R. Saddam, and M. Tagina

Acquisition Agents

Isolation Agent

Detection Agent

Detection Agent

Detection Agent

User interface agent Fig. 2. Agents communication in case of binary logic method

Isolation Agent

Acquisition Agents

Detection Agent

User interface agent Fig. 3. Agents communication in case of fuzzy logic method

sends residual values to the isolation agent. So isolation procedure starts (see figure 3). - In case of PNN and MLP diagnostic methods, there is not detection agents, isolation agent can decide whether system is in normal or in faulty mode and isolate the fault when system is faulty (see 2.3). Isolation agent takes measurements of known variables from acquisition agents, calculates and processes residuals using the PNN or the MLP. And finally results are communicated to user interface agent (see figure 4).

A Multi-agent Architecture for Sensors and Actuators’

Isolation Agent

141

Acquisition Agents

User interface agent Fig. 4. Agents communication in case of PNN and MLP methods

4 Simulation Example Our approach is illustrated with a simulation example, it is a hydraulic system (see figure 5) composed of three tanks communicating through vanes functioning in binary mode. It is assumed that vanes are at the mode ‘on’.

C2 .

C1

C3

Df1

Df2 MSf2

MSf1

Fig. 5. Hydraulic system model

MSf1

MSf

1 3 De1

C1

R12

C2

R23

C3

C

R

C

R

C

2

0

5

7

1

Zero1

One1

4

6

10

14

16

Zero2 12

One2 15

Zero

13

18

0

8

11

1

0

9

R R1

Df1

R De2

R2

R Df2

Fig. 6. Bond graph model

R3

MSf

19 17

De3

MSf2

142

S.B. Bouabdallah, R. Saddam, and M. Tagina

A procedure described in [1]-[7] enables us to elaborate its bond graph model shown in figure 6. With: C1=C2=C3=10 (SI). R1=R2=R3=R12=R23=1 (SI). The system has two inputs: MSf1 and MSf2 which correspond to volume flows applied to the system. As shown in figure 6, 5 sensors are placed in the bond graph model: - The effort sensors De1, De2 and De3 measure pressure respectively at C1, C2 and C3. - The flow sensors Df1 and Df2 measure respectively volume flow at vane 1 and 2. Variables to be supervised (the known variables) are De1, De2, De3, Df1, Df2, MSf1 and MSf2. Analytical redundancy relations consist in finding relations between known variables of the system. We have elaborated the following analytical redundancy relations (ARRs) from the bond graph model by course of the causal paths. ARRs are written in integral form. The procedure of generating (ARRs) is described in [15]. (1)

ARR2:

ARR3:

⎛ 1 1 ⎞ 1 Df1 − ⎜ 1 + Df 2 = 0 ⎟ D e2 + sC 2 R2 C 2 s ⎠ C2s ⎝

(2)

⎛ ⎞ 1 1 1 M Sf2 − D f2 − ⎜1 + ⎟ D e3 = 0 C3s C3s R C s ⎝ ⎠ 3 3

(3)

ARR4:

De3 − De2 − Df 2 = 0 R23

(4)

ARR5:

De1 − De 2 − Df 1 = 0 R12

(5)

The signature table of the known variables (Df1, Df2, De1, De2, De3, MSf1 and MSf2) is given by table 1 in which terms equal to 1 (respectively 0) indicate the presence of the considered variable (respectively the absence) in the associated residual.

A Multi-agent Architecture for Sensors and Actuators’

143

Table 1. Signature Table

r1 r2 r3 r4 r5

Df1 1 1 0 0 1

Df2 0 1 1 1 0

De1 1 0 0 0 1

De2 0 1 0 1 1

De3 0 0 1 1 0

MSf1 1 0 0 0 0

MSf2 0 0 1 0 0

Bond graph model is converted into a synopsis diagram which is simulated under Simulink/Matlab environment. In normal functioning mode, the residuals have to be close to zero. We have verified that all residuals are null in this case. Application choices: * Uncertainty: We consider uncertainty as a white noise added on values in the synopsis diagram (5% of each value). We have selected uncertainty of 5% on one hand because many components are given with this uncertainty; on the other hand because the identification is possible in this case. For larger uncertainties, we can not distinguish between the fault and uncertainty. Uncertainty is added to C1, C2, C3, R12 and R23. * Fault: We have considered fault as a step added to a known variable, the fault amplitude is equal to 15% of the variables amplitude.

5 Multi-agent System Implementation The proposed multi-agent system is implemented in JADE (Java Agent DEvelopment framework) environment [13]. A JADE agent is a Java class extending Agent basic class. So, agent inherits a fundamental behaviour consisting in platform tasks, for example registration, configuration, management at a distance... JADE agent inherits also a set of standardized interaction protocols used in implementing agent specific tasks such as messages sending, standard interaction protocols… Communication language between agents is ACL (Agent Communication Language) developed by FIPA (Foundation for Intelligent Physical Agents) [10]. Agents are interacting with each other in textual form, following FIPA-ACL specifications Whenever an agent wants to send a message to one other agent, an ACLMessage object is created, ACLMessage fields are specified and the send() method is used. When agent wants to receive a message, the receive() method is used. -

The ACLMessage contains the following fields: Sender: the agent that sends the message Receiver(s): the agent or agents who receive the message Reply-to: who the recipient should be reply to Performative: an identifier indicating the purpose of the message. Ontology: an identifier, indicating the ontology of the content.

144

S.B. Bouabdallah, R. Saddam, and M. Tagina

- Encoding: indicates how the content of the message is represented. - Protocol: the interaction protocol this message is part of. - ConversationId: the unique identifier used to indicate which conversation this message is part of. - Content: some content which is the body of the message. ACLMessage fields can be obtained or modified respectively by the get() or set() methods. In this work, the protocols used for agents conversation are the SEND, the RECEIVE and the BLOCKINGRECEIVE protocols. In order to exchange information between the agents, a common ontology has to be used. The ontology includes representation of residuals, detection agents results (Fault-indexes) and isolation results which are in matrix type. Notice: in the frame of our work, acquisition agents take sensors and actuators’ measurements from Matlab/ Simulink environment in the following way: an acquisition agent is associated with a timed datastream where each data taken represents one measurement from one sensor or actuator of the synoptic diagram.

6 Tests and Results The diagnosis process starts when user selects a diagnosis method: user can use either a diagnosis method based on binary logic, fuzzy logic, PNN or MLP (see figure 7). The corresponding detection and isolation agents are used to detect and isolate the fault. For all detection and isolation methods, the system can detect and isolate faults affecting known variables, however in some cases correct isolation presents some

Fig. 7. Diagnosis system

A Multi-agent Architecture for Sensors and Actuators’

145

Fig. 8. Fault Detection and Isolation in case of a step fault affecting Df1 at 50s

Fig. 9. Fault Detection and Isolation in case of a step fault affecting De3 at 30s

delay. Figure 8 presents fault detection and isolation when a step fault affects Df1 at 50s in case of binary logic-based method. Figure 9 presents fault detection and isolation when a step fault affects De3 at 30s in case of a PNN-based diagnosis

146

S.B. Bouabdallah, R. Saddam, and M. Tagina

method. We notice in the first case an isolation delay of 0.08s. In the second, we notice an isolation delay of 0.12s. This delay is due to residual behaviour in case of systems with parameter uncertainties [6]. The detection and the isolation delay depends on the type of fault and the diagnostic method. So, we aim to improve the FDI system performances by integrating all proposed methods. In that case, agents’ negotiation helps to obtain the best detection and isolation results.

7 Conclusions and Future Work In this work, we have proposed a multi-agent system for fault detection and isolation. The multi-agent system is composed of different agents co-operating and communicating via message exchange to ensure the diagnosis process. Detection and isolation routines are based on residual processing. Residuals are obtained from bond graph model. The diagnosis system is implemented in JADE environment and has shown good detection and isolation results. Our main extension to this work is the possibility to use in parallel all proposed diagnosis methods. In that case, negotiations between different agents help to improve detection and isolation results and to reduce detection and isolation delays as well as false alarm rate. Furthermore, we aim to integrate the multi-agent diagnostic system in a real hydraulic system where acquisition agents take measurements directly from sensors and actuators.

References [1] Borne, P., Dauphin-Tanguy, G., Richard, J.P., Rotella, F., Zambettakis, I.: Modélisation et identification des processus, Technip (1992) [2] Pierre Briot, J., Demazeau, Y.: Principe et architecture des systèmes multi-agents, Lavoisier, HermesSciences (2003) [3] Brunet, J.: Détection et diagnostic de pannes approche par modélisation , Editions Hermés (1990) [4] Bouabdallah, S.B., Tagina, M.: Conception d’un système multi-agent pour la surveillance des systèmes complexes. JTEA 2006, Journées Tunisiennes d’Electo- technique et d’Automatique. Mai 2006 Hammamet, Tunisia, pp. 3–5 (2006) [5] Bouabdallah, S.B., Tagina, M.: A fuzzy approach for fault detection and isolation of uncertain parameter systems and comparison to binary logic. ICINCO 2006, Intelligent control systems and optimization. Août 2006 Portugal, pp. 98–106 (2006) [6] Bouabdallah, S.B., Tagina, M.: A multilayer perceptron for fault detection and isolation of systems with parameter uncertainties. SSD 2007, Mars 2007, Tunisia, pp. SAC-1015 (2007) [7] Dauphin-Tanguy, G.: Les bond graph. Hermes Sciences Publications (2000) [8] Dumont d’Ayot, G.: Coopération et évaluation cognitive d’agents artificiels pour la supervision. Thèse de doctorat. CNRS. LAAS (2005) [9] Evsukoff, A., Gentil, S., Montmain, J.: Fuzzy reasoning in co-operative supervisin systems, Control Engineering Practice 8, pp. 389–407 (2000) [10] FIPA Specification, Foundation for intelligent Physical agents (2005), http://www. fipa.org/

A Multi-agent Architecture for Sensors and Actuators’

147

[11] Garcia-Beltran, C., Gentil, S., Stuecher, R.: Causal-based diagnosis of a hydraulic looper, IFAC Symposium on automation in Mining, Mineral and Metal processing MMM 2004, Nancy, France (2004) [12] Howley, B., Cutkosky, M., Biswas, G.: Composing and sharing dynamic models in an Agent-based concurrent Engineering Environment. In: American Control Conference, San Diego, CA, June 2-4, pp. 3147–3153 (1999) [13] http://jade.cselt.it/ [14] Mosterman, P.J.: A Hybrid Bond Graph modelling Paradigm and its application in Diagnosis, Dissertation, Vanderbilt University (1997) [15] Tagina, M.: « Application de la modélisation bond graph à la surveillance des systèmes complexes», PhD thesis, University Lille I, France (1995) [16] Köppen-Seliger, B., Marcu, T., Capobianco, M., Gentil, S., Albert, M., Latzel, S.: MAGIC: An integrated approach for diagnostic data management and operator support. In: IFAC SAFEPROCESS, Washington, USA (2003) [17] Wörn, H., Längle, T., Albert, M.: Multi-Agent Architecture for Monitoring and Diagnosing Complex Systems. In: CSIT, Patras, Greece (2002) [18] Wörn, H., Längle, T., Albert, M.: Development tool for distributed monitoring and Diagnostic Systems. Institute for Control and Robotics, University of Karlsruhe, Germany

A User-Friendly Evolutionary Tool for High-School Timetabling Charalampos N. Moschopoulos1, Christos E. Alexakos1, Christina Dosi1, Grigorios N. Beligiannis2, and Spiridon D. Likothanassis1 1

Department of Computer Engineering & Informatics, University of Patras, GR-26500, Rio, Patras, Greece {mosxopul, alexakos, dosich, likothan}@ceid.upatras.gr 2 Department of Business Administration in Food and Agricultural Enterprises, University of Ioannina, G. Seferi 2, GR-30100, Agrinio, Greece [email protected]

Abstract. In this contribution, a user-friendly timetabling tool is introduced that can create feasible and efficient school timetables in a few minutes. The tool is based in an adaptive algorithm which uses evolutionary computation techniques (Beligiannis et al. 2006). The algorithm has been tested exhaustible with real data input derived from many Greek high-schools, producing exceptionally results. Moreover, the user friendly interface of the presented tool has been taken into serious consideration in order to be easy for anyone to use it. Nevertheless, the main advantage of the presented tool lies in its adaptive behaviour. The users can guide the presented timetabling tool, producing timetables that best fit into their needs.

1 Introduction Timetabling is a very common problem that appears in many sections of real life such as course scheduling, assignment of hospital nursing personnel, etc. These problems deal with the allocation of resources to specific time periods so that some specific constraints are satisfied and the created timetable is feasible and effective. According to each case, the constraints, the sources and the elements defining the effectiveness of the timetable are determined. These timetabling problems are NP-complete in their general form, regarding their computational complexity, meaning that the difficulty to find a solution rises exponentially to their size and a deterministic algorithm, giving an acceptable solution in polynomial time, cannot be found. The school timetabling problem is a subcategory of the family of timetabling problems. Many computational methods have been applied in order to approximate a near optimal solution (Bardadym 1996), (Bufé et al. 2001), (Burke and Erben 2001), (Burke and Petrovic). There is a number of constraints that has to be taken into account when the school timetabling is been approached. In most cases the goal is to minimize the teacher’s idle hours while achieving a balanced distribution of lessons taught on the weekly school schedule. Time constraints are divided in soft and hard constraints (Schaerf 1999), (Eikelder and Willemen 2000). The hard constraints must be satisfied, while the soft ones are used for the evaluation of the final solution. C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 149–162. springerlink.com © Springer-Verlag Berlin Heidelberg 2009

150

C.N. Moschopoulos et al.

Lately, many computational intelligence algorithms and techniques including genetic algorithms (Fernandes et al. 1999), (Carrasco and Pato 2001) have proved their effectiveness concerning this problem category. The school timetable of each academic year, in many countries, is constructed by the teaching personnel at the beginning of each academic year. The teachers of each school make quickly a temporary timetable and usually after quite a long time they end up with the final timetable. As a consequence, for some time the school is not working with its full resources. So, due to the difficulty of the problem, the teachers usually use a Timetabling Tool in order to produce an effective school timetable in short time. One of the earliest approaches is Hores (Alvarez-Valdes et al. 1995) which is a Timetabling Tool that uses tabu search and it is suited to the needs of Spanish secondary schools. Following that, W-Y Ng introduced TESS (Ng 1997), a semi-automatic timetabling system which is a little bit complicated for a naive user to use and quite time expensive. It uses a heuristic intelligent technique in order to place any unscheduled lesson in its correct time slot and needs the extra help of the timetabler in order to avoid any conflicts and complete the timetabling procedure. As an improvement, a new timetabling system was proposed called @PT (Kwan et al. 2003). @PT can reach to better solutions than TESS in much lesser time. It uses sophisticated local search operators and a tabu-list like data structure. A transformation of PaLM (Jussien 2001) has been applied in school timetabling (Cambazard et al. 2004). This system is based on constraint programming and it can reach to a solution in a few minutes. Finally, THOR (Melício et al. 2006) was introduced as a timetabling system for Portuguese high-schools. In this contribution, a user-friendly timetabling tool is introduced that can create feasible and efficient school timetables in a few minutes. The tool is based in an adaptive algorithm which uses evolutionary computation techniques (Beligiannis et al 2006). The algorithm has been tested exhaustible with real data input derived from many Greek high-schools, producing exceptionally results. Moreover, the user friendly interface of the presented tool has been taken into serious consideration in order to be easy for anyone to use it. Nevertheless, the main advantage of the presented tool lies in its adaptive behaviour. The users can guide the timetabling tool, producing timetables that best fit into their needs. The rest of the paper is organized as follows: In section 2 a definition of the school timetabling problem is given and the constraints that are taken into consideration in the presented approach are stated. In section 3 we give a full review of the algorithm that is hosted in the presented timetabling tool. Section 4 presents in detail the presented timetabling tool’s interface, while in section 5 the experimental results and the performances obtained are presented. Conclusions are given in the last section.

2 School Timetabling Problem Definition The weekly school timetable is affected by many parameters and must satisfy a large number of constraints (Caldeira and Rosa 1997), (Fernandes et al. 1999), (Tavares et al. 1999), (Santiago-Mozos et al. 2005). The entities that are involved in such a timetable are the teachers, the lessons, the classes and the time periods. In particular,

A User-Friendly Evolutionary Tool for High-School Timetabling

151

the teachers teach some lessons at the classes and this process takes place in specific time periods. Therefore, constructing a timetable means to assign, for the entire teacher–lesson–class triples, the time periods that the teaching process will take place. This has to be done in a way that as many as possible constraints are satisfied, some of them partially and some of them totally. These constraints are divided into two groups: “hard” constraints and “soft” constraints. Both of them are also divided into the ones related to teachers and the ones that are related to classes. When all hard constraints are satisfied then a “feasible” timetable is constructed, meaning a timetable that can actually be used by the school it has been made for. However, the quality of a timetable is mainly influenced by the proportion of soft constraints satisfied. The basic aim is to construct a feasible timetable while maximizing its quality. The formal way in which “quality” is measured will be discussed next. Due to the fact that the presented timetabling tool has been applied in order to construct quality timetables for Greek high schools, it should be noted at this point, that a weekly school timetable in Greece is divided typically into five days and each one of them into seven hours. The term “time period” refers to each hour of teaching in a week and consequently the number of each time period defines the day and the hour it takes place. The number of time periods for a typical Greek high school is 35 and is shown in Table 1. Table 1. Relation between days – hours – time slots

1st 2nd 3rd 4th 5th 6th 7th

hour hour hour hour hour hour hour

Monday 1 2 3 4 5 6 7

Tuesday 8 9 10 11 12 13 14

Wednesday 15 16 17 18 19 20 21

Thursday 22 23 24 25 26 27 28

Friday 29 30 31 32 33 34 35

Hard constraints that must be satisfied in order to keep the timetable feasible are the following: 1. 2. 3. 4. 5. 6.

Each teacher must not be assigned to more than one class in a specific time period. Each teacher must teach only to classes that are initially assigned to him/her and only lessons that he/she is supposed to teach to these classes. Each teacher must teach a limited and defined number of hours and lesson(s) to each class. Each teacher must only teach at days he/she is available at school. Each class must not have more than one lesson in a specific time period. The number of lessons and hours each class must be taught by specific teachers are determined by input data.

152

C.N. Moschopoulos et al.

7.

The classes’ empty (no teacher assigned) time periods, whose total acceptable number is determined by input data implicitly, must be the last hour of each day.

Soft constraints that should be satisfied in order the timetable to be considered of high quality are the following: 1. 2.

3. 4.

Teachers should have as few empty periods as possible. The total empty periods existing should be uniformly distributed to all teachers while the empty periods of each teacher should be uniformly distributed to all days he/she is available at school. The number of hours a teacher has lessons each day should not differ dramatically among these days. Classes should not have the same lesson in successive hours and, if possible, not even during the same day.

Apart from the above, there are some extra factors that affect the structure of a timetable. These factors are related to co-teaching and subclasses cases. During the last decade it is common in many schools that some classes are divided, only for the teaching of some specific lessons, into two temporary ones. This is the case especially for lessons like “foreign language” where every class is divided into two temporary ones according to the level of students’ knowledge (“advanced” class and “beginners” class). In such cases, the teachers who teach the specific lesson to the temporarily divided class must be assigned to this class at the same time period. This case is referred to as co-teaching. The subclasses case refers to the circumstance where a class is divided into two temporary subclasses in which different lessons are taught. This is the case especially when lab lessons, like “informatics” and “technology”, are concerned. In such cases, the teachers who teach these different lessons to the subclasses of the temporarily divided class must be assigned to this class at the same time period. In the proposed approach, both co-teaching and subclasses cases are considered as hard constraints. All the above affect the construction process and the quality of a timetable. Having all these in mind, an algorithm for school timetabling generation has been designed, implemented and incorporated in the presented tool. This algorithm is presented in the next section.

3 Review of the Hosted Algorithm As mentioned before, computational intelligence techniques have been already widely used for solving the school timetabling problem with very satisfactory results. The presented algorithm uses a smart chromosome encoding in order to occupy as small space as possible in relevance with the information it encodes. Also, its structure enables it to preserve, during the reproduction processes, as much as possible characteristics of the timetable concerning hard constraints. As in most evolutionary algorithms, the utilized algorithm can be divided in three main parts: the initializing procedure, the fitness function and the genetic operators.

A User-Friendly Evolutionary Tool for High-School Timetabling

153

The initialization procedure is an important issue in every evolutionary algorithm because it should create a random population with as much diversity as possible. This gives the algorithm the opportunity to search effectively the whole space of possible solutions and not to be trapped prematurely in local optima. Except that, the initialization procedure of the proposed algorithm tries to avoid the violation of some of the hard constraints of the school timetabling problem (number 2,3,5,6 as mentioned in section 2). In this way, we save time as the execution process starts from a better starting point (Beligiannis et al 2006). The fitness function returns a value representing the fitness of each specific chromosome, that is, how well it solves the problem faced. In addition, this is the function which checks if hard constraints and most of soft constraints are satisfied by each chromosome (school timetable). According to the constraint violation check done, every constraint violation is assigned a subcost and the sum of all subcosts having to do with a specific chromosome is the total cost of this chromosome (Beligiannis et al 2006). The presented algorithm owes its flexibility in the weights that are attached to each soft or hard constraint. In this way, we can guide the algorithm by assigning a high value to the constraints that we are most interested in. Weights with very high values should be assigned to all hard constraints in order the algorithm to satisfy them and produce feasible timetables. The genetic operators used by the proposed algorithm are one selection operator and two mutation operators (Beligiannis et al 2006). We decided not to use the crossover operator because experimental results have shown that crossover in this specific problem and chromosome encoding does not contribute satisfactorily, while it adds too much complexity and time delay. As selection operator we decided to use linear ranking selection (Blickle and Thiele 1997). The first mutation operator used, called “period mutation”, is applied to the timetable of a class and swaps the teachers Table 2. (a) Before Mutation, (b) After mutation

Class 1 Class 2 … Class i … class m

time slot 1

time slot 2



time slot n

teacher C

teacher Α



teacher Β

a Class 1 Class 2 … Class i … class m

time slot 1

time slot 2



time slot n

teacher C

teacher Β



teacher Α

b

154

C.N. Moschopoulos et al.

between two time periods (Table 3). The second one, called “bad period mutation”, swaps the two most costly time periods regarding the timetable of teachers assigned to these time periods (Beligiannis et al 2006). Finally, in order to preserve the best chromosome in every generation a simple elitism schema (Goldberg 1989), (Michalewicz 1996), (Mitchell 1995) is used. The best chromosome of each generation is copied to the next generation assuring that it is preserved in the current population for as long as it is the best compared to the other chromosomes of the population.

4 The Timetabling Tool The users of a timetabling tool are, in most cases, teachers who are unfamiliar with complicated computational tools. So, in the presented timetabling tool we take special care in order to make it as friendly as possible and not to cause any confusion to the users. Moreover, the parameters of the presented tool are organized in such way that it is extremely easy to be filled out by the users. Additionally, the tool offers a Help menu that gives full guidelines about the timetabling tool and its use. Initially, there is a welcome page in which the user can select the language of his preference: Greek or English. After the selection of the language, two menus appear on screen: The File menu and the Help menu. The File menu contains the options concerning the creation of a new input file, the options concerning the import of an already existing one and the view options.

Fig. 1. The initial input form

A User-Friendly Evolutionary Tool for High-School Timetabling

155

If the user selects to create a new input file, he/she enters in a new page where there is an input form (Fig.1). All necessary data must be inserted in the form in order to continue to the next step of the process of creating a new input file. These are the name of the new file, the number of classes, the number of teachers, the working days, the maximum number of teaching hours per day for a class and the number of co-teaching hours. Helpful information is provided at the bottom of the page.

Fig. 2. The second input form

When the user presses the “submit” button, this data are stored and a new form appears (Fig.2). The elements that need to be completed in this new form are the names of the classes and the names of the teachers. Also, for each teacher the user should mark the following: • The days that the teacher is available at school. • The teaching hours that the teacher has to teach each class during a week. • The number of different lessons that the teacher has to teach each class during a week. • The co-teaching lessons, if any. More specifically: • In the columns under “Teachers” the user has to write the names of the Teachers. • In the columns under “Days” and immediately after the name of each teacher the user has to mark the days in which the teacher is not available at school.

156

C.N. Moschopoulos et al.

This is made by inserting a zero (‘0’) in the line that corresponds to each teacher and in the column that corresponds in each particular day. • In the line under “Classes”, the names of Classes have to be entered. • In the columns under the name of each class and for as many lines as the number of teachers, the user has to fill the next two text boxes. In the first box the user has to enter the number of teaching hours of each teacher in each class (in the box which lies in the line of the specific teacher and the column of the specific class). In the second box the number of different courses that each teacher teaches in each class has to be entered. • Split Classes refer to teachers who teach in two new Classes which result from the combination of two existing ones. The user has to enter the initial Class in the line of the specific teacher in the new Class or in the subdivision one. Next, the user has to press the “Save” button in order to complete the insertion of the input parameters concerning the timetable. The tool saves the timetable’s preferences in a CSV (Comma Separated Value) file in order to be accessed in the future. The final step for the user is to complete the parameters of the evolutionary algorithm (EA) used in the presented tool. As mentioned before, the hosted algorithm of the presented tool has the ability to produce different solutions, depending on the importance of each soft constraint. Furthermore, the user can define the probabilities of the two kinds of mutation that are contained in the algorithm (Beligiannis et al 2006), the size of the initial population and the number of generations that the algorithm is allowed to run. Moreover, it is up to the user if he/she wants to use the crossover operator and the elitism schema (Beligiannis et al 2006). Nevertheless, there are

Fig. 3. The Evolutionary Algorithm’s parameters

A User-Friendly Evolutionary Tool for High-School Timetabling

157

also some default values which have been proven, most of the times, to produce very good solutions in order to help an untrained user (Fig.3). At this point, we have to note that in every step of this procedure, if some fields are not filled in, an error message is displayed informing the user about the existence of missing fields or about an error that might occur. After the completion of the final step, the user can start the execution of the algorithm. When the execution has been completed, the tool informs the user whether it has managed to construct a feasible timetable or not. Moreover, if the tool has managed to construct a feasible timetable, it stores the last generation of the algorithm (all solutions which are contained in the last population) for further use (in case the user wants to further refine the final result). The output is, of course, stored as a CSV file and it comprises the weekly timetable, which shows for every teacher the class he/she is assigned to at every hour in a week. From this timetable someone can easily derive all conclusions that are related to its quality, that is, how many and which constraints are violated (Fig.4). All created timetables and all input data are stored in files. The user can see them through the File menu and can edit or delete the files he/she desires (Fig.5).

Fig. 4. An example of a resulting (output) timetable

158

C.N. Moschopoulos et al.

Fig. 5. The File menu of the presented tool

The user, by accessing the saved files, is able to execute one of the following functionalities: • • • •

View the input CSV file with the timetable preferences of an already processed timetable program. View the output program as it is generated from the tool. Edit input timetable parameters and re-execute the program generation process. Delete all the files of a timetable program (input and output) from his/her local repository.

Regarding, the “edit” option, the tool provides to users two major functionalities: a) changing the parameters and re-executing the algorithm, replacing the previous output, and b) changing the parameters and saving them as a new file in the system, generating a new timetable program which is independent from the previous one. The second option comes from the fact that in most schools the timetable preferences are the same between two consecutive school years and as a result the changes in the input are relatively small.

5 An Example of Using the Timetabling Tool In order to demonstrate the efficiency and performance of the algorithm hosted in the presented tool, several simulation experiments were carried out. For all results

A User-Friendly Evolutionary Tool for High-School Timetabling

159

presented in this section the same set of EA’s operators and parameters were used in order to have a fair comparison of the algorithm’s efficiency and performance. The representation used for the genomes of the genetic population is the one described in (Beligiannis et al 2006). As far as the reproduction operator is concerned, the linear ranking selection was used, as described in section 3. As stated before, no crossover operator was used, while the mutation operator was the complex mutation operator presented in (Beligiannis et al 2006) (with mutation probability equal to 0.05). The size of the population was set to 25 and the algorithm was left to run for 10000 generations. Except for that, the algorithm hosted in the presented tool used linear scaling (Michalewicz 1996) and elitism. The algorithm was applied to real world input data coming from thirty different Greek high schools settled in the city of Patras. These data are available through http://prlab.ceid.upatras.gr/timetabling/. The comparison of the timetables constructed by the proposed EA and the real timetables used at schools in the city of Patras is based on three criteria. The first one is the distribution of teachers, that is, how evenly each teacher’s hours are distributed among the days of the proposed timetable. For example, if a teacher has to teach ten hours per week and is available at school for five days, the ideal “distribution of teachers” for him/her would be two hours of teaching per day. The second one is the distribution of lessons. One lesson should not be taught twice or more at the same day. The third one is the teachers’ gaps. The teaching hours of each teacher in a day should be continuous – no idle hours are allowed to exist between teaching hours. Regarding the distribution of teachers, two results (numbers) are presented in the respective column of the following table (Table 3). The first number is the number of teachers that their teaching hours do not have an even distribution among the days of the timetable, while the second number (between the brackets) is the number of days that this uneven distribution occurs. For example, if a teacher is available at school for five days, has ten teaching hours and their distribution among these five days is the following: 1-4-2-2-1, then the number of days, in which uneven distribution for this teacher occurs, is three. Concerning the second quantity, that is, the distribution oflessons, the first number in the respective column, is the distinct number of classes in which the same lesson is taught twice or more at the same day. The second number (between the brackets) is the total number of classes in which this incident occurs per week. A class is counted more than once in estimating this number, if there is more than one day that the same lesson is taught twice or more in this class. Finally, Table 3. Comparing timetables constructed by the presented tool with real world timetables used at schools Test Data set 1 2 3 4 5 6 7

Number Teacher s 34 35 19 19 18 34 35

Number Classes

Teaching Hours

11 11 6 7 6 10 13

35 35 35 35 35 35 35

Timetables used at Schools Distribution Distribution Teacher’s Teachers Lessons gaps 21[48] 15[34] 9[23] 6[14] 6[17] 24[47] 24[56]

1[1] 0[0] 3[3] 0[0] 0[0] 10[25] 13[36]

25[34] 30[52] 8[24] 15[31] 15[39] 9[9] 24[33]

Timetables created by the presented tool Distribution Distribution Teacher’ Time Teachers Lessons s gaps 18[40] 15[34] 4[8] 5[12] 1[2] 18[33] 24[50]

1[1] 0[0] 3[3] 0[0] 0[0] 10[20] 13[27]

25[29] 26[42] 9[9] 17[29] 8[8] 7[7] 24[32]

30’ 30’ 24’ 24’ 22’ 30’ 45’

160

C.N. Moschopoulos et al.

Fig. 6. The evolution of the EA hosted in the presented timetabling tool for test data set 2 (Table 5)

Fig. 7. The evolution of the EA hosted in the presented timetabling tool for test data set 5 (Table 5)

regarding the teachers’ gaps, the first number in the respective column is the distinct number of teachers in whose timetable idle hours exist, while the second number (between the brackets) is the total number of idle hours for all teachers.

A User-Friendly Evolutionary Tool for High-School Timetabling

161

In the previous table (Table 3) the performance and efficiency of the proposed EA is shown by comparing the timetables constructed by it with the real timetables used at schools in the city of Patras. These data was given to us by the Headship of Second Grade Education of Achaia county (http://www.dide.ach.sch.gr/). A more detailed description of this data can be found through http://prlab.ceid.upatras.gr/timetabling/. In the second, the third and the fourth column of Table 3 the number of teachers, the number of classes and the number of teaching hours of each specific school are presented respectively. These parameters define the size of each school and affect the size and the complexity of the respective optimal timetable. In the following figures (Fig 6 and Fig 7), we present the evolution of the EA hosted in the proposed timetabling tool in order to demonstrate its convergence. Our aim is to show that although crossover is not included in the algorithm, mutation is enough to generate new good solutions to evolve the population.

6 Conclusions In this contribution, a user-friendly adaptive evolutionary timetabling tool has been designed, developed and applied to the timetabling problem of Greek high schools in order to create feasible and efficient timetables. The algorithm has been tested exhaustively with real world input data coming from many different Greek high schools in order to demonstrate its quality and efficiency. Simulation results showed that the algorithm is able to construct a feasible and very efficient timetable quickly and easily, thus preventing disagreements and arguments among teachers and assisting each school to operate with its full resources from the beginning of the academic year. Moreover, the user friendly interface of the presented tool has been taken into serious consideration in order to be easy for anyone to use it.

References [1] Alvarez-Valdes, R., Martin, G., Tamarit, J.M.: Hores: A timetabling system for Spanish secondary schools. TOP 3(1), 137–144 (1995) [2] Bardadym, V.A.: Computer Aided School and Timetabling: The New Wave. In: Burke, E.K., Ross, P. (eds.) PATAT 1995. LNCS, vol. 1153. Springer, Heidelberg (1996) [3] Beligiannis, G.N., Moschopoulos, C.N., Kaperonis, G.P., Likothanassis, S.D.: Applying evolutionary computation to the school timetabling problem: The Greek case. Comput. Oper. Res. (in Press, 2006) [4] Blickle, T., Thiele, L.: A comparison of selection schemes used in genetic algorithms. Evol. Comput. 4(4), 361–394 (1997) [5] Bufé, M., et al.: Automated Solution of a Highly Constrained School timetabling Problem-Preliminary Results. In: Boers, E.J.W., et al. (eds.) EvoIASP 2001, EvoWorkshops 2001, EvoFlight 2001, EvoSTIM 2001, EvoCOP 2001, and EvoLearn 2001. LNCS, vol. 2037. Springer, Heidelberg (2001) [6] Burke, E.K., Erben, W.: PATAT 2000. LNCS, vol. 2079. Springer, Heidelberg (2001) [7] Burke, E.K., Petrovic, S.: Recent Research Directions in Automated Timetabling. Eur. J. Oper. Res. 140(2), 266–280 (2002)

162

C.N. Moschopoulos et al.

[8] Caldeira, J.P., Rosa, A.: School timetabling using genetic search. In: Burke, E.K., Carter, M. (eds.) PATAT 1997. LNCS, vol. 1408, pp. 115–122. Springer, Heidelberg (1998) [9] Cambazard, H., Demazeau, F., Jussien, N., David, P.: Interactively solving school timetabling problems using extensions of constraint programming. In: Burke, E.K., Trick, M.A. (eds.) PATAT 2004. LNCS, vol. 3616, pp. 190–207. Springer, Heidelberg (2005) [10] Carrasco, M.P., Pato, M.V.: A multiobjective genetic algorithm for the class/teacher timetabling problem. In: Burke, E., Erben, W. (eds.) PATAT 2000. LNCS, vol. 2079, pp. 3– 17. Springer, Heidelberg (2001) [11] Fernandes, C., Caldeira, J.P., Melicio, F., Rosa, A.C.: Evolutionary algorithm for school timetabling. In: GECCO 1999, pp. 1777–1783 (1999) [12] Fernandes, C., Caldeira, J.P., Melicio, F., Rosa, A.C.: High school weekly timetabling by evolutionary algorithms. In: ACM SAC, pp. 344–350 (1999) [13] Goldberg, D.E.: Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Reading (1989) [14] Jussien, N.: e-constraints: explanation-based constraint programming. CP 2001 Workshop on User-Interaction in Constraint Satisfaction (2001) [15] Kwan, A.C.M., et al.: An Automated School Timetabling System Using Hybrid Intelligent Techniques. In: Zhong, N., et al. (eds.) ISMIS 2003. LNCS (LNAI), vol. 2871. Springer, Heidelberg (2003) [16] Melício, F., Caldeira, J.P., Rosa, A.: THOR: A Tool for School Timetabling. In: PATAT 2006, pp. 532–535 (2006) [17] Michalewicz, Z.: Genetic algorithms + data structures = evolution programs, 3rd edn. Springer, New York (1996) [18] Mitchell, M.: An introduction to genetic algorithms. MIT Press, London (1995) [19] Ng, W.Y.: TESS: an interactive support system for school timetabling. In: Fung, et al. (eds.) Proceedings of the IFIP TC3/WG 3.4 international Conference on information Technology in Educational Management For the Schools of the Future, Chapman & Hall Ltd., London (1997) [20] Santiago-Mozos, R., Salcedo-Sanz, S., DePrado-Cumplido, M., Bousoρo-Calzσn, C.: A two-phase heuristic evolutionary algorithm for personalizing course timetables: a case study in a Spanish University. Comput. Oper. Res. 32(7), 1761–1776 (2005) [21] Schaerf, A.: Local search techniques for large high school timetabling problems. IEEE T Syst. Man. Cy. A 29(4), 368–377 (1999) [22] Tavares, R., Teofilo, A., Silva, P., Rosa, A.: Infected genes evolutionary algorithm. SAC, 333–338 (1999) [23] Ten Eikelder, H.M.M., Willemen, R.J.: Some complexity aspects of secondary school timetabling problems. In: Burke, E., Erben, W. (eds.) PATAT 2000. LNCS, vol. 2079. Springer, Heidelberg (2001)

HEPAR: An Intelligent System for Hepatitis Prognosis and Liver Transplantation Decision Support Constantinos Koutsojannis, Andrew Koupparis, and Ioannis Hatzilygeroudis Department of Computer Engineering & Informatics, School of Engineering, University of Patras Rion, 265 00 Patras, Hellas (Greece) [email protected], [email protected]

Abstract. In this paper, we present the clinical evaluation of HEPAR, an intelligent system for hepatitis prognosis and liver transplantation decision support in an UCI medical database. The prognosis process, linguistic variables and their values were modeled based on expert’s knowledge the statistical analysis of the records of patients from the existed medical database and relevant literature. The system infers from rules the elements relating to prognosis and liver transplantation by combining the risk scores with weights which can vary dynamically through fuzzy calculations. First we introduce the medical problem, the design approach to the development of the fuzzy expert system and the computer environment. Then we present HEPAR architecture, the reasoning techniques in comparison with the probabilistic characteristics of the medical database. Finally we indicate a few details of the implementation. The expert system has been implemented in FuzzyCLIPS. The fuzzy rules are organized in groups to be able to simulate the diagnosis process. Experimental results showed that HEPAR did quite s well as the expert did.

1 Introduction 1.1 Problem Description According to the rules of evidence-based medicine every clinical decision should always be based on the best verified knowledge available. Additionally novel scientific evidence applicable to an individual case arises every day update from studies published all over the world. Checking day-by-day clinical decisions against the latest biomedical information available worldwide is a complex and time-consuming job, even though the advent of almost universal computer-based indexes. Most physicians lack the necessary time, skills or motivation to routinely search, select and appraise vast sets of online sources, looking for the most proper and up-to-date answers to a given clinical question concerning a single patient. The preferred option is still to ask more expert colleagues. When, as it is often the case, no experts are timely available, the physician has to rely on personal experience, which includes memory of guidelines, policies and procedures possibly refreshed by consulting handbooks or journals that may be at hand and not necessarily contain information that is specific, relevant and up-to-date. On the other hand, patients, especially those affected by chronic or C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 163–180. springerlink.com © Springer-Verlag Berlin Heidelberg 2009

164

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis

progressive diseases may have time and motivation for systematically searching new sources of information that could possibly be related to their case. Though their knowledge may generally be inaccurate as an effect of medical illiteracy, media report distortions or wishful thinking; more and more frequently they ask questions about new findings or scientific advances of which the physicians are often completely unaware. Even today intelligent systems for diagnosis, prognosis and decision support are desirable. Among the numerous applications which have been found for intelligent systems in the medical field, many aim at solving problems in gastroenterology [1]. 1.2 Liver Transplantation In this paper the issue of evaluating prognosis in hepatitis is addressed. It is often difficult to identify patients at greater risk and foretell the outcome of the disease. The grading of the disease is an estimation of the severity regardless of the problem being acute or chronic, active or not, mild or severe. Many tests and grading systems that combine them have been devised in order to increase the validity of these estimations [2]. Their importance is obvious as they are used for liver transplantation decisions. A better discriminative value means better management of transplants, less time in the waiting list and finally, less death. An example of such a scoring system is the Child-Turcotte-Pugh score, invented in 1964 and modified in 1973, designed to estimate the risk of certain surgical operations. It uses the values of blood bilirubin, prothrombin time, albumin, grade of ascites and severity of encephalopathy. The score ranges from 5 to 15 and discriminates the patients in 3 classes. Classification in class B (score > 7) has been used as a strong criterion for transplantation. A newer system is MELD (Model for End-stage Liver Disease), invented by Mayo Clinic in 2002 also intended for a surgical operation [3, 4, 5]. It uses creatinine values (for the estimation of the kidney function), bilirubin, INR (a test relevant to prothrombin time) and adds a factor for non-alcoholic causes. A 15% reduction of the number of deaths in waiting lists for liver transplantation is reported after its use. Development of such grading systems always focuses on specific conditions and a well defined population [6]. However, researchers try to evaluate their application in other clinical problems beyond the original scope. So, their validity is confirmed in a wider range of situations [7, 8, 9, 10]. In this paper, we present a Fuzzy Expert System for hepatitis prognosis (called HEPAR). The system primarily aims to help in liver transplantation by physicians (but not experts). Also, it can be used by medical students for training purposes.

2 Knowledge Modeling 2.1 Database Description Appropriate diagnosis doctors with long experience in gastroenterology. To evaluate HEPAR we finally used the data from the UCI Machine Learning Repository (hepatitis.data). These include the outcome of the disease (live – die), age, sex, history information (use of steroids, antivirals, biopsy request), symptoms (fatigue, malaise, anorexia), signs (big liver, firm liver, palpable spleen, ascites, spider-like spots, varices) and laboratory results (bilirubin, alkaline phosphatase, SGOT, albumin, prothrombin time) [11].

HEPAR: An Intelligent System

165

The description (file hepatitis.names) is incomplete, but it sums up to:

● ● ● ●

6 continuous variables, 12 boolean (1-2 = yes-no), class (1-2 = die-live) and gender (1-2 = male-female).

Missing data are noted with “?”. Every line comprises of the 20 variables for each of the 155 cases. 2.2 Database Descriptive Statistics For boolean variables, the number of cases in each category are given in Table 1. In brackets, the percentage of those who die. Underlined, the statistical significant differences. Table 1a. Number of cases in each variable category in UCI hepatitis database Input/Class

32 DIE

123 LIVE

Sex

139 Male (23%)

16 Female (0%)

Steroids

76 Yes (26%)

78 No (15%)

Antivirals

24 Yes (8%)

131 No (23%)

Fatigue

100 Yes (30%)

54 No (4%)

Malaise

61 Yes (38%)

93 No (10%)

Anorexia

32 Yes (31%)

122 No (18%)

Big Liver

25 Yes (12%)

120 No (20%)

Firm Liver

60 Yes (22%)

84 No (17%)

Spleen Palpable

30 Yes (40%)

120 No (16%)

Spider

51 Yes (43%)

99 No (9%)

Ascites

20 Yes (70%)

130 No (13%)

Varices

18 Yes (61%)

132 No (15%)

Biopsy

70 Yes (10%)

85 No (29%)

Table 1b. Number of cases for continuous variables, average and range in UCI hepatitis database Input/Class

Class DIE

Class LIVE

Age

46.59 (30 - 70)

39.8 (7 - 78)

Bilirubin

2.54 (0.4 – 8)

1.15 (0.3 - 4.6)

Alkaline Phosphatase 122.38 (62 - 280)

101.31 (26 - 295)

SGOT

99.83 (16 - 528)

82.44 (14 - 648)

Albumin

3.15 (2.1 – 4.2)

3.98 (2.7 - 6.4)

Prothrombin time

43.5 (29 - 90)

66.57 (0 - 100)

166

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis

In Fig.1 we can also see the primary statistics according to the input variables

Fig. 1. The HEPAR variables' distributions

3 System Architecture and Design 3.1 Data Entry Function readatafacts is defined in file functions.clp to take care of facts entry. The function handles [12, 13]: 1. 2. 3.

4.

the conversion of commas (“,”) to spaces (“ ”) in the input line so that explode$ function can operate and give us easy access to every value, the assertion of a fact (patient (value 1) (value 2) (…)) using default values: fuzzy values with equal representation 0.5 in their whole range, the modification of the fact for each variable in the input line (if it has numeric value and not a “?”) so that the new value is stored and finally end up with a fact storing the input values or the default for those missing, initialization of the facts (class live) and (class die) with a certainty factor of 0.01.

HEPAR: An Intelligent System

167

3.2 Fuzzy Rules Rules reside in file rules.clp. The last rule to be activated sets the result to the global variable out: ;This rule defines the outcome in the range 1 - 2 (defrule patientgoingtodie; last rule to be activated (declare (salience -1000)) ?f 40 0 100 years ( (young (0 1) (30 1) (45 0)) (middle age (30 0) (50 1) (65 0)) (old (50 0) (65 1)) ) )

Fig. 2. Linguistic value and membership functions of ‘AGE’

168

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis

Gender 1 represents “male” and 2 represents “female”. (deftemplate fz_sex ;Not necessary - just to be sure [in our data no female dies] 1 2 ( (male (1 1) (1.01 0)) (female (1.99 0) (2 1)) ) ) Yes/No 1 represents “yes” and 2 represents “no”. There are some problems in the calculations of certainty factors if ((1 1) (1 0)) is used, so I use ((1 1) (1.01 0)). In theory, the two classes could crossover so that the probability of error could be taken into account. After all, many variables that use this template are highly subjective. However, this doesn’t seem to help in the case of our UCI data. (deftemplate fz_yesno ; yes/no 1 2 ( (yes (1 1) (1.01 0)) ; (1 1) (1 0) complicates things with certainty factors (complementary probability perhaps) (no (1.99 0) (2 1)) ) ) Bilirubin We define the classes based on the Child-Pugh scale, which discriminates bilirubin to 3. We define values from 2 to 3 as “high” with an increasing certainty from 0 to 1, so that values 3 are definitely high. (deftemplate fz_bilirubin ; normal values 0.3 - 1 we have range 0.3-8 0 10 mg/dL ( (normal (0.3 1) (1 1) (2 0)) ; we don't care for low values (high (2 0) (3 1)) ) ) Alcaline Phosphatase We consider normal values 30 – 120 U/dL, according to Harrison’s Principles of Internal Medicine, 15th ed., as we don’t have normal values according to the lab. We

HEPAR: An Intelligent System

169

assume that values higher than the double of the Upper Normal Value (UNV) are definitely “high” while an increase up to 33% of the UNV is definitely not “high”. This assumption is compatible with the expected increase in hepatitis. (deftemplate fz_alkpho ; normal values 30 - 120, we have range 26-295, shows obstruction, in other diseases >1000 0 400 U/dL ( (normal (30 1) (120 1) (180 0)) ; terminate normal at 1.5 x UpperNormalValue (high (160 0) (240 1)) ) ) SGOT We consider normal values 5 – 50 U/L. We define that a value up to three times the UNV is not “high”, while a value more than five times the UNV definitely is. This assumption seems compatible with the UCI data. (deftemplate fz_sgot ; difficult to define normal values (not bell shaped 5 - 50), we have range 14-648, in other diseases >10000 0 1000 U/L ( (normal (5 1) (30 1) (50 0.8) (100 0)) ; terminate normal at 2 x UpperNormalValue (high (150 0) (250 1)) ; start at 3x UNV, established at 5x UNV ) ) Albumin Based on Child-Pugh score once more, we define values less than 2.8 definitely “low” while values over 3.5 are definitely normal – not low [15]. (deftemplate fz_albumin ; we have range 2.1-6.4, Child score divides: >3.5, 2.8-3.5, 100 (useless for our data as all patients have 50. We use this to define a class “extreme” for values >50. (deftemplate fz_pt ; normally this is compared to martyr... I take 12-15 as normal (range 21-100) 0 100 sec ( (normal (0 0) (12 1) (15 1) (19 0)) ; Child divides: normal+6 (high (15 0) (21 1)) (extreme (45 0) (50 1)) ) ) 3.4 Fuzzy Rule Description 3.4.1 Protective Rules These rules assert the fact (class live) when one of the protective factors is present. In total, these conditions may be regarded as protective (Table 2): 1. 2. 3. 4.

young age use of antivirals female gender use of steroids

Regarding gender, there is no clear evidence. Although there are reports that women have better prognosis, many believe that this difference is not statistically significant. In the UCI data none of the 16 women dies, but we don’t believe this can be used. In the rule femalegender the certainty factor is 0 (inactive). There is no clear evidence for the use of steroids, too. In most cases of (viral) hepatitis steroids are not recommended. Under very specific conditions, for example in autoimmune hepatitis, they may have some positive result. In our data a possible negative effect on prognosis is indicated. We don’t know the cause of the disease in every case so that a more specific rule can be formulated (for example a positive effect in acute or autoimmune hepatitis). The rule onsteroids doesn’t seem to affect the program results, so we set the certainty factor to 0 (inactive). It is certain that the use of antivirals in viral hepatitis ameliorates prognosis. However, in UCI data we don’t see a statistically significant difference. We set a CF of 0.1 to the onantivirals rule. Age is a very important factor. We assume that younger patients have better prognosis – 20% more deaths are reported on patients of older age. Youngage rule has a CF of 0.2. We also assume that young age and use of antivirals are independent factors. As such, a patient with both factors has better prognosis. A rule antivir_young is formulated with a 0.3 CF.

HEPAR: An Intelligent System

171

Table 2. Protective fuzzy rules (age young) youngage

(antivirals yes)

(steroids yes)

+

CF 0.2

onantivirals

+

onsteroids

0.1 +

femalegender antivir_young

(sex female)

0.0 +

+

+

0.0 0.3

The certainty factor for the fact (class live) has a range of 0.01 to 0.3, as we see from these rules. With the use of only those 3 rules we get an estimation of 0.719 for the area under the ROC curve, which means that about 72% of the cases can be classified correctly. Indeed, if we assume that only those cases for which a rule has been activated survive, we have an accuracy of 67.7%, which shows mostly the effect of age.

Fig. 3. The general structure of HEPAR

3.5 Intermediate Rules We use these rules for an estimation of the general condition of the patient, the existence of portal hypertension (and therefore cirrhosis) and a test for the factors used by the Child-Pugh scoring system. The general condition is a combination of three variables, fatigue, malaise and anorexia. We assume that these are at least partially independent and that the existence of more than one is a sign of worse general condition. Fatigue and malaise show a statistically significant difference in the two classes – always regarding the UCI data. There are reports that fatigue doesn’t have any prognostic value, though the frequency of appearance in chronic hepatitis is recognized. A group of rules assert the fact (generalcondition bad) when these symptoms are reported. The other combination of clinical evidence is used to evaluate the existence of portal hypertension, which is a result of cirrhosis and therefore a bad prognostic feature.

172

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis Table 3. Intermadiate fuzzy rules (fatigue yes)

(malaise yes)

(anorexia yes)

+

generalcondition1

0.5 +

generalcondition2

0.5

generalcondition3 +

generalcondition12

+

generalcondition123

+

+

0.4

+

0.7

+

0.7

+

0.9

+

0.7

+

generalcondition23 generalcondition31

CF

+

Of the available data, portal hypertension is connected with palpable spleen, varices, spider spots, ascites (which is not used in these rules) and maybe a firm liver. A group of rules estimates the existence of portal hypertension and asserts the fact (portal hypertension). Combinations of the variables are pointless in this case, as the existence of one is enough for the diagnosis. Table 4. Diagnosis fuzzy rules (spleen yes) hyperportal1

(kirsoi yes)

(spider yes)

(firmliver yes) CF

+

0.9 +

hyperportal2

0.9 +

hyperportal3

0.9 +

hyperportal4

0.2

Child-Pugh scoring system uses the values of bilirubin, albumin, prothrombin time, severity of ascites and severity of encephalopathy. These are graded from 1 to 3, and thus the result has a range of 5 to 15. For a score greater than 10, the patient is classified to class C where we have the greatest risk. We don’t have the data to evaluate encephalopathy; however, the existence of three of the other four is enough to assume we have a greater danger. A group of rules asserts the fact (child high) when these conditions are met. Table 5. Child fuzzy rules (albumin low) (bilirubin high) highChildscore1

+

highChildscore2

(protime high)

(ascites yes)

CF

+

+

+

+

+

0.8

+

+

0.8

+

0.8

+

1.0

highChildscore3

+

highChildscore4

+

+

highChildscoreall

+

+

+

0.8

HEPAR: An Intelligent System

173

High risk rules The factors used for the assertion of (class die) and the rules that handle them are 1. 2. 3. 4. 5. 6. 7.

child score: this is the most reliable, CF 0.9 general condition: this is not objective, CF 0.1 portal hypertension: this uses clinical observations, CF 0.2 ascites: the existence of ascites alone is a very important prognostic feature; 70% of patients with ascites die in the UCI data. Although child score uses this as well, it is reported as an independent factor. CF 0.5. alkaline phosphatase: not considered a statistically important factor, it is acknowledged as a possible tool, CF 0.35 SGOT and bilirubin values: inspired by Emory score, which uses among others bilirubin and SGPT, we use bilirubin and the available transaminase SGOT, CF 0.5. Age, PT, bilirubin: This is the only rule using the “extreme” PT, based on the King’s College criteria. CF 0.7

Rules with low certainty factor are useful when the data cannot support a rule of higher validity. Table 6. Risk calculation fuzzy rules (child high) (generalcondition bad)

(portal hypertension)

(ascites yes)

+

Ischildhigh

Cf 0.9

+

Badcondition

0.1 +

Hasportalhyper

0.2 +

Hasacites

0.5

For example, when we don’t have the results of laboratory tests we can use the less objective clinical evidence. Table 7. Alternative fuzzy rules (alkpho high) (sgot high) highalcpho emory KingsCollege Transplant

(bilirubin high)

(age old)

(protime extreme)

+

CF 0.35

+

+ +

0.50 +

+

0.70

3.6 Prognosis Rules The majority of the rules are based on an existing grading system or report on the data of the UCI database. Many modern scales cannot be used, as the data necessary for their calculation are unavailable. For example, MELD uses creatinine values and INR, Child-Pugh uses information about encephalopathy, etc. In addition, every scale has

174

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis

its use on hepatitis of specific etiology, like Lille score for alcoholic hepatitis, which is important information also absent in the UCI data. These variables are not used in any rules: gender, steroid use, liver size and decision to perform biopsy. Liver size, while useful for diagnosis, cannot help in the evaluation of prognosis. It is difficult to have an objective estimation on liver size. Moreover, only the change over time could be useful in the evaluation of the severity of the disease. In the UCI data, the difference in the two classes is not statistically important. The decision to perform biopsy may be a sign of chronic disease, which could lead to a worse prognosis. However, the biopsy result may result in better treatment. Statistical processing on the UCI data suggests a difference, with fewer deaths on those patients who were subjected to liver biopsy. We cannot support a reasonable rule using this information; on the other hand, random tests don’t seem to ameliorate the prognostic value of the rules.

4 Implementation Issues 4.1 FuzzyCLIPS 6.10d The system has been implemented in FuzzyCLIPS 6.10d. Two main facts are used, (class die) and (class live). Every rule representing risk factors asserts the first, while every protective rule asserts the second. The final result is the difference between the certainty factors of these facts. While forming the rules, we keep in mind that some of the data can be combined (as all grading systems do) to form values useful for prognosis. The representation of the data is achieved through a fuzzy template which defines “normal” and “abnormal” for every variable. Default fuzzy values with equal representation to all their range are used when a value is missing. The program is segmented in 4 files. Input-output processes We begin with batch file start.bat (defglobal ?*out* = "2") (defglobal ?*in* = "") (load "definitions.clp") (load "functions.clp") (load "rules.clp") (open "../Hepatitis-uci/hepatitis.data" infile "r") (open "results.csv" outfile "w") (while (stringp (bind ?*in* (readline infile))) (readdatafacts ?*in*) (run) (printout outfile ?*in* "," ?*out* t) (reset) ) (close infile) (close outfile)

HEPAR: An Intelligent System

175

Variables out and in are defined. In will store a line of input from file hepatitis.data and out will store a value in [1,2] where 1 classifies the patient to class DIE and 2 to class LIVE. If no rule is activated, out retains its default value of 2. Fuzzy templates are defined in file definitions.clp, a helper function readdatafacts is defined in file functions.clp and the rules are stored in file rules.clp. Input and output files are opened. Input file contains lines of this format: 2,30,2,1,2,2,2,2,1,2,2,2,2,2,1.00,85,18,4.0,?,1 A while loop begins, where 1. 2. 3. 4. 5.

the next line of the input file is stored to variable in function readdatafacts converts this line to facts rules are executed with (run) and thus the value of out is set the input line and the result are stored to the output file facts are cleared with (reset)

The loop terminates when in doesn’t contain a string, in other words when end of file has been reached and EOF symbol is returned.

ROC Curve 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Fig. 4. Receiver Operating Characteristic curves

Finally, the files are closed. The output file is a comma separated values (CSV) file and can be readily processed from spreadsheets programs (like Excel).

176

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis

4.2 Template Definition The following fuzzy templates are defined in file definitions.clp 1. 2. 3. 4. 5. 6. 7. 8.

fz_age fz_sex fz_yesno fz_bilirubin fz_alkpho fz_sgot fz_albumin fz_pt

A template is also defined for the patient. Each given variable for the case is stored in a slot: (deftemplate patient (slot prognosis) (slot age (type FUZZY-VALUE fz_age)) (slot sex (type FUZZY-VALUE fz_sex)) (slot steroid (type FUZZY-VALUE fz_yesno)) (slot antivirals (type FUZZY-VALUE fz_yesno)) (slot fatigue (type FUZZY-VALUE fz_yesno)) (slot malaise (type FUZZY-VALUE fz_yesno)) (slot anorexia (type FUZZY-VALUE fz_yesno)) (slot bigliver (type FUZZY-VALUE fz_yesno)) (slot firmliver (type FUZZY-VALUE fz_yesno)) (slot spleen (type FUZZY-VALUE fz_yesno)) (slot spider (type FUZZY-VALUE fz_yesno)) (slot ascites (type FUZZY-VALUE fz_yesno)) (slot kirsoi (type FUZZY-VALUE fz_yesno)) (slot bilirubin (type FUZZY-VALUE fz_bilirubin)) (slot alkpho (type FUZZY-VALUE fz_alkpho)) (slot sgot (type FUZZY-VALUE fz_sgot)) (slot albumin (type FUZZY-VALUE fz_albumin)) (slot protime (type FUZZY-VALUE fz_pt)) (slot biopsy (type FUZZY-VALUE fz_yesno)) )

5 Experimental Results The program returns a continuous value with a minimum of 1 for the cases definitely belonging to class “die”, whereas if only protective rules are activated, we get values larger than 2, with a maximum of 2.3. We need to set a threshold over which cases are classified to class “live”. Afterwards, we can perform the classical analysis for false and true positive and negative results, and calculate the sensitivity and the specificity. For example, for a threshold of 1.87 we have 96.9% sensitivity (only one false

HEPAR: An Intelligent System

177

negative) and 69.9% specificity. Of those classified to “die” only 45% do indeed die, whereas 98.9% of those classified to “live” actually survive. If we set a threshold of 1.68, specificity rises to 91.9%, but sensitivity goes down to 62.5%. This relationship between sensitivity and specificity is readily observed in Receiver Operating Characteristic1 curves, where sensitivity vs. (1 – specificity) is plotted for every threshold point [18, 19]. The area under the curve is a measure for the discriminative value of the test, with 1 showing a perfect discrimination while 0.5 is a useless test (equal to flipping a coin). For the estimation of the curve we use the Johns Hopkins University program in the website http://www.jrocfit.org/ (some numeric conversions are necessary for compatibility). The calculated area under the ROC curve is 0.911 (standard error 0.0245), which is considered a very good result. It is possible that changes in the certainty factors or the boundaries in the definitions of abnormal could give slightly better results. The calculated ROC curve and 95% confidence intervals: The estimation for the area under the curve: AREA UNDER ROC CURVE: Area under fitted curve (Az) = 0.9110 Estimated std. error = 0.0245 Trapezoidal (Wilcoxon) area = 0.9069 Estimated std. Error = 0.0364

6 Related Work Various systems have been created in order to be used as hepatitis diagnosis but no one for liver transplantation. One of the most successful is HERMES [20]. This system focus is the evaluation of prognosis in chronic liver diseases. Our focus is the prognosis in hepatitis, regardless if it is acute or chronic. So, the systems overlap in the case of chronic hepatitis. Our system covers cases of acute hepatitis; Hermes covers cases of chronic liver diseases other than hepatitis. Note that UCI doesn’t specify the patient group in hepatitis – it is not certain if our data cover both acute and chronic disease. HERMES evaluates prognosis as a result of liver damage, therapy, hemorrhagic risk and neoplastic degeneration effects – it calculates intermediate scores which are linearly combined (with relevant weights) to estimate prognosis. Our data can cover estimations of liver damage and therapy (antiviral) effects on prognosis, and partially (though the existence of varices) hemorrhagic risk; every rule has a certainty factor, similar to the weight of HERMES. In general, HERMES makes use of more functional tests – they report 49 laboratory tests. Some rules make use of temporal data as well. Our variables are fuzzy. For example, HERMES would assert a glycid score (a functional test we don’t have in our data) if it is > 200, or if we have two tests > 140. A similar variable in our data would be defined as definitely 1

The name originates from the ability of the operator to discriminate whether a dot on the radar is an enemy target or a friendly ship. ROC curves are a part of Signal detection Theory developed during 2nd World War.

178

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis

abnormal if it was > 200, definitely normal if it was for example < 120 and 50% abnormal if it was 140. This gives our program power over marginal scores. The rule would be activated in our program if we had 199, but not in HERMES. Note that the HERMES description does not cover all their variables and rules. It isn’t specified if the program gives some result when many variables are missing. The authors don’t give any results: we cannot evaluate the HERMES approach – at least not in this article where the prototype is discussed. In an other system for the diagnosis, treatment and follow-up of hepatitis B is described in [21]. The focus of this system is the diagnosis through serological tests (we don’t have any in the UCI data) of the exact type of the virus and an estimation (using biochemical data and patient’s history) of a possible response to therapy (interferon therapy). The system uses rules, and thus judged a very powerful learning tool. However, “in real-life cases, consultation of an expert system cannot serve as a substitute of the consultation of a human expert”. This is one of the many examples of expert systems focused on diagnosis. In viral hepatitis a multitude of serological data and their changes over time must be evaluated in order to establish a diagnosis with certainty, a task rather complicated for a non-expert doctor or a student and that is why most systems aim at this problem. The rules are well-known and simple, which makes the use of expert systems ideal. Neural networks have been used, as well. Data differentiation and parameter analysis of a chronic hepatitis B database with an artificial neuromolecular system [22]. For hepatitis B, one can define different classes, healthy subjects, healthy carriers, chronic patients. Thus, neural networks can be used to discriminate them. The last one is described in [22] were the authors use similar data (plus a serological), but their aim is diagnosis, and finally don't use rules.

7 Conclusions and Future Work In this paper, we present the design, implementation and evaluation of HEPAR, a fuzzy expert system that deals with hepatitis prognosis and liver transplantation. The diagnosis process was modeled based on expert’s knowledge and existing literature. Linguistic variables were specified based again on expert’s knowledge and the statistical analysis of the records of 155 patients from the UCI hepatitis database. Linguistic values were determined by the help of expert, the statistical analysis and bibliographical sources. It cannot be denied that an expert system able to provide correct prognosis in the field of chronic liver disease is to be considered an intrinsically ambitious project, for which there is no guarantee of the final success. The large number of variables involved, the fact that knowledge of various aspects of the problem is still incomplete and, above all, the presence of a variable which is impossible to quantify, i.e. the peculiarity of each patient, may represent a barrier to achieving the intended results, especially with reference to individual patients. Finally setting up a prototype of this kind may provide new information about the mechanisms which regulate the development the disease severity and risk for liver transplantation, providing a more rational foundation for those assumptions which have so far been based only on the intuition and experience of the non-expert physician. Experimental results showed that HEPAR did quite well. A possible improvement could be the re-determination of

HEPAR: An Intelligent System

179

the values (fuzzy sets) of the linguistic variables and their membership functions. Better choices may give better results. One the other hand, use of more advanced representation methods, like hybrid ones [23], including genetic algorithms or neural networks may give better results.

References [1] Disorders of the Gastrointestinal System: Liver and Biliary Tract disease. In: Harrison’s Principles of Internal Medicine, 15th edn (2001) [2] Johnston: Special Considerations in Interpreting Liver Function Tests. American Family Physician 59(8) (1999) [3] Shakil,, et al.: Acute Liver Failure: Clinical Features, Outcome Analysis, and Applicability of Prognostic Criteria. Liver Transplantation 6(2), 163–169 (2000) [4] Dhiman, et al.: Early Indicators of Prognosis in Fulminant Hepatic Failure: An Assessment of the Model for End-Stage Liver Disease (MELD) and King’s College Hospital Criteria, LIVER TRANSPLANTATION 13, pp. 814–821 (2007) [5] Soultati, A., et al.: Predicting utility of a model for end stage liver disease in alcoholic liver disease. World J. Gastroenterol 12(25), 4020–4025 (2006) [6] Kamath, Kim.: The Model for End-Stage Liver Disease (MELD), HEPATOLOGY (March 2007) [7] Schepke, et al.: Comparison of MELD, Child-Pugh, and Emory Model for the Prediction of Survival in Patients Undergoing Transjugular Intrahepatic Portosystemic Shunting. AJG 98(5) (2003) [8] Cholongitas, E., et al.: Review article: scoring systems for assessing prognosis in critically ill adult cirrhotics. Aliment Pharmacol Ther. 24, 453–464 (2006) [9] Louvet, et al.: The Lille Model: A New Tool for Therapeutic Strategy in Patients with Severe Alcoholic Hepatitis Treated with Steroids. HEPATOLOGY 45(6) (2007) [10] Botta, et al.: MELD scoring system is useful for predicting prognosis in patients with liver cirrhosis and is correlated with residual liver function: a European study. Gut. 52, 134–139 (2003) [11] Hepatitis UCI database. G. Gong (Carnegie-Mellon University) via Bojan Cestnik, Jozef Stefan Institute, Ljubljana Yugoslavia (1988) [12] Chan, et al, Evaluation of Model for End-Stage Liver Disease for Prediction of Mortality in Decompensated Chronic Hepatitis B. American Journal of Gastroenterology (2006) [13] Katoonizadeh, et al.: MELD score to predict outcome in adult patients with nonacetaminophen-inducedacute liver failure. Liver International (2007) [14] Jones,: Fatigue Complicating Chronic Liver Disease. Metabolic Brain Disease 19(3/4) (December 2004) [15] Forrest, Evans, Stewart, et al.: Analysis of factors predictive of mortality in alcoholic hepatitis and derivation and validation of the Glasgow alcoholic hepatitis score. Gut. 54, 1174–1179 (2005) [16] Wadhawan, et al.: Hepatic Venous Pressure Gradient in Cirrhosis: Correlation with the Size of Varices, Bleeding, Ascites, and Child’s Status. Dig. Dis. Sci. 51, 2264–2269 (2006) [17] Vizzutti, et al.: Liver Stiffness Measurement Predicts Severe Portal Hypertension in Patients with HCV-Related Cirrhosis. HEPATOLOGY 45(5) (2007) [18] Fawcett, T.: ROC Graphs: Notes and Practical Considerations for Researchers (2004)

180

C. Koutsojannis, A. Koupparis, and I. Hatzilygeroudis

[19] Lasko, T.A., et al.: The use of receiver operating characteristic curves in biomedical informatics. Journal of Biomedical Informatics 38, 404–415 (2005) [20] Bonfà, C., Maioli, F., Sarti, G.L., Milandri, P.R.: Dal Monte HERMES: an Expert System for the Prognosis of Hepatic Diseases, Technical Report UBLCS-93-19 (September 1993) [21] Neirotti, R., Oliveri, F., Brunetto, M.R., Bonino, F.: Software and expert system for the management of chronic hepatitis B. J. Clin. Virol 34(suppl. 1), 29–33 (2005) [22] Chen, J.: Data differentiation and parameter analysis of a chronic hepatitis B database with an artificial neuromolecular system. Biosystems 57(1), 23–36 (2000) [23] Medsker, L.R.: Hybrid Intelligent Systems. Kluwer Academic Publishers, Boston (1995)

Improving Web Content Delivery in eGoverment Applications Kostas Markellos1, Marios Katsis2, and Spiros Sirmakessis3 1

University of Patras, Computer Engineering and Informatics Department, University Campus, 26500, Rio, Greece [email protected] 2 University of Patras, Computer Engineering and Informatics Department, University Campus, 26500, Rio, Greece [email protected] 3 Technological Educational Institution of Messolongi Department of Applied Informatics in Administration and Economy 30200, Messolongi, Greece [email protected]

Abstract. The daily production of statistical information increases exponentially worldwide, making the processing of this information a very difficult and time – consuming task. Our work focuses in creating a web platform for accessing, processing and delivering statistical data in an effective way. The platform consists of a set o integrated tools specified in the organization, validation, maintenance and safe delivery over the web of statistical information recourses. The idea is to enhance the current system, providing direct dissemination functionalities to authorized international users (mainly Eurostat). In this case, the datasets will be tested and validated at national level and then they will be stored in the Transmission’s System Database, from which they can be downloaded by Eurostat, whenever necessary (in this way, the transmission via STADIUM will be skipped). Using the XTNET Rules Support and Transmission System designed for the National Statistical Service of Greece (NSSG), the whole statistics production and dissemination process is improved because the validation checks take place at an earlier stage as it is performed by the NSI itself whereas the transmission is performed by Eurostat itself. Furthermore, an overall improvement of data quality is expected.

1 Introduction One of the major problems in the management and dissemination of current Web content is the need for efficient search, filtering and browsing techniques of the available recourses. This is most urgent and critical in the field of Statistics which is a conceptually rich domain where information is complex, huge in volume, and highly valuable and critical for governmental institutes and public or private enterprises. The daily production of statistical information increases exponentially worldwide, making the processing of this information a very difficult and time – consuming task. Our work focuses in creating a web platform for accessing, processing and delivering statistical data in an effective way. The platform consists of a set o integrated tools C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appli. with Artificial Intel., SCI 166, pp. 181–197. springerlink.com © Springer-Verlag Berlin Heidelberg 2009

182

K. Markellos, M. Katsis, and S. Sirmakessis

specified in the organization, validation, maintenance and safe delivery over the web of statistical information recourses. The main objective of our work is to present the development and implementation of a prototype system which concludes to the XTNET web –based system for validating and transmitting to Eurostat trade data. The intention is to extend the implemented web – oriented services not only to national users (individuals or institutes) but also to international collaborators, like Eurostat. The expected results from the development and functioning of the application will be: ƒ Web – based XTNET rules platform with validation, processing and transmission tools. ƒ Web Access to database with the proper security measures, allowing all the involving parties to see, manipulate and use the data. ƒ Better validation and correction process of records through usable web interface. ƒ Automatic creation of Validation history files that will provide a useful insight of the quality of data. ƒ Export of datasets in appropriate format for instant transmission to Eurostat. ƒ Enhancement of the current dissemination system, providing flexibility to users. ƒ Extension of web – oriented services not only to national users but also to international users. ƒ Overall improvement of data quality. The rest of the paper is organized as follows. Section 2 presents the motivation and the previous works that led to the design and implementation of the extended modules. The next section describes the necessary technology background, while in Section 4 we present the system’s process and architecture. In Section 5 we present a case study assessment focusing in the functionality of the implemented tools. Finally we conclude in Section 6 with a discussion about our work and our future plans.

2 Motivation NSSG is the General Secretariat of the Ministry of Economy and Finance and is responsible for the collection, processing, production and dissemination of the Official Foreign Trade Statistics. The published statistics include both Intrastat and Extrastat surveys. Until now, data were collected at National level, processed by the NSI and finally, they were transmitted to Eurostat via STADIUM. Eurostat validated the received data and in case of errors they communicated with the Member States in order to correct the errors and improve the quality of the dataset. This procedure resulted into great delays for the production of the final datasets, while in some cases error correction was difficult. The overall process is depicted in figure 1. In order to enhance the overall experience of the XTNET users (viewers, editors, administrators) we have created a set of tools to provide added value services in the data exchange process between users. We have used as a basis the XTNET Rules

Improving Web Content Delivery in eGoverment Applications

183

1. Data Provided by the PSIs

2. Data Receipt by the NCAs 3. Data Consolidation at the NCAs Final Database 4. Data Dispatch to Eurostat NCA Environment

• • • • •

Codes checking on INTRA and EXTRA Files Checks on Invalid Combinations between Several Variables Checks for Missing or Duplicated Records Unit Value Checking Mirror Statistics

• • • •

Codes Checks on INTRA and EXTRA Files received Checks on Invalid Combinations between Several Variables Checks for Missing or Duplicated Records Checks on Value and Net Mass for Outlier Detection

5. Data Receipt by Eurostat

6. Data Consolidation at the Eurostat Final Database Eurostat Environment

Fig. 1. Controls for the Dataflows from NCAs to Eurostat

Support System for the appropriate validation and preparation of data of Eurostat according to XTNET rules. The main goals of the XTNET Rules Support System provided by the National Statistical Service of Greece (NSSG) are to modernize and improve the Trans-European network of trade statistics. It is a new information system for better trade data collection, processing, validation and aggregation, and for production of useful reports and publications. XTNET Rules Support System also provides an audit trail in order to keep history of controls and corrections to the trade data. The main objectives of the new offered features are to enhance the current system, providing direct dissemination functionalities to authorized international users (mainly Eurostat). The XTNET Rules Transmission System will contain the final datasets on external trade statistics. In this case, datasets will be tested and validated at national level and then they will be stored in the Transmission’s System Database, from which they can be downloaded by Eurostat, whenever necessary (in this way, the transmission via STADIUM will be skipped). Using the XTNET Rules Support and Transmission System, the whole statistics production and dissemination is improved because the validation checks take place at an earlier stage as it is performed by the NSI itself whereas the transmission is performed by Eurostat itself. The main features of the proposed module are the following:

ƒ ƒ ƒ ƒ ƒ

The System’s database (Oracle Ver. 8i) designed and implemented according to Eurostat’s rules and specifications for storing “ready – to - transmit” datasets. Production and Usable presentation of error – free, validated datasets and transmission to Eurostat. New usable interface secured with appropriate user authorization and authentication techniques. Secure Web access to database featuring state – of – art technologies (XML, web services, Internet Security) Full – scale application of the XTNET rules at National level.

184

ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ

K. Markellos, M. Katsis, and S. Sirmakessis

Development of common, open modules for system interoperability and integration. Different views depended on the privileges of the user that is logged in the system. Users Administration page accessed only by the Administrator of the system with add user, delete user, modify users’ rights functionalities. Enhanced paging of large datasets for more instant responses from the server. Ability of client –side validation during the correction of records by the editors. Now the validation controls provide immediate feedback (without a round trip to the server) and the user experience with the page is enhanced. Creation of Errors Database for returning more detailed descriptions of errors to users. Enhancement of application with added – value services. Provide assistance to editors for records retrieval using search mechanism for filtering results (datasets of errors or records). Overall improvement of data preparation, validation and presentation by integrating optimum techniques.

The following sections describe the process in detail, the controls that the XTNET Rules Support System applies at the codes of the INTRA and EXTRA files, the format of the INTRA and EXTRA files and the details of the Validation History file. Finally, the paper concludes with the technical part of the XTNET Rules Support System which deals with technologies and programs that were used during the development process, and the presentation of the basic features of the system.

3 Process and System Architecture Extrastat declarations are collected by the Integrated System of Customs Offices, while data of Intrastat declarations are collected automatically from the Online Intrastat Declarations System (web) and from the National Revenue Services (data entry). After an initial data validation and correction, the declarations are transmitted to the NSSG for statistical processing, analysis and dissemination to the end users. At the time the declarations are registered into the system, corrections are done manually, after having contacted the PSIs. NOTE: The electronic system of Intrastat statements’ declaration operates successfully since January 2003 and it serves 45.682 registered enterprises and 4.655 accountants / accounting offices that have declared in total 793.704 statements. End users of the system (editors at national level) are able to run further validation controls and correction procedures (automated or manual) according to the rules documented to the DocMeth400 - Rev.15 in order to produce validated INTRA, EXTRA and Aggregated Statistics files. During the data validation process, a record keeping of the various steps and results of the process is generated that represents the validation history file for a specific dataset. If the history file contains errors then Editors should correct them and rerun

Improving Web Content Delivery in eGoverment Applications

185

the data validation process (as many times is necessary) in order to conclude to a final error–free dataset ready to transmit to Eurostat. In other words, when all errors of the INTRA or EXTRA datasets are corrected the dataset is automatically copied into the final tables ready for transmission to Eurostat. The whole process is depicted analytically in the following figure.

Fig. 2. The XTNET Rules Transmission System Process

In the following part of this section we describe in details the steps of controls/check that datasets undergo. We also describe the Formats for the INTRA, EXTRA and Aggregated Final files, the basic features of the application and all the technical specifications. There are five main steps of controls/checks: 1. 2. 3. 4. 5.

Validity checks, Credibility checks, Checks for missing information or duplicates values, Control on the unit prices (value/net mass, value/supplementary units), and finally Mirror Statistics exercises (optional).

186

K. Markellos, M. Katsis, and S. Sirmakessis

Validity checks Validity checks are carried out in order to indentify invalid codes, as well as omissions. The exact controls that the XTNET Rules Support System applies at the codes of the Intra or Extra files are described in the following paragraph. As an example, we select to validate a section of an Extra File. In the appendix table 1 describes the format and how many sections have a datarow of an Extra or Intra File. The first section is describing the reference period of the product. The reference period has six digits code (yyyymm), in which (yyyy) is the reference year and (mm) is the reference month. The reference period should be checked to be a six digit code. The first four digits should be checked to be the reference year and the two last digits should be checked to be the reference month. There are three possible errors: a. b. c.

This section is not a six digit code The code contains characters The first four digits are not the reference year or the last two digits are not the reference month

In case of errors, editors get a fatal error and they have to examine again the section 1 of the datarow. Credibility checks The output INTRA and EXTRA files could be checked for implausible combinations of data, in order to detect inconsistencies, not identified in previous control stages. The controls on implausible combinations will allow the transmission of data that are consistent and credible, thus improving the quality of the trade data figures. Some common control rules that could be performed include commodity code against mode of transport (Table 1, Appendix). Certain commodities codes could be combined with specific modes of transport. For goods whose value per unit mass is known (unit price), it is worth investigating whether checks should be made to see whether the unit price justifies air transport. In other words, one would expect that an item whose unit price is below a threshold air transport is not economical. An example is mineral ores. Invalid combinations are possible errors. In case of that kind of errors, editors should correct mode of transport depending on the commodity code or investigate the section. Another common control rules that could be performed include Commodity Code against Partner Country (Table 1, Appendix). Certain commodities codes could be traded with specific partner countries, or certain commodities codes cannot be traded with specific partner countries. Invalid combinations are possible errors. In case of that kind of errors, editors should investigate the section. Checks for missing information or duplicates values Checks for missing information or duplicates should be carried out in the INTRA and EXTRA output files before sending them to Eurostat.

Improving Web Content Delivery in eGoverment Applications

187

Sometimes, output files contain non-accurate or partially complete records while the data in the NCA consolidation database are accurate; in such cases the errors in the output file are due to the extraction process. For instance, a flawed extraction process may yield duplicated records or a partial set of records (i.e. some records are left out). The controls to be applied concern: •



Comparison of the total number of output records against the corresponding number of past output records sent each month to Eurostat. If large deviations are noticed then investigations should be carried out to identify and remedy the causes. Comparison of global figures in import/export or on aggregated CN2 level per partner country with past reported data. If large deviations are noticed then investigations should be carried out to detect the cause of discrepancies.

There are two possible errors: d. e.

Incomplete output file Existence of duplicate records

In case of errors, editors have to investigate again all the datarows, or get a warning which means that they have to delete duplicate data rows. Control on the unit prices (value/net mass, value/supplementary units) Control on the unit prices (value/net mass, value/supplementary units, Table 1 Appendix) in order to detect outliers and identify suspicious transactions. A unit value checking could be also carried out in the output file before its transmission to Eurostat. For each transmitted observation, which involve mainly aggregated data by flow, commodity code and partner country, unit values will be calculated: value per kilo and value per supplementary unit. Those unit values will be compared with unit values intervals based on historical data. If a unit value falls within the interval, then it will be considered valid, otherwise, it would be suspicious and further analysis will be required. There are two possible errors: f. g.

The unit value is above the upper limit. The unit value is below the lower limit.

In case of errors, editors get a warning that an outlier detected and they have to investigate again all the datarows, or conditional auto-correction might be applied and be adapted by the NCAs. Mirror Statistics Mirrors statistics exercises can be adopted by the NCAs as a very effective tool for identifying recurring problem areas and ultimately improving the quality of external trade statistics. Mirror statistics exercises involve the comparison of “mirror” values (i.e. statistical value, net mass or supplementary unit, Table1 Appendix) of trade flows between two countries measured by each of the partner countries.

188

K. Markellos, M. Katsis, and S. Sirmakessis

Eurostat has undertaken work on asymmetries and relevant statistical methodology for mirror statistics. From 2006, the NCAs will be able to check their trade data against the reported data by other NCAs due to Eurostat’s Asymmetries reporting. The exercises can be carried out with major trading partners starting on a more aggregated level and drilled down to detailed level. The discrepancies can be identified by first comparing the total trade as well as the statistical information on export/import on the CN2-level. The groups of CN2-level with the most noticeable discrepancies will be selected to be studied more closely. In these groups, the statistical information can be compared on the CN6-level which corresponds the most detailed level of HS (Harmonized System), and the reasons for the most significant discrepancies can be studied in detail. Possible error is significant discrepancies in value to have been identified. In case of errors, editors should undertake an investigation seeking to identify the causes of the discrepancies. Editors also might take revision of trade statistics. NOTE: NSSG is planning to perform checks for implausible combinations of variables, for missing or duplicate records, for unit values and mirror statistics in future enhancement actions in the XTNET Rules Support System. Validation History File During the data validation process, a record keeping of the various steps and results of the process is generated that represents the validation history file for a specific dataset. This validation history file contains information on the validation process (i.e. editor, date, records checked, errors detected per record, automatic changes per record, etc) in order to provide a useful insight of the quality of data. That information will highlight the critical errors and the variables that present the highest proportion in controls failure. This could be provided as a feedback to NCAs to find methodological ways to reduce their errors. Moreover, another aim of the validation history file could be to study and analyze the process events to find the weaknesses and to make changes where necessary to minimize, perhaps even eliminate those weaknesses. For example, information on the number of cases failing each control, and on the number of these for which changes in the data resulted, indicates whether the checks are working efficiently in detecting errors. Therefore, the validation history file should contain information for each record of the checked dataset as well as summary information for the validation process. Both those type of information helps the NCAs to assess the quality of their data as well as the performance of the validation process. The validation history file will contain the following information: Per dataset file: ƒ ƒ ƒ ƒ ƒ ƒ

Reference period Revision number Type of trade (E, I) Time and Date of processing (start time); ID of the person (editor) who executes the validation process; Total number of records checked;

Improving Web Content Delivery in eGoverment Applications

ƒ ƒ ƒ ƒ ƒ ƒ

189

Total number of records with fatal errors; Total number of records with errors; Total number of records with warnings; Total trade value of records with fatal errors; Total trade value of records with errors; Total trade value of records with warnings

Per each line of dataset where errors are found: ƒ ƒ ƒ ƒ ƒ ƒ

Line number (and if necessary pertinent data items to uniquely identified erroneous records); Control type: what type of control is executed, i.e. code checking, implausible combinations, outlier detection; Type of the Error: i.e. fatal error, error, warning; Erroneous section(s) (e.g. product code); Type of change, i.e. automatic correction, further investigation by the editor, no change; Original value - Corrected value.

Eurostat Users are able to view and export the history files directly from the XTNET Rules Transmission System.

4 Technology Background The current sections deals with the technical part of the XTNET Rules Transmission System. Initially, the technologies and the programs that were used during the development process are described and a presentation of the basics features of the system follows. The development of the application was based on the technologies ASP.NET, .NET Framework, while the products that have been used were Microsoft Windows 2000 Advanced Server, Oracle Database Version 8i, Visual Studio .NET Developer Tools, Microsoft Internet Information Services and C #. The development platform of the XTNET Rules Transmission System is Microsoft .NET. The .ΝΕΤ platform has been designed so that it can unify all the applications that are used by an enterprise, independently of the software or hardware system that it might use. The key in this architecture are the XML Web Services, which are pieces of reusable code that has been based on widespread standards and which an application can use without further knowledge of the operating system in which they have been created, or the platform on which they are based.The.NET platform is supplemented by other products and services like Visual Studio .NET and .NET Framework for the development of applications, the .NET Passport service and .NET My Services which improve considerably the service of users. The .ΝΕΤ Framework is the programming model of the .NET platform for the development and operation of XML Web Services and applications. It provides a productive environment that is based on well known standards for the unification of an enterprise’s existing investments with the nest generation’s applications and services. It is constituted by two main parts: the Common Language Runtime and an integrated

190

K. Markellos, M. Katsis, and S. Sirmakessis

total of class libraries and specifically of ASP.NET for Web applications, XML Web Services, Windows Forms for client applications and ADO.NET for accessing data. The Visual Studio .NET is based on the previous editions of Visual Studio, so that it can offer flexibility and to facilitate the development of integrated services. Moreover, Visual Studio .NET provided the ability to the developers to create applications and XML Web Services that run in any browser and any device. Still, any programming language can be used for the development of the application, increasing that way the productivity of the development team, since they can take advantage of already existing knowledge. Finally, ASP.NET is a rich collection of objects and classes, which allow the development of an application with the following advantages: facile application development, since all the settings are kept in XML files, while the components and their changes are automatically updated by the system. Additionally, there are provided important facilities and possibilities to debug the application. Also, is given the possibility of designing a particularly elegant application, with dissociation of the presentation level from the logic level, by using code modules that are apart from the page and event-driven object oriented programming. Moreover, any programming language can be used and its source code is really compiled, allowing even bigger performance speeds. Another important advantage of ASP.NET is that it allows the creation of Web Services using the SOAP technology; it provides facilities for the Web application in Web Farm or Web Garden and provides great possibilities of caching all or part of the pages, in order to increase the application’s performance. For storing and retrieving the data files the Oracle Database Version 8i is selected to be the relational database management system that will cooperate efficiently with the above technologies as clearly stated in the specifications given by Eurostat.

5 Case Study Implementation In order to show the general functionality of the implemented system and the added – value services that offer to the users we will describe some screenshots taken from the system available at http://www.statistics.gr/xtnetToolWeb. The users of the XTNET Rules Support System are provided by their username / password in order to gain access to the system. After the authorization and authentication process users are able to navigate through the site by selecting from the menu bar at the top of the site. The selections are different depending on the privileges of role assigned to the user (Editor/Administrators/Eurostat). Τhe abilities they have are: ƒ ƒ ƒ ƒ ƒ

General (a set of pages describing the system, the formats of the files, the controls that are performed etc.). Files (The Datasets of Intra, Extra and Aggregated files). Revisions (The history files of INTRA and EXTRA files validation processes). Final Datasets (The Final Validated Datasets of Intra, Extra and Aggregated files). Final Revisions (The Final history files of INTRA and EXTRA files validation processes).

Improving Web Content Delivery in eGoverment Applications

ƒ ƒ

191

Users (Users Administration – Available only to Administrators). Logout (Logout and exit from the XTNET Rules Support System).

By selecting INTRA Files or EXTRA Files from the Files Menu the authenticated user (Editors or Administrators) is able to view and modify the INTRA / EXTRA files. More specifically he can: ƒ ƒ ƒ ƒ ƒ

View the INTRA / EXTRA Dataset simply by selecting the reference period from the list. View the details of each record by clicking its Record number. Delete records (Delete button). Export the Dataset of the selected Reference period (.txt file formatted as described in DocMeth400 Rev.15) (Export Button). Validate the Dataset (run controls at INTRA / EXTRA - Community Trade codes) (Run Validations Button)

Fig. 3. EXTRA Files Page (Run Validations button is clicked)

Fig. 4. Search Functionality by Code

192

K. Markellos, M. Katsis, and S. Sirmakessis

Fig. 5. EXTRA Records Page

Users have the ability to search the dataset to find a specific row by typing the code in the search textbox and click search to narrow the records of the dataset. Additional, users have the ability to export a selected dataset in the Format specified by DocMeth400 Rev.15 With XTNET Rules Support System Editors are able to review every record of each dataset and modify it in case of error. This is accomplished by clicking in each record (from the INTRA / EXTRA Files Pages or from the INTRA / EXTRA Revisions Page). This action loads the INTRA / EXTRA Records Page where Editors are able to correct the erroneous Sections (a detailed tip for the type of error and an explanation appears beside each section) as presented in Figure 5. One of the added value services of the XTNET Rules Support System is the activation of client –side validation during the correction of records by the editors. If the user types a wrong value, the validation controls provide immediate feedback (without a round trip to the server). In the Revisions section users are able to view the revisions (errors reports) of the INTRA or EXTRA DataSets. Specifically they can: ƒ ƒ ƒ ƒ ƒ

View the details of INTRA / EXTRA Revisions for a specified reference period from the list (the information that every Revision contains has been described in the Section Validation History File). View errors for each section of all records (grouped by Line). Correct records by clicking the link for each record. Export the Revision (.txt file) (Export Button). Filter the selected Revision by Error type (Group by Error type List)

Improving Web Content Delivery in eGoverment Applications

Fig. 6. EXTRA Revisions Page

Fig. 7. Aggregated Statistics Page

193

194

K. Markellos, M. Katsis, and S. Sirmakessis

Finally, the aggregated statistics page deals with Aggregated Statistics files. Specifically a user can: ƒ ƒ

View the INTRA Aggregated Statistics Dataset simply by selecting the reference period from the list. Export the Dataset of the selected Reference period (.txt file formatted as described in DocMeth400 Rev.15) (Export Button).

6 Conclusions and Future Work In this work we presented the development and implementation of the web –based XTNET Rules Support and Transmission system for validating and transmitting trade data to Eurostat. Our intention was to extend the implemented web – oriented services not only to national users (individuals or institutes) but also to international collaborators, like Eurostat. In order to enhance the overall experience of the XTNET users (viewers, editors, administrators) we have created a set of tools to provide added value services in the data exchange process between users. The main goals of the implemented system provided by the National Statistical Service of Greece (NSSG) are to modernize and improve the Trans-European network of trade statistics providing tools for better trade data collection, processing, validation and aggregation, and for production of useful reports and publications. Additionally an audit trail is offered in order to keep history of controls and corrections to the trade data. The idea is to enhance the current system, providing direct dissemination functionalities to authorized international users (mainly Eurostat). In this case, the datasets will be tested and validated at national level and then they will be stored in the Transmission’s System Database, from which they can be downloaded by Eurostat, whenever necessary (in this way, the transmission via STADIUM will be skipped). Using the XTNET Rules Support and Transmission System, the whole statistics production and dissemination is improved because the validation checks take place at an earlier stage as it is performed by the NSI itself whereas the transmission is performed by Eurostat itself. Overall, the implemented solution provides: ƒ Web – based XTNET rules platform with validation, processing and transmission tools. ƒ Web Access to database with the proper security measures, allowing all the involving parties to see, manipulate and use the data. ƒ Better validation and correction process of records through usable web interface. ƒ Automatic creation of Validation history files that will provide a useful insight of the quality of data. ƒ Export of datasets in appropriate format for instant transmission to Eurostat. ƒ Enhancement of the current dissemination system, providing flexibility to users.

Improving Web Content Delivery in eGoverment Applications

195

ƒ Extension of web – oriented services not only to national users but also to international users. ƒ Overall improvement of data quality. Future steps include the integration of appropriate modules and extensions to perform checks for implausible combinations of variables, for missing or duplicate records, for unit values and mirror statistics. These checks demand a preparation off datasets of previous years to be imported in the data repositories (Oracle database). Furthermore, utilization of different formats (XML format) of the provided dataset could be implemented to achieve better data availability.

Appendix Format for the INTRA and EXTRA files Eurostat expects from Member States to transmit their intra-EU trade and extra-EU trade results in accordance with the format and technical specifications of the INTRA and EXTRA file, as described in the following table.1 Table 1. Format for INTRA and EXTRA file

1

Section Nr.

From byte to byte

Nr. of bytes

Format

Contents

File1

1

1-6

6

Character

Reference period

I+E

2

7-7

1

Character

Threshold indicator

I +E

3

8 - 10

3

Character

Reporting country

I+E

4

11 - 11

1

Character

Flow

I+E

5

12 - 21

10

Character

CN product or TARIC (real code *)

I+E

6

22 - 24

3

Character

Partner country (real code *)

I+E

7

25 - 27

3

Character

Other partner country

I+E

8

28 - 28

1

Character

Statistical procedure

E

9

29 - 31

3

Character

Preference

E

10

32 - 32

1

Character

Mode of transport at the frontier

I+E

11

33 - 33

1

Character

Container

E

12

34 - 36

3

Character

Nationality of the means of transport

E

13

37 - 37

1

Character

Internal mode of transport

E

14

38 - 39

2

Character

Nature of transaction

I+E

I: Intra File, E: Extra File.

196

K. Markellos, M. Katsis, and S. Sirmakessis Table 1. (continued) File1

Section Nr.

From byte to byte

Nr. of bytes

Format

Contents

15

40 - 42

3

blank

Not relevant (ex Terms of delivery)

16

43 - 43

1

Character

Confidentiality flag

I+E

17

44 - 53

10

Character

CN product (confidential code)

I+E

18

54 - 58

5

Character

SITC product code (confidential code)

I+E

19

59 - 61

3

Character

Partner country (confidential code)

I+E

20

62 - 64

3

blank

Not relevant (ex Other p. country conf. code)

21

65 - 65

1

blank

Not relevant (ex Stat. proc. confidential code)

22

66 - 66

1

Character

Value flag

23

67 - 67

1

blank

Not relevant (ex Invoiced amount flag)

24

68 - 68

1

Character

Quantity flag

I+E

25

69 - 69

1

Character

Supplementary units flag

I+E

26

70 - 83

14

Numerical

Statistical value

I+E

27

84 - 97

14

blank

Not relevant (ex Invoiced amount)

28

98 - 111

14

Numerical

Quantity expressed in net mass

I+E

29

112 - 125

14

Numerical

Quantity expressed in supplementary units

I+E

I+E

Sections and Format of the aggregated data file The transmission of the Aggregated Statistics data file should follow the format described in the following table. Table 2. Format for the Aggregated Statistics file

Section Nr.

Format

Contents

1

6 characters

Reference period

2

2 characters

Reporting country

3

1 character

Flow

4

1 character

Product code

5

4 characters

Partner area

6

Numerical

Statistical value

Improving Web Content Delivery in eGoverment Applications

197

References [1] Panagopoulou, G.: Data Quality Improvement. In: The proceedings of the CODACMOS EUROPEAN SEMINAR on The most effective ways to collect data and metadata: advanced strategies, tools and metadata systems, Bratislava (October 7-8, 2004) [2] Katsis, M., Markellos, K., Panagopoulou, G., Sirmakessis, S.: Applying Web Services to Governmental Organizations; the Case of the National Statistical Service of Greece. In: Joint UNECE (United Nations Statistical Commission and Economic Commission for Europe), Eurostat (European Communities) and OECD (Organisation for Economic Cooperation and Development, Conference of European Statisticians, European Commission, Seminar on the Management of Statistical Information Systems (MSIS), June 21-23, Sofia, Bulgaria (2006) [3] Markellos, K., Katsis, M., Panagopoulou, G., Sirmakessis, S., Tsakalidis, A.: «Using Standardized Web Services for Integrating Processes of Autonomous Actors Communicating within a Public Information System – A Case Study from Greece». International Journal of Public Information Systems (IJPIS), Prof. Bo Sundgren (Ed.), Mid Sweden University (2007) [4] National Statistical Service of Greece, Internet Server for Online Research & Surveys, Electronic System for Online Intrastat Declarations [5] http://eurostat.statistics.gr/intrastat/default.en.aspx [6] European Commission - Eurost, http://ec.europa.eu/eurostat [7] XTNET Rules Support System NATIONAL Harmonisation and Improvement of External Trade Statistical Production Controls, http://www.statistics.gr/xtnetWebTool/

Improving Text-Dependent Speaker Recognition Performance Donato Impedovo and Mario Refice Dipartimento di Elettrotecnica ed Elettronica - Politecnico di Bari, via Orabona 4, 70123 Bari, Italy [email protected], [email protected]

Abstract. In this paper we investigated the role of the frame length on the computation of MFCC acoustic parameters in a text-dependent speaker recognition system. Since the vocal characteristics of subjects may vary along the time, the related information conveyed by the MFCCs usually cause a significant degradation on recognition performance. In our experiment we tested the use of different frame lengths for the features extraction in the training and the recognition phases for a set of speakers whose speech productions spanned over 3 months. Results show that a suitable choice of the frame lengths combination for training and testing phases can improve the recognition performance reducing the false rejection rate. An expert system driven to look for the best combination of frame lengths in order to obtain the maximum performance level of the HHM engine may help in decreasing the amount of false rejections.

1 Introduction In everyday life, it is a common experience for people to be able to identify speakers by their voices, and even “distinguishing between voices they have heard only one or two times” [23]. In speech technology, many attemps have been made aiming at modelling such human ability for a number of applications, such as in security access control systems, or in specific investigation fields like computational forensics. Such a task is particularly challanging because, differently from fingerprints or DNA sequence, a person’s voice can change strongly, depending on several factors like state of health, emotional state, familiarity with interlocutors [23], and also along the time. In voice identification, several linguistic-phonetic parameters have been investigated and proposed as representatives of the individual vocal tract characteristics. Average fundamental frequency, formants frequency values at some specific points, intonation patterns are, among others, the most popular features for which a certain degree of reliability have been experimentally demonstrated. In speech technology applications, the Mel Frequency Cepstrum Coefficients (MFCC) are widely recognised to be a good set of acoustic parameters as they encode vocal tract nad some source information, even though a reduced set of phonetic features has also been demonstrated to be effective in text independent speaker identification perfomance [24]. C. Koutsojannis and S. Sirmakessis (Eds.): Tools & Appl. with Artificial Intel., SCI 166, pp. 199–211. © Springer-Verlag Berlin Heidelberg 2009 springerlink.com

200

D. Impedovo and M. Refice

In this paper we report on the influence of the frame length on the computation of MFCC in a text-dependent speaker recognition system. Findings of this study constitute an additional component of an expert system we are developing aiming at identifying a person in a control security access application. Other components of such expert system will deal with the computation of several different parameters, like the ones mentioned above, where the final decision will be depending on the hypotheses formulated by all the system components.

2 Speaker Verification Process In our work we deal specifically with speaker verification aspects, here defined as the process of deciding if a speaker is who s/he claims to be. Nowadays text-dependent applications are the ones with the highest performances and can be applied successfully in real situations. In these kind of systems, the speaker is recognized through an uttered phrase known by the system, for example a password. This procedure implies at least a double security level: the first consists in the secrecy of the chosen password while the second is represented by the vocal characteristics of the speaker. From a general point of view, the process of speaker verification consists in a decision derived by a comparison between the features extracted by a recognition engine and those stored in a database, as schematised in Figure 1. The state of the art for the recognition engine is based on statistical classifiers such as Hidden Markov Models (HMM) [5] or Gaussian Mixture Models (GMM)

Fig. 1. Overall model of a speaker verification system

Improving Text-Dependent Speaker Recognition Performance

201

[4]. These systems work in two phases: enrolment and recognition. During the training (enrolment) phase, the system learns the generative models for each user, while during the recognition phase the unknown input is classified according to the known models, or possibly rejected. As it can be observed in Figure 1, the first macro-step both for the training and the recognition phases is the Features Extraction from the speech input files. Features Extraction is the process through which a reduced set of parameters is derived from the input speech in order to characterize and represent it. As already mentioned, spectral based features, like Mel Frequency Cepstral Coefficients (MFCCs) and their derivatives are widely used and accepted as the basic features able to give a suitable representation of the vocal tract [1], [2], [3]. The process for extracting MFCCs from the input speech emulates the way human ears capture and process sounds with different accuracy levels over different frequency bandwiths. Unfortunately, since the vocal tract characteristics tend to vary along the time, whereas the identification process is based on models trained on features extracted during the enrolment phase, the performance of the recognition process results in a significant degradation. A reason of this degrad ation may be due to what is called “pitch-mismatch” [6], i.e. the change of the pitch cycle along the time, even though both the speaker and the spoken utterances remain the same. In this paper we refer to a system we are developing, where the password used by the speaker for verification simply consists in his/her name+surname. In order to cope with the above mentioned problem of performance degradation, we carried out a set of tests by varying the frame length of speech analysis window. Tests have been carried out by observing verification performances on single speakers who have been asked to perform different authentication session over a period of three months. In order to cope with the huge amount of data, and with the needed flexibility of the system in dealing with the experimental adjustment of the varying analysis windows, a fast prototyping system has been used (see section 2.2 for details). As for the testing process, an HMM recognizer has been used which has been developed in our lab [7], [8].

3 The Speaker Recognition System As mentioned before, our system consists of two components, the first checking the validity of the uttered password, and the second verifying the identity of the speaker. 3.1 The Speech Recognition Engine The utterance recognition component uses a set of speaker independent models in order to recognize the pronounced password (name+surname). The model is based on a very simple grammar with few syntactic rules for the dynamic concatenation of the basic units. At the end of the process, the recognition hypothesis is parsed by using the knowledge of the known and allowed identities. The output

202

D. Impedovo and M. Refice

of the system is a variable that contains the transcription of the identity present in the database or, if the utteraance has been judged as not belonging to the defined sets, a rejection message is provided. The complete description of the utterance recognition system is beyond the aims of this paper and will not be illustrated in more details here. 3.2 The Speaker Verification Engine The speaker verification engine is here described according to its main components: the features extraction for the speech signal and the recognition engine. 3.2.1 Features Extraction MFCCs are obtained from the power spectrum of the speech signal. Since speech is a non stationary signal, in order to perform the Discrete Fourier Transform (DFT) a short time analysis must be performd. Figure 2 shows the framing process. In speaker verification applications, this step is usually performed using 20÷30ms frames and a fixed shift of 10÷15ms, with the assumption that the signal is quasi-stationary within a frame interval.

Fig. 2. Framing process

The DFT is computed of each time window for the discrete time signal x(n) with length N, given by: N −1

X(k) =

∑ w( n) x (n) exp(− j 2

kn / N )

(1)

n =0

for k = 0,1,…,N-1, where k corresponds to the frequency f(k) = kfs/N, fs is the sampling frequency in Hertz and w(n) is the Hamming time window given by w(n)=0.54-0.46cos(pn/N). The magnitude spectrum |X(k)| is then scaled in frequency and magnitude. The frequency is scaled using the Mel filter bank H(k,m) and then the logarithm is considered:

⎛ N −1



∑| X (k ) | ⋅H ( k , m) ⎟⎠ ⎝

X'(m) = ln⎜

(2)

k =0

for m = 1, 2,…., M, with M the number of filter banks and M f c (m + 1)

203

(3)

and the center frequencies of the filter banks are spaced logarithmically on the frequency axis. Finally the MFCCs are obtained by computing the Discrete Cosine Transform (DCT) of X'(m): M ⎛ c(i) = ∑ X'(m) cos⎜⎜ i m =1 ⎝ M

1⎞⎞ ⎛ ⎜ m − ⎟ ⎟⎟ 2⎠⎠ ⎝

(4)

for i = 1, 2, ..., M, and c(i) is the ith MFCC. The mel warping process transforms the frequency scale in order to place less emphasis on high frequencies, as it is based on the nonlinear human perception of sounds. Unfortunately, the alignment between the position of the frame under analysis and the stationary part of the signal is not guaranteed by any algorithm. As a consequence, artefacts are introduced in the power spectrum and in the information related to the fundamental frequency (pitch) conveyed by the MFCC. It has been observed that for high pitched speakers and for those characterised by average pitch variations between enrolment and testing phases (“pitch mismatch”), the fine spectral structure related to the pitch causes degradation on speaker recogn ition performance [9], [10]. In the last years, different approaches have been proposed, which are largely based on pitch synchronous methods by windowing the cepstrum coefficients after their evaluation [11], or on the attempt of calculating features less sensitive to pitch changes yet capable of retaining good discriminative properties [12], or aligning each individual frame to its natural cycle [13], [6]. In this work, an approach that uses different frame lengths is investigated. Recognition performances have been computed by using different frame lengths to extract features from the speech signal in the training and in the recognition phases. The use of frames having different sizes between the two different phases has been already demonstrated to cope with the pitch mismatch, reducing false rejections for the subset of the high pitched speakers [14]. The frame lengths here considered are 22, 25, 28 and 31ms: they are values that equally divide the range of the most used lengths, while the fixed size of 10ms has been adopted for the shift in the framing process. 3.2.2 The Recognition Engine The system is based on HMMs with continuous observation densities. In textindependent applications, GMMs are generally adopted [4] even though recently

204

D. Impedovo and M. Refice

discriminative approach have been proposed [20]. A GMM can be considered as a special case of continuous observation densities HMM, where the number of states is one. A continuous HMM is able to keep information and to model not only the sound, bur even the articulation and the temporal sequencing of the speech. However, in text independent speaker recognition tasks, the sequencing of sound in the training data does not necessarily represent the sound sequences of the testing data, so the state transition probabilities have a little influence, while in text-dependent application they play a fundamental role. The Hidden Markov Models considered in all our experiments adopt a left-to-right no skip topology: a transition may only occur from one state to the immediate following or to the same state. For each state, the Gaussian observation probability-density function (pdf) is used to statistically characterize the observed speech feature vectors. An HMM ? can be characterized by a triple of state transition probabilities A, observation densities B, and initial state probabilities ? through the following notation:

= {A, B, Π} = {a i , j , b i ,

i

},

i, j=1,…, N

(5)

where N is the total number of states in the model, ai,j is the transition probability from the state i to j. Given an observation sequence (features vectors) O={ot} with t=1,…,T, the continuous observation probability density for the state j is characterized as a mixture of Gaussian probabilities: M

b j (ot ) = Pr(ot | j ) = ∑ c jm P (ot ; µ jm , R jm ),

(6)

m =1

with

⎧1 ⎫ P(o t ; µ jm , Rjm) = (2π ) −d / 2 | R jm | −1 / 2 exp ⎨ (o t − µ jm )T R −jm1 (ot − µ jm )⎬ (7) ⎩2 ⎭ where M is the total number of the Gaussian components in the mixture, µjm and Rjm are the d-dimentional mean vector and covariance matrix of the mth component at state j, finally cjm are the mixture weights and satisfy the constraint



M m =1

c jm = 1.

The mentioned model parameters have been estimated by the Baum-Welch iterative methods (also known as the expectation-maximization EM) in order to maximize Fr(O|?) [21, 22]. The verification phase is based on the Viterbi algorithm: given an unknown input, it evaluates the highest probability for that input to be generated by a ? model. In this phase, the output of the speech recognition system is used for a first valid ation of the result given by the Viterbi algorithm. If the recognized utterance corresponds to the identity verified by the speaker verifier, then the output is accepted, otherwise it is rejected. This allows the rejection of all unknown (i.e. not included in the database) utterances from the inset and non-inset speakers.

Improving Text-Dependent Speaker Recognition Performance

205

4 Experimental Results 4.1 Experiment Setup The experiments have been carried out on a corpus specifically collected which currently includes 34 speakers (16 female and 19 male) aged between 20 and 50 (we are still in the process of improving the size of this corpus). Each of them repeated his/her name and surname in 4 or 5 recording sessions during a time span of 3 months. The time between sessions, and the number of recordings in each session is variable across speakers, making speech data much closer to real situations. In all the recordings sessions, a typical PC sound card has been used in an office environment with 22.050 Hz sampling rate, 16-bit quantization level and single channel. A filter bank of 24 Mel filters has been used on each frame to extract 19 MFCC coefficients, their time derivatives (known as ? cepstra and used to model trajectory information) and two energy values [15], [16], [17], [18], [19]; this makes a total of 30 parameters per vector. These parameters remain the same while the extracted features vectors differ by varying the frame length within the values 22, 25, 28 and 31 msec. No score normalisation has been applied. Table 1 summarizes the parameters adopted to extract features from the speech signal.. Table 1. Features parameterization details

Parameters

MFCCs + Energy + ?MFCCs + ? Energy

Frame lengths(ms)

22, 25, 28, 31

Frame shift (ms)

10

No. frames for ? calculation

5

No.of vector elements per frame

(19+1)*2=30

No. of Mel filters

24

For each speaker in the corpus, four HMMs have been trained (one per frame length) using recordings of the first session (between 25 and 40 seconds of training data per speaker), and tested on the remaining recordings of the following sessions. Each model has 8 states and 3 Gaussian mixtures per state (this has been determined experimentally). The relative little amount of training data simulates real applications where an exhaustive training session cannot be imposed on the subjects. 4.2 Recognition Performances The results here presented refer to 5 male and 3 female speakers who have been selected as the most representative of the corpus. The first test refers to

206

D. Impedovo and M. Refice

speech productions recognized with the same frame length as that used during the training phase; the corresponding models (baseline models) are referred to as M-22, M-25, M-28 and M-31 in the Table 2, where the Error Rate is reported for speakers grouped by gender. Table 2. Error rate for males and females using the four baseline models

Model

Males ERR (%)

Females ERR(%)

M-22

6.40

13.52

M-25

3.94

8.50

M-28

1.51

7.05

M-31

3.03

7.96

As expected, females show a consistent greater Error Rates due to their high pitch characteristics. It can also be observed that in this case a 28 msec model appears to be the best baseline model for both the groups, even though a substantial gap exists between the two related performances. Table 3. Performance using the same frame length for training and recognition over the T set

Spkr.

22ms ER (%)

25ms

28ms

ER (%) ER (%)

31ms ER (%)

TSP-1

3.34

3.34

3.34

3.34

TSP-2

5.00

5.00

5.00

5.00

TSP-3

66.67

60.00

33.34

48.34

TSP-4

20.00

15.00

10.00

8.34

Table 4. Performances using the same frame length for training and recognition over the N set

22ms

25ms

ER (%)

ER (%)

NSP-1

1.67

1.67

1.67

1.67

NSP-2

1.67

1.67

1.67

1.67

NSP-3

3.34

3.34

1.67

1.67

NSP-4

1.67

1.67

1.67

3.34

Spkr.

28ms

31ms

ER (%) ER (%)

Improving Text-Dependent Speaker Recognition Performance

207

A breakdown of the recognition results for each speaker is shown in Table 3. and Table 4., where speakers have been divided into two groups, named T and N respectively, according to their recognition performance, for the same mentioned models. A closer inspection reveals that the N set consists of only males while the T set includes 3 females and 1 male. A further analysis shows that the male in the T set is characterized by a high pitch variation between the enrolment and the testing phase, so confirming the already mentioned expections. Table 5. Performance using 22ms input on the 4 models for the TS set

Spkr

E R (%)

E R (%)

E R (%)

E R (%)

M- 22

M- 25

M- 28

M- 31

TSP-1

3,34

3,34

3,34

3,34

TSP-2

5,00

6,67

16,67

31,67

TSP-3

66,67

63,34

1,67

6,67

TSP-4

20,00

16,67

10,00

43,34

Table 6. Performance using 22ms input on the 4 models for the NS set

Spkr

ER (%)

ER (%)

ER (%)

ER (%)

M- 22

M- 25

M- 28

M- 31

NSP-1

1,67

3,34

3,34

1,67

NSP-2

1,67

1,67

1,67

1,67

NSP-3

3,34

3,34

1,67

1,67

NSP-4

1,67

3,34

3,34

1,67

Table 7. Performance using 25ms input on the 4 models for the TS set

Spkr

ER (%)

ER (%)

ER (%)

ER (%)

M- 22

M- 25

M- 28

M- 31

TSP-1

25,00

3,34

1,67

3,34

TSP-2

48,34

5,00

1,67

45,00

TSP-3

71,67

60,00

18,34

3,34

TSP-4

58,34

15,00

10,00

1,67

208

D. Impedovo and M. Refice Table 8. Performance using 25ms input on the 4 models for the NS set

Spkr

ER (%)

ER (%)

ER (%)

ER (%)

M- 22

M- 25

M- 28

M- 31

NSP-1

6,67

1,67

1,67

3,34

NSP-2

5,00

1,67

1,67

3,34

NSP-3

10,00

3,34

1,67

1,67

NSP-4

15,00

1,67

1,67

3,34

Table 9. Performance using 28ms input on the 4 models for the TS set

Spkr

ER (%)

ER (%)

ER (%)

ER (%)

M- 22

M- 25

M- 28

M- 31

TSP-1

26,67

3,34

3,34

3,34

TSP-2

18,34

13,34

5,00

1,67

TSP-3

26,67

21,67

33,34

33,34

TSP-4

25,00

15,00

10,00

1,67

Table 10. Performance using 28ms input on the 4 models for the NS set

Spkr

ER (%)

ER (%)

ER (%)

ER (%)

M- 22

M- 25

M- 28

M- 31

NSP-1

28,34

1,67

1,67

1,67

NSP-2

13,34

1,67

1,67

1,67

NSP-3

20,00

1,67

1,67

1,67

NSP-4

13,34

1,67

1,67

3,34

As it can be also noted, the frame length of 28 msec does not satisfy any more the previous findings of the best frame length for all the speakers (shown in Table 1): while speakers TSP-1 and TSP-2 show the same performances under the different configurations, TSP-3 achieves the best performance using 28 ms frames while TSP-4 does the same by using 31ms frames. Based on these results, we further analysed the corpus by varying the frame length in the enrolment and recognition phases for all the combinations of the selected values and for all speakers, with the aim of determining pairs of values which might result as the optima for each individual speaker. Results of the recognition performances for all the mentioned possible combinations of the enrolment and testing frames lengths are shown in Tables 5-12.

Improving Text-Dependent Speaker Recognition Performance

209

Table 11. Performance using 31ms input on the 4 models for the TS set

Spkr

ER (%)

ER (%)

ER (%)

ER (%)

M- 22

M- 25

M- 28

M- 31

TSP-1

25,00

3,34

3,34

3,34

TSP-2

80,00

65,00

8,34

5,00

TSP-3

65,00

5,00

16,67

48,34

TSP-4

48,34

13,34

8,34

8,34

Table 12. Performance using 31ms input on the 4 models for the NS set

Spkr

ER (%)

ER (%)

ER (%)

ER (%)

M- 22

M- 25

M- 28

M- 31

NSP-1

58,34

28,34

1,67

1,67

NSP-2

30,83

1,67

1,67

1,67

NSP-3

21,67

1,67

1,67

1,67

NSP-4

30,00

1,67

3,34

3,34

As it can be noted, for the N set values obtained with 28ms frames in the classic approach (i.e. same frame length for enrolment and recognition), recognition rate is never outperformed by any other combination, even though the same ER values have been obtained using different frames lengths. A different behaviour is observed for the T set, where the optimal pair of values for training and recognition are practically speaker-dependent, as summarized in Table 13. Table 13. Best frame length combinations for T set of speakers

Spkr.

Training

Recognition

TSP-1

28

25

28

25

31

28

28

22

31

25

31

28

TSP-2 TSP-3 TSP-4

210

D. Impedovo and M. Refice

5 Conclusion In this paper we investigated the influence of frame length variation in the computation of MFCC acoustic parameters in a text-dependent speaker verification system, aiming at ascertaining whether such information can be used to cope with the degradation of speaker recognition performance along the time. The obtained results suggest that, at least for a set of speakers, frame length variation indeed plays a role in the recognition performance by an HMM engine. In particular, our preliminary results show that the best combination of frame length values for training and recognition phases are speakerdependent, even in a text-dependent application. Degradation of recognition performance along the time may lead to a false rejection due to the threshold mechanism on which the decision is based. An expert system driven to look for the best combination of frame lengths in order to obtain the maximum performance level of the HHM engine may help in decreasing the amount of false rejections. In order to confirm the reported preliminary investigations, further analyses are needed, notably those concerning the aspects of false rejections. Future work will therefore include analysis of impostors’ recordings already collected in our database.

References [1] Doddington, G.R.: Speaker Recognition-Identifying People by their Voices. Proceedings of IEEE 73(11), 1651–1664 (1985) [2] Mammone, R.J., Zhang, X., Ramachandran, R.P.: Robust Speaker Recognition, A Feature- based Approach. IEEE Signal Processing Magazine, 58–71 (1996) [3] Furui, S.: Digital Speech Frocessing, Synthesis, and Recognition. Marcel Dekker, New York (1989) [4] Reynolds, D.A., Quatieri, T.F., Dunn, R.B.: Speaker verification using adapted Gaussian mixture models. Digital Signal Processing 10, 19–41 (2000) [5] Rabiner, L.R., Juang, B.H.: An Introduction to Hidden Markov Models. IEEE ASSF Magazine 3(1), 4–16 (1986) [6] Zilca, R.D., Kingsbury, B., Ramaswamy, G.N.: Pseudo Pitch Synchronous Analysis of Speech With Applications to Speaker Recognition. IEEE Transactions on Audio, Speech, and Language Processing 14(2) (2006) [7] Impedovo, D., Refice, M.: Modular Engineering Prototyping Plan for Speech Recognition in a Visual Object Oriented Environment. Information Science and Applications 2(12), 2228–2234 (2005) [8] Impedovo, D., Refice, M.: A Fast Prototyping System for Speech Recognition based on a Visual Object Oriented Environment. In: Proceedings of 5th ISCGAV (2005) [9] Quatieri, T.F., Dunn, R.B., Reynolds, D.A.: On the influence of Rate, Pitch, and Spectrum on Automatic Speaker Recognition Performance. In: Proceedings of ICSLP 2000 (2000) [10] Kim, S., Eriksson, T., Kang, H.G., Youn, D.H.: A pitch synchronous feature extraction method for speaker recognition. In: Proceedings of ICASSP 2004, pp. II-405 – II-408 (2004) [11] Sae-Tang, S., Tanprasert, C.: Feature Windowing-Based for Thai Text-Dependent Speaker Identification Using MLP with Backpropagation Algorithm. In: Proceedings of ISCAS 2000 (2000)

Improving Text-Dependent Speaker Recognition Performance

211

[12] Liu, J., Zheng, T.F., Wu, W.: P itch Mean Based Frequency Warping. In: Proceedings of ISCSLP 2006, pp. 87–94 (2006) [13] Zilca, R.D., Navratil, J., Ramaswamy, G.N.: Depitch and the role of fundamental frequency in speaker recognition. In: Proceedings of ICASSP 2003, pp. II-81 – II-84 (2003) [14] Impedovo, D., Refice, M.: The Influence of Frame Length on Speaker Identification Performance. In: Proceedings of IAS 2007, Manchester (2007) [15] Young, S.J.: HTK, Hidden Markov model toolkit V1.4, Technical report. Cambridge University, Speech Group [16] Rabiner, L.R., Schafer, R.: Digital Frocessing of Speech Signals, ISBN: 0132136031 [17] Parsons, T.: Voice and Speech Frocessing. McGraw-Hill, New York (1987) [18] Hoppenheim, A.V., Schafer, R.W.: Homomorphic Analysis of Speech. IEEE Transaction On Audio and Electroacustics, vol. AU-16(2), pp. 221–226 [19] Deller, J., Hansen, J., Proakis, J.: Discrete-Time Frocessing of Speech Signals. IEEE Press Classic Reissue (1999) ISBN: 0780353862 [20] Wan, V., Renals, S.: Speaker Verification Using Sequence Discriminant Support Vector Machines. IEEE Transaction on Speech and Audio Processing 13(2) (March 2005) [21] Baum, L., Petrie, T., Soules, G., Weiss, N.: A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chains. Ann. Math. Stat. 14, 164– 171 (1970) [22] Dempster, A.P., Laird, N.M., Rubin, D.B.: Maximum likelihood from incomplete data via the EM algorithm. J. Royal Statistical Society 39(1), 1–38 (1977) [23] Nolan, F.: Dynamic Variability in Speech (DyViS). A forensic phonetic study on British English, http://www.ling.cam.ac.uk/dyvis/ [24] Espy-Wilson, C.Y., Manocha, S., Vishnubhotla, S.: A new set of features for textindependent speaker ide ntification. In: Proceedings of ICSLP 2006, pp. 1475–1478 (2006)

Author Index

Alexakos, Christos E. 149 Arshad, Mohd Rizal 1

Likothanassis, Spiridon D.

Becker, Eric 11 Beligiannis, Grigorios N. 105, 149 Bouabdallah, Salma Bouslama 135 Chen, Austin H. 89 Chen, Guan Ting 89 Dosi, Christina Ford, James 11 Fotakis, Dimitrios Gorji, Aliakbar

Refice, Mario

51

Hatzilygeroudis, Ioannis Henz, Martin 25

Jinno, Hirokazu

Papadourakis, George

105

Impedovo, Donato

Makedon, Fillia S. 11 Markellos, Kostas 181 Mat Sakim, Harsa Amylia 1 Menhaj, Mohammad Bagher 51 Moschopoulos, Charalampos N. 105, 149 Mourtos, Ioannis 69 Ogawa, Masayuki 121 Othman, Nor Hayati 1

149

37

199

Saddam, Ramla 135 Sakalauskas, Virgilijus 77 Salleh, Nuryanti Mohd 1 Sato, Tatsuo 121 Shiry, Saeed 51 Sirmakessis, Spiros 181

163

199 121

Karatzas, Kostas D. 37 Katsis, Marios 181 Koupparis, Andrew 163 Koutsojannis, Constantinos Kriksciuniene, Dalia 77 Kyriakidis, Ioannis 37

105, 149

Tagina, Moncef 135 Truong, Hoang-Minh 25 Tsiatsis, Panagiotis 105 Tsunoyama, Masahiro 121 163 Xanthopoulos, Spyros Xu, Yurong 11

69